Построение конвейера данных
Я хочу построить конвейер данных. Есть две части к этому
1) Получить данные
2) Анализировать данные
Для получения данных у меня есть внешний API под названием EXT_API, который принимает параметр скажем id
и возвращает ответ JSON с некоторыми свойствами для этого id
, Свойства для идентификатора меняются, поэтому я хочу получить данные для конкретного id
каждую минуту. Итого, у меня 1 миллион идентификаторов, что означает, что мне нужно получать 1 миллион данных каждую минуту (около 17 тыс. Операций в секунду) и повторять один и тот же процесс каждую минуту. Также я хочу хранить данные для аналитики
Для анализа данных мне просто нужно построить график некоторых свойств для id
, По мере изменения значения свойств я хочу, чтобы график менялся каждую минуту. Так что пользователь даст мне id
и я покажу график, соответствующий id
,
Для получения данных я пытался использовать JAVA, но это заняло 120 секунд, чтобы обработать 1 миллион записей (я хочу, чтобы это было обработано за 60 секунд), поэтому я попытался multi threading
и использовал exector pool. Мне удалось сократить время до 72 секунд, но я не могу идти меньше.
Во-вторых, я хочу знать, какая база данных будет полезна для такого рода проблем. По моему мнению, NoSql, такой как MongoDb или Cassandra, в порядке, поскольку мои данные не очень структурированы (просто id
и некоторые свойства, связанные с id
) но мне нужно иметь быструю запись на БД, так как я буду писать много данных
Также для аналитики, что лучше всего использовать? Я впервые строю конвейер данных