Привет, Мне нужно прочитать несколько таблиц из моих баз данных и присоединиться к таблицам. Как только таблицы будут объединены, я хотел бы нажать их в Elasticsearch.Попытка массового/глотать «большое» количество документов SQL Db to Elasticsearch
Таблицы объединены с внешним процессом, поскольку данные могут поступать из нескольких источников. Это не проблема. У меня есть 3 отдельных процесса, которые читают 3 отдельные таблицы в среднем 30 000 записей в секунду. Записи объединяются в мультимап, и затем для каждого ключа создается один JsonDocument.
Затем отдельный процесс читает денормализованные JsonDocuments и отправляет их в Elasticsearch в среднем 3000 документов в секунду.
У меня возникли проблемы, пытаясь найти способ разделить работу. Я уверен, что мой кластер Elasticsearch может обрабатывать более 3000 документов в секунду. Я думал, как-то разделить мультимап, который хранит документы json.
В любом случае я создаю специальное приложение для этого. Поэтому мне было интересно, есть ли какие-либо инструменты, которые можно собрать вместе, чтобы сделать все это? Либо какая-то форма ETL, либо обработка потока или что-то еще?
Да, я думаю, что я просто запустил приложение несколько раз: P Итак, каждый экземпляр приложения может читать разные диапазоны из таблиц БД. – user432024
Это работает. В зависимости от того, как часто этот процесс используется, сбор некоторых данных о производительности может быть очень полезным. –
Ну, я знаю, что для 3000 документов, время выглядит следующим образом ... Время, указанное ES, составляет 200-300 мс, а латентность передачи составляет около 400-500 мс. Таким образом, общее время обычно составляет менее 1 секунды. Я не стану сомневаться в производительности, а задаюсь вопросом, есть ли какие-либо существующие инструменты? Пока что пользовательский маршрут работает. Просто нужно создать приложение и сделать надежным и т. Д. В основном создавая многопоточную конвейерную систему, в которой он работает, но он перескакивал с полки. – user432024