@Antigo_ptz

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

Вопрос таков:
Планируется проект с большим количеством данных, субд PostgreSQL.
В БД планируется хранить данных о пользователях, большое количество справочников, которые привязаны к данным пользователям и многое другое. В таблицах будут храниться миллионы и десятки миллионов записей. Как лучше поступить, все сущности хранить в одной БД или создать несколько БД и хранить разные сущности в разных БД? Если хранить данные в разных БД, то возникает проблема связи этих данных, т.к. записи таблиц разных БД не могут быть связаны ключами. Если хранить все в одной БД, то могут быть проблемы с производительностью. Прошу поделиться мыслями.
  • Вопрос задан
  • 5385 просмотров
Решения вопроса 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

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

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

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