@kinoz

Что выбрать для хранения диалогов чате: реляционные, объектно-ориентированные или документо-ориентированные бд?

Хочу сделать централизованное хранилище моей im переписки.
У меня достаточно много учётный записей в социальных сетях, и искать тот или иной диалог,это долго и сложно, поэтому я решил написать свой велосипед.
Встал вопрос какую архитектуру использовать, главная задача это поиск.
  • Вопрос задан
  • 2739 просмотров
Решения вопроса 1
dmitry-polushkin
@dmitry-polushkin
Инженер программного обеспечения
Лучше выбрать документо-ориентированную БД, например RethinkDB или MongoDB. Первая мне больше нравится, хотя бы потому, что у них развитие идёт гораздо быстрее, пусть и с маркетингом пока не заладилось.

Одни из самых главных возможностей в RethinkDB:

- репликация в один клик
- возможность наблюдать за изменениями в таблицах (rethinkdb.com/api/ruby/#changes)
- лёгкий API
- лёгкость администрирования

Реляционные для чата - ну мы вроде не в 90х живём... Объектно-ориентированные - а для чего это требуется? Document oriented database как раз и создавались главным образом для хранения логов. А сообщение в чате это ничто иное как лог и есть.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@naneri
PHP разработчик.
Именно для поиска есть индекс Lucene и Solr и т.д.
Для хорошей скорости лучше использовать их в дополнение к NoSQL бд, потому что данных чата очень много, а внутри чата реляционных данных мало.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы