Я проектирую службу, которая будет обслуживать некоторые бизнес-направления. Логически он будет разделен на две части:База данных приложения/разложение экземпляра
- Frontend - колокольчики и whistels как Wiki, цены, целевой страницы, возможно, информацию о счете (выставление счетов, состояние счета, и так далее).
- Служба сама, где эмпиристы бизнес-структур будут выполнять свою работу.
Это игровая платформа 2.x, планирующая принять участие в героике. Пока неясно, как разложить вещи и вещи БД.
Должен ли я разложить БД для клиентов: бизнес-единица - одна база данных? Или я должен хранить все данные в одной базе данных, но добавлять для всех таблиц идентификатор бизнес-объекта, который владеет некоторой строкой? Какие проблемы (производительность, администрирование, масштабирование) могут возникнуть с этим решением?
Если я захочу разделить базы данных, как я могу это сделать? Для этого мне нужно запустить экземпляр приложения с БД для клиента, к которому принадлежит этот экземпляр. Таким образом, мы имеем неоднородные экземпляры, которые могут быть препятствием для масштабирования. И, как я знаю, героку не поддерживает неоднородные (веб-экземпляры).
Пожалуйста, помогите, я полностью застрял здесь.
Ожидаемый стек:
- Scala
- Play 2.0
- Anorm
- JDBC
- PostgresSQL
- Heroku
Все (кроме Scala, и может быть Play 2 .0), являются взаимозаменяемыми.
Я не знаю о проблеме. Вы пишете приложение, планируете иметь много клиентов и хотите знать, нужно ли им делиться одной базой данных или каждый клиент имеет свою собственную базу данных? – ryan1234
@ ryan1234 Да, это. – pepyakin