Druid используется как для обработки в реальном времени, так и для пакетной обработки. Но может ли он полностью заменить hadoop? Если нет, то почему? В чем преимущество хадупа перед друидом? Я читал, что друид используется вместе с хадупом. Так можно ли избежать использования Hadoop?
Может ли друид заменить хадуп?
Ответы (3)
Здесь мы говорим о двух немного связанных, но очень разных технологиях.
Druid - это система аналитики в реальном времени, которая идеально подходит для таймсерий и агрегации событий на основе времени.
Hadoop - это HDFS (распределенная файловая система) + Map Reduce (парадигма для выполнения распределенных процессов), которые вместе создали экосистему для распределенной обработки и выступают в качестве базовой / влияющей технологии для многих других проектов с открытым исходным кодом.
Вы можете настроить druid на использование Hadoop; то есть запускать задания MR для индексирования пакетных данных и чтения индексированных данных из HDFS (конечно, он будет кэшировать их локально на локальном диске)
Если вы хотите игнорировать Hadoop, вы также можете выполнить индексацию и загрузку с локальной машины, конечно, с ограничением на одну машину.
Можно ли избежать использования Hadoop с Druid? Да, вы можете передавать данные в режиме реального времени в кластер Druid, а не загружать их в пакетном режиме с помощью Hadoop. Один из способов сделать это - передать данные в Kafka, который будет обрабатывать входящие события и передавать их в Storm, который затем может обработать и загрузить их в узлы Druid Realtime.
Обычно эта настройка используется с Hadoop параллельно, поскольку потоковые данные в реальном времени идут с собственным багажом и часто нуждаются в исправлении и обратном заполнении. Некоторые окрестили всю эту архитектуру "Lambda".
Druid используется как для обработки в реальном времени, так и для пакетной обработки. Но может ли он полностью заменить hadoop? Если нет, то почему?
Это зависит от ваших случаев. Ознакомьтесь с документацией официального сайта Druid.
Druid - хороший выбор для следующих случаев использования:
- Скорость вставки очень высока, но обновления встречаются реже
- Большинство запросов представляют собой агрегацию и создание отчетов с небольшой задержкой от 100 мс до нескольких секунд.
- Данные имеют временную составляющую
- Загружать данные из Kafka, HDFS, плоских файлов или объектного хранилища, например Amazon S3
Друид - не лучший выбор для следующих случаев использования
- Требуются обновления существующих записей с малой задержкой с использованием первичного ключа. Druid поддерживает потоковые вставки, но не потоковые обновления.
- Создание автономной системы отчетности, где задержка запроса не очень важна.
- В случае больших стыков
Поэтому, если вы ищете автономную систему отчетности, в которой задержка запроса не важна, Hadoop может получить оценку в этом сценарии.