aryeh
@aryeh
Молод (душой) и приятен в общении :-)

Какую базу данных выбрать для сервера на Node.js?

К уже существующему серверу (написан на Node.js+Express.js) необходимо добавить новый фичер: база данных.
  1. Доступ к DB Read Only. Т.е. после сдачи сервера в эксплуатацию DB не меняется.
  2. Каждая запись содержит около 200 байт бинарных данных.
  3. Поиск нужной записи по одному ID.
  4. В DB от одного до двух миллионов записей.
  5. Скорость доступа очень важна!


Так какую DB порекомендуете?
  • Вопрос задан
  • 1048 просмотров
Решения вопроса 1
rozhnev
@rozhnev
Fullstack programmer, DBA, медленно, дорого
Redis - это хранилище структур данных в памяти с открытым исходным кодом (лицензия BSD), используемое в качестве базы данных
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Melkij
@Melkij
PostgreSQL DBA
Доступ к DB Read Only. Т.е. после сдачи сервера в эксплуатацию DB не меняется.

Поиск нужной записи по одному ID.

При старте приложения загрузить в память приложения хоть из рядового csv или чего угодно ещё.
При этих ограничениях задачи внешняя БД избыточна.
Ответ написан
SQLite.

Почему?
Можно держать всю БД хоть на диске в одном файле, хоть в памяти (in-memory).
Вместо своего велосипеда написать SQL запрос или составить его с query builder/ORM и получить ответ.
Для скорости - выставить нужные индексы на таблицу.
CSV - несколько хардкорное решение, несмотря на советы от некоторых. Если понадобится изменить какие-то данные/структуру в будущем, то придется сменять файл целиком. А так достаточно может изменить таблицу одним запросом.
В отличие от Redis, можно держать данные также и на диске, при необходимости.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы