Размещение всех таблиц в одной базе данных - хорошо или плохо - PullRequest
2 голосов
/ 29 июня 2011

Два сценария:

Большое приложение - одна база данных со всеми таблицами

или

Большое приложение - несколько баз данных с соответствующими таблицами

Кто-нибудь может перечислить преимущества / недостатки?

1 Ответ

5 голосов
/ 29 июня 2011

Если у вас нет особых причин, храните все в одной базе данных.Я не могу думать об одном преимуществе разделения одной схемы на несколько БД.

Одна база данных создает одну единицу восстановления, что обеспечивает согласованное резервное копирование.Он также представляет одну единицу отработки отказа для высокой доступности.С несколькими базами данных невозможно создать непротиворечивую резервную копию, если она не замораживает активность (часто это невозможно).также несколько баз данных создают проблемы при организации аварийного переключения «группы» в случае сбоя (некоторые БД могут переключаться на новый сервер, а другие могут остаться).

Несколько баз данных предлагают преимущества в мультитенантных моделях, где у каждого арендатора может быть своя собственная база данных, особенно если арендаторы могут выбрать или отказаться от обновления версии (это невозможно при использовании одной БД).Но это сценарий, когда многие базы данных имеют одну и ту же схему (одни и те же таблицы в каждой базе данных), а не разбивают схему на несколько БД.

Масштабирование путем разделения данных (разбиения) может быть достигнуто только при наличии нескольких баз данных., но это не та тема, которая разделяет базу данных на «части» (каждая БД со своей схемой).Осколки имеют идентичную схему, но содержат данные для определенных диапазонов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...