Выполнить поиск по нескольким базам данных

Наше требование состоит в том, чтобы выполнять возможности поиска MarkLogic в нескольких базах данных MarkLogic. У нас есть две версии Marklogic 7 и 8. Есть два сценария для этого требования:

  1. Базы данных доступны на одном сервере MarkLogic.

    В этом случае мы хотим реализовать xdmp:eval(), xdmp:spawn() и концепцию супер-базы данных и суб-базы данных MarkLogic. Но мы не уверены, какой из них является префектом.

  2. Базы данных доступны на разных серверах MarkLogic.

    Мы не уверены в этом сценарии, что реализовать. Но мы изучаем Hadoop и гибкую репликацию MarkLogic.

Пожалуйста, посмотрите на этот сценарий и поделитесь вашими лучшими идеями, чтобы мы могли двигаться в правильном направлении.

1 ответ

Решение

Как отмечалось выше, возможно, стоит сделать шаг назад и обсудить, необходимо ли это. MarkLogic может очень хорошо обрабатывать смеси содержимого. Наличие нескольких баз данных, скорее всего, просто усложнит архитектуру.

Тем не менее, в верхней части моей головы некоторые соображения по поводу ваших вопросов:

  • Базы данных MarkLogic ограничиваются не отдельными серверами, а кластерами.
  • Вы можете использовать репликацию БД или Flex-Rep для синхронизации баз данных между кластерами.
  • xdmp: eval / spawn берет на себя издержки и является потенциальной дырой в безопасности (например, использование усилителей).
  • Для базы данных super / sub требуется меньше затрат, но имейте в виду, что запрос диапазона в базе данных super потребует определения соответствующих индексов диапазона во всех включенных базах данных.
  • Обеспечение уникальности базы данных в супер-базе данных требует дополнительных усилий.

НТН!

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