@Antigo_ptz

Одна или несколько баз данных?

Вопрос таков:
Планируется проект с большим количеством данных, субд PostgreSQL.
В БД планируется хранить данных о пользователях, большое количество справочников, которые привязаны к данным пользователям и многое другое. В таблицах будут храниться миллионы и десятки миллионов записей. Как лучше поступить, все сущности хранить в одной БД или создать несколько БД и хранить разные сущности в разных БД? Если хранить данные в разных БД, то возникает проблема связи этих данных, т.к. записи таблиц разных БД не могут быть связаны ключами. Если хранить все в одной БД, то могут быть проблемы с производительностью. Прошу поделиться мыслями.
  • Вопрос задан
  • 5853 просмотра
Решения вопроса 1
orlov0562
@orlov0562
I'm cool!
Моё мнение, хранить все в 1ой базе, т.к. данные связанные. 100 млн записей - это не много, особенно если бд грамотно спроектирована, есть нужные ключи и все такое. Разносить будет смысл, только когда упретесь в производительность железок и не будет другой возможности убрать проблемы производительности, кроме как разделить бд на разные сервера, но до таких проблем еще надо постараться добраться.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
opium
@opium
Просто люблю качественно работать
в одной бд, смысл в несколько то пихать, все равно таблицы разные и разницы что таблицы в одной бд или в нескольких для самого постгреса нет
Ответ написан
Комментировать
@murlogen
Если у тебя несколько БД на одном сервере - у тебя все равно будут проблемы по производительности диска. Баз-то несколько, а дисковая подсистема (и процессор и шина доступа к оперативке) - тот же самый.
Если у тебя несколько БД на разных серверах - то добавляются задержки сети.

Я бы пересмотрел архитектуру приложения (если это еще возможно). Часть бы положил в узкоспециализированную БД типа Tarantool. https://habrahabr.ru/company/oleg-bunin/blog/310690/

П.С.:
Десятки миллионов записей для современной СУБД - это ерунда.
У меня миллиарды крутяться на одном единственном сервере на PostgresSQL - полет нормальный.
Конфигурация PostgreSQL оптимизирована (задано эффктивное использование оперативной памяти)
Ответ написан
Комментировать
sim3x
@sim3x
10^9 - не проблема

Можешь разделить БД, если между частями нет связей FK, M2M, O2O

Преждевременная оптимизация
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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