Использовать один и тот же ravenhq db с двумя разными приложениями
Хорошо, я знаю, что это не оптимальный подход, но я думал об использовании одного и того же ravenhq db с двумя разными приложениями.
Я думаю об этом потому, что у меня есть два действительно небольших веб-приложения, которые будут использовать ravendb в качестве базы данных. И у меня есть одна зарегистрированная платная база данных ravenHq.
Мои два приложения не собираются делиться какими-либо документами. И данные обоих приложений не станут особенно большими. Итак, мой вопрос. Это возможно сделать, или будут какие-то осложнения?
//Спасибо
2 ответа
Это действительно зависит от особенностей ваших приложений. В общем, нет ничего плохого в том, что несколько приложений обращаются к одной базе данных. Клиентская библиотека RavenDB может работать где угодно, или вы можете получить доступ к БД с помощью необработанного HTTP. То, что это другое приложение, вызывающее базу данных, не означает, что у вас будут проблемы.
Тем не менее, вы должны учитывать следующее:
Вы можете иметь конфликт имен. Например, если у каждого приложения есть свой класс "Пользователь", и вы храните их в одной базе данных, вы наверняка можете смешивать пользователей из одного приложения с пользователями из другого.
Когда вы определяете индекс в RavenDB, все документы в базе данных будут проходить через него. Большинство индексов фильтруются в документы определенного типа, но, опять же, у вас могут возникнуть конфликты именования, которые приведут к индексации документов из Приложения 1 с индексом, который вы предназначали для Приложения 2.
Резервное копирование и восстановление может быть затруднено, так как вы будете выполнять резервное копирование данных из обоих приложений одновременно.
Возможно, есть и другие области перекрытия. Будьте осторожны и тщательно проверяйте.
Чтобы сохранить технический долг как можно ниже, я бы не использовал одну и ту же базу данных для разных приложений, если эти два приложения не обмениваются данными.
В случае RavenHQ я бы порекомендовал приобрести виртуальную машину (через Microsoft Azure или другого облачного провайдера) и установить экземпляр RavenDb на этом сервере, где вы можете создать несколько баз данных. Вероятно, это будет намного дешевле, чем хостинг через RavenHQ.