Мы боремся за то, как настроить поведение нашего индекса между 3 фазами, которые ему необходимы для смелого решения (количество узлов, количество сегментов, объединение сегментов, сортировка индекса, ограничения по размеру и любые другие параметры, которые могут нам помочь: wink:):
Наше приложение состоит из 3 основных фаз для эластичного использования:
начальная массивная вставка:
- 2,5 млрд. Документов / 10дни (3000 документов / сек)
- документы имеют отношения Родитель-ребенок (в среднем 1,4 ребенка на одного родителя)
- дочерние элементы содержат вложенные поля, которые могут варьироваться от 1 до 1 М краткого текстазначения для вложенного поля (например, вложенный документ)
- средний размер документа (включая вложенные документы из вложенных полей) составляет 1 КБ
массовое (ish) обновление:
15% документов (дочерних) обновляются (путем вставки значений вложенных полей - например, нескольких вложенных документов, но небольших и однородных)
эти обновления основаны нанесколько (ограниченных) запросов агрегации
пользовательских запросов:
- каждый запрос, который запрашивает пользователь, создает ~ 15 дополнительных запросов агрегации нарезультаты (это отстой, мы знаем)
шаг 1-3 происходит каждые x дней (никогда не запускается до завершения шага 2), хотя ожидаемые данные намного меньше (макс.~ 10% от первоначального количества документов - например, максимум 250M)
Кто-нибудь сталкивался с подобными требованиями?или столкнулись с некоторыми хорошими рекомендациями кого-то, кто имеет?
Спасибо