A
A
Alexey Yarkov2015-12-27 21:21:48
MySQL
Alexey Yarkov, 2015-12-27 21:21:48

Chat on Node.js. What DB to use?

I study node. Amazing tool! And so I decided to make a chat for the purpose of self-education)) Do not worry, all programmers write it)) Approximate functionality:
1. Registration, user authorization.
2. General chat, create rooms, private chat.
3. Of course roles: user, moderator and administrator.
4. Separate chat admin panel with statistics.
5. Well, all sorts of goodies.
Хочется еще хранить историю сообщений, хотя бы последние 500 сообщений. И возник резонный вопрос: какую БД использовать? Писал на PHP и кроме MySQL ни с чем не работал. Сейчас установил Mongo на комп, ковыряюсь, читаю маны. Удобно, но мне кажется, не совсем она подходит для этого. Собственно смущает только как она справится с объемом данных. Она же хранит все в JSON? Так? Вот и прошу совета. Есть ли удобный инструмент для Node.js, чтобы работать с MySQL?
Всем спасибо.

Answer the question

In order to leave comments, you need to log in

3 answer(s)
K
kazmiruk, 2015-12-27
@yarkov

Собственно смущает только как она справится с объемом данных.

Что-то Вы темните )
А по сабжу - в целях самообразования возьмите монгу. Узнаете что это такое и как это работает. Для поставленной задачи она вполне подходит (как и все остальные СУБД, в принципе)

Андрей, 2015-12-27
@VladimirAndreev

Ну, монга вряд ли тут в кассу будет, тут cassandra или другая какая коллекционная бд подойдет, в чате же не будет произвольных json документов...

Дмитрий Беляев, 2015-12-28
@bingo347 Куратор тега Node.js

Если есть желание сразу привыкать к хорошему, я бы порекомендовал попробовать реализовать чат в кластере из нескольких процессов ноды.
Как фронт базу использовать redis как бэк база - монго - она лучше всего подходит для несвязанных данных (когда данные 1 запроса с клиента можно разместить в 1 документе монги), реляционки лучше себя показывают на сложных связях, которых у несложного чата нет.
Насчет редиса - смотрим publish/subscribe - для новых сообщений - по subscribe анные рассылаются ругим юзерам в комнате и дампятся в бэк базу
так же смотрим выборку по множеству ключей - для комнат

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question