В мультитенант или не в Мультитенантность

Мне нужно принять трудное решение по проектированию базы данных, касающееся мультитенантности для растущего числа филиалов веб-системы CRM моего клиента, которую я активно поддерживаю.

Я принял решение на раннем этапе использовать отдельные приложения с отдельными базами данных для каждой ветви, потому что это был самый простой способ обслуживать три разные ветви с разными требованиями к данным и коду.

  • Легче дифференцировать требования к ветвям с отдельными БД
  • Модульное развертывание (одна отключенная ветка не сломает все)
  • Труднее управлять и разрабатывать для общей БД
  • Мне нужно изменить дизайн нумерации счетов (последовательность генерируется семенем)
  • Меньше предложений WHERE повсюду
  • Восстановление одной сломанной ветки имеет множество последствий для других ветвей

Маловероятно, что когда-либо будет больше 10 ветвей. Прямо сейчас их 3.

Разработчиков с реальным опытом в этой области, что бы вы сделали в моей ситуации? Хранить приложения и базы данных отдельно или объединить в одну гигантскую систему?


Изменить: Отличная статья Microsoft о преимуществах и недостатках мультитенантности. Следует отметить, что изоляция данных между ветвями не является серьезной проблемой.

16
задан Petrus Theron 8 April 2011 в 14:58
поделиться