yarkov
@yarkov
Помог ответ? Отметь решением.

Чат на Node.js. Какую БД использовать?

Изучаю ноду. Восхитительный инструмент! И вот решил в целях самообразования сделать чат )) Не угорайте, его пишут все программисты )) Примерный функционал:
1. Регистрация, авторизация пользователей.
2. Общий чат, создание комнат, приватный чат.
3. Конечно роли: юзер, модератор и администратор.
4. Отдельная админпанель чата со статистикой.
5. Ну и всякие плюшки.

Хочется еще хранить историю сообщений, хотя бы последние 500 сообщений. И возник резонный вопрос: какую БД использовать? Писал на PHP и кроме MySQL ни с чем не работал. Сейчас установил Mongo на комп, ковыряюсь, читаю маны. Удобно, но мне кажется, не совсем она подходит для этого. Собственно смущает только как она справится с объемом данных. Она же хранит все в JSON? Так? Вот и прошу совета. Есть ли удобный инструмент для Node.js, чтобы работать с MySQL?

Всем спасибо.
  • Вопрос задан
  • 1553 просмотра
Решения вопроса 1
@kazmiruk
Собственно смущает только как она справится с объемом данных.

И вот решил в целях самообразования сделать чат


Что-то Вы темните )
А по сабжу - в целях самообразования возьмите монгу. Узнаете что это такое и как это работает. Для поставленной задачи она вполне подходит (как и все остальные СУБД, в принципе)
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
VladimirAndreev
@VladimirAndreev
php web dev
Ну, монга вряд ли тут в кассу будет, тут cassandra или другая какая коллекционная бд подойдет, в чате же не будет произвольных json документов...
Ответ написан
Комментировать
bingo347
@bingo347 Куратор тега Node.js
Crazy on performance...
Если есть желание сразу привыкать к хорошему, я бы порекомендовал попробовать реализовать чат в кластере из нескольких процессов ноды.
Как фронт базу использовать redis как бэк база - монго - она лучше всего подходит для несвязанных данных (когда данные 1 запроса с клиента можно разместить в 1 документе монги), реляционки лучше себя показывают на сложных связях, которых у несложного чата нет.
Насчет редиса - смотрим publish/subscribe - для новых сообщений - по subscribe анные рассылаются ругим юзерам в комнате и дампятся в бэк базу
так же смотрим выборку по множеству ключей - для комнат
Ответ написан
Ваш ответ на вопрос

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

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