RavenDB включает другой экземпляр базы данных

#data-modeling #ravendb

Вопрос:

Есть ли способ включить документ из другого экземпляра базы данных RavenDB для загрузки в наш текущий сеанс хранения?

Вопрос основан на невозможности иметь категоризированные коллекции в RavenDB studio, поэтому раздражает прокручивать и находить нужную коллекцию!

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

Я знаю, что это не лучшая практика для хранения разных ограниченных контекстов в одном и том же экземпляре БД, но что, если мне это нужно!

Обновить:

Похоже, что функции кросс-базы данных недоступны в RavenDB.

Ответ №1:

Если вам нужно передать информацию / документы между 2 разными базами данных RavenDB, вы всегда можете использовать задачу внешней репликации или задачу RavenDB ETL.

Задача ETL RavenDB:
https://ravendb.net/docs/article-page/5.2/csharp/studio/database/tasks/ongoing-tasks/ravendb-etl-task

Задача внешней репликации:
https://ravendb.net/docs/article-page/5.2/csharp/studio/database/tasks/ongoing-tasks/external-replication-task

С помощью опции ETL task вы можете использовать скрипт для определения и / или фильтрации того, что отправляется в другую базу данных RavenDB. Как только документ попадает в целевую базу данных, вы можете использовать / загружать / включать как обычно.

Комментарии:

1. Это верно, но это приведет к беспорядку в первой базе данных со многими коллекциями из второй. Оно того не стоит. Использование ETL является рекомендуемым методом в микросервисной архитектуре, и это не то, о чем я спрашиваю. Загрязнение, создаваемое коллекциями в RavenDB Studio, является проблемой. Если бы был способ создавать папки и прикреплять к ним коллекции, это могло бы решить проблему загрязнения и включения материалов. Поэтому создание другой базы данных больше не потребуется.