Использовать один и тот же ravenhq db с двумя разными приложениями

Хорошо, я знаю, что это не оптимальный подход, но я думал об использовании одного и того же ravenhq db с двумя разными приложениями.

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

Мои два приложения не собираются делиться какими-либо документами. И данные обоих приложений не станут особенно большими. Итак, мой вопрос. Это возможно сделать, или будут какие-то осложнения?

//Спасибо

2 ответа

Решение

Это действительно зависит от особенностей ваших приложений. В общем, нет ничего плохого в том, что несколько приложений обращаются к одной базе данных. Клиентская библиотека RavenDB может работать где угодно, или вы можете получить доступ к БД с помощью необработанного HTTP. То, что это другое приложение, вызывающее базу данных, не означает, что у вас будут проблемы.

Тем не менее, вы должны учитывать следующее:

  • Вы можете иметь конфликт имен. Например, если у каждого приложения есть свой класс "Пользователь", и вы храните их в одной базе данных, вы наверняка можете смешивать пользователей из одного приложения с пользователями из другого.

  • Когда вы определяете индекс в RavenDB, все документы в базе данных будут проходить через него. Большинство индексов фильтруются в документы определенного типа, но, опять же, у вас могут возникнуть конфликты именования, которые приведут к индексации документов из Приложения 1 с индексом, который вы предназначали для Приложения 2.

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

Возможно, есть и другие области перекрытия. Будьте осторожны и тщательно проверяйте.

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

В случае RavenHQ я бы порекомендовал приобрести виртуальную машину (через Microsoft Azure или другого облачного провайдера) и установить экземпляр RavenDb на этом сервере, где вы можете создать несколько баз данных. Вероятно, это будет намного дешевле, чем хостинг через RavenHQ.

Другие вопросы по тегам