В проекте, в котором я работаю, клиент имеет старую и массивную (терабайтную) RDBMS. Запросы всех видов медленны, и нет времени для исправления/реорганизации схемы. Я определил набор общих запросов, которые нужно оптимизировать. Этот набор разделен на два: запросы с полным текстом и метаданными.
Мой план состоит в извлечении данных из их базы данных и разбиении их на две разные системы хранения, каждая из которых оптимизирована для определенного набора запросов.
Для полнотекстового поиска Solr - это двигатель, который имеет наибольший смысл. Возможности масштабирования и репликации делают его очень подходящим для половины проблемы.
Для запросов метаданных я не уверен, какой маршрут взять. В настоящее время я думаю об использовании РСУБД с чрезвычайно де-нормированной схемой, которая представляет собой конкретное подмножество данных из "Авторитетных" РСУБД. Однако мой клиент обеспокоен отсутствием осколков и репликации такой подсистемы и трудностями/сложностями при настройке таких функций по сравнению с Solr, который уже включает их. Метаданные в этом случае принимают форму целых чисел, дат, bools, бит и строк (с максимальным размером 10chars).
Существует ли система хранения базы данных, которая имеет встроенные функции очертания и репликации, которые могут быть особенно полезны для запроса указанных метаданных? Может быть, нет-sql-решение, которое обеспечивает хороший механизм запросов?
Осветите пожалуйста.
Дополнения/Ответы:
Solr может использоваться для метаданных, однако метаданные нестабильны. Поэтому мне пришлось бы часто указывать индексы. Это приведет к быстрому ухудшению поиска.