2016-12-31 10 views
0

В настоящее время, когда я создаю базу данных/таблицы в Cassandra Я должен запускать скрипты перед извлечением данных. Но теперь я хочу создать тот же Database для каждого арендатора в архитектуре с несколькими арендаторами. Нужно ли мне явно создавать базу данных для каждого арендатора или есть способ создать их во время выполнения?Cassandra Multi Tenant запускает скрипты для создания БД/таблицы

Заранее спасибо ...

+1

Да, вы должны создать их явно. У вас есть все они в одном и том же ключевом пространстве/разных? Каковы ваши требования к изоляции? Один из способов заключается в том, чтобы спроектировать схему, позволяющую многопользовательским арендаторам – Ivan

+0

Спасибо за ваш ответ :). На самом деле у меня нет слишком много арендаторов, поэтому я собираюсь создать отдельную базу данных для каждого арендатора. И это мое беспокойство, я не хочу запускать скрипты каждый раз, когда приходит новый Арендатор. Что вы предлагаете, должен ли я двигаться к другому решению, например, mongodb? – MDaniyal

+0

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

ответ

0

Вы должны сделать это явно.

Кроме того, наличие базы данных на одного арендатора является дорогостоящей стратегией в C * (если у вас много арендаторов), для этого требуется, чтобы C * выделял дополнительную память для каждого.

Я бы рекомендовал добавить идентификатор арендатора в качестве части вашего ключа строки. Есть хороший видеоролик BlackRock guys, описывающий, что они прошли в этом случае.