Построение конвейера данных

Я хочу построить конвейер данных. Есть две части к этому

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) но мне нужно иметь быструю запись на БД, так как я буду писать много данных

Также для аналитики, что лучше всего использовать? Я впервые строю конвейер данных

0 ответов

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