Что такое лучший выбор для долгосрочного хранилища (многие записи, несколько чтений) данных, обработанных через Spark Streaming: Parquet, HBase или Cassandra? Или что-то другое? Каковы компромиссы?Каков наилучший способ хранения входящих потоковых данных?
ответ
В моем опыте мы использовали Hbase в качестве хранилища данных для данных искры потоковых (мы также же сценарий много пишем и читаем мало), так как мы используем Hadoop, HBase имеет встроенную интеграцию с Hadoop и это было хорошо ..
Выше мы использовали tostore скорость Hight сообщений подходя с утешением.
HBase хорошо подходит для сканирования на основе диапазона. Casandra известен доступностью и многими другими вещами ...
Тем не менее, я также могу наблюдать одну общую тенденцию во многих проектах, они просто хранят rawdata в hdfs (паркет + avro) в секционированной структуре через искрообразование с искрой dataframe (
SaveMode.Append)
и они обработка RAWDATA с искрой
Еха секционированной структуры в HDFS: completion ofbusinessdate/environment/businesssubtype/message type
и т.д .... в этом случае нет необходимости идти к Hbase или любому другому хранилищу данных
Но одна из распространенных проблем в вышеприведенном подходе заключается в том, что вы получаете небольшие и крошечные файлы, используя потоковое вещание, тогда вам нужно будет repartion(1
) или colelese
или FileUtils.copymerge
для удовлетворения требований размера блока к одному секционированному файлу. Кроме того, этот подход был бы прекрасен.
Вот что-то называется CAP-червь, на основе которого можно принять решение.
Последовательность (все узлы увидеть те же данные одновременно).
Доступность (каждый запрос получает ответ о том, удалось ли ему ).
толерантность Partition (система продолжает работать, несмотря на произвольного разбиения из-за сбоев в работе сети)
Casandra поддерживает AP.
Hbase поддерживает CP.
Посмотрите подробный анализ дал here
Был ли мой ответ полезным? пожалуйста, задавайте вопросы. Благодаря! –
- 1. Каков наилучший способ реализации страницы потоковых котировок?
- 2. Каков наилучший способ хранения даты?
- 3. Каков наилучший способ хранения метатег?
- 4. Каков наилучший способ хранения временных данных?
- 5. Каков наилучший способ хранения данных конфигурации сайта?
- 6. Каков наилучший способ хранения данных этого типа?
- 7. Каков наилучший способ хранения данных на iPhone?
- 8. Каков наилучший способ хранения инкрементных загружаемых данных?
- 9. Каков наилучший способ хранения текстовых данных?
- 10. Каков наилучший способ хранения этой структуры данных?
- 11. Каков наилучший способ хранения данных карты разума?
- 12. Каков наилучший способ хранения данных для JQuery
- 13. Каков наилучший способ обработки входящих SMS-сообщений?
- 14. Каков наилучший способ хранения информации о акселерометре?
- 15. Каков наилучший способ хранения массивов с Hibernate?
- 16. Каков наилучший способ хранения/подсчета очков пользователей?
- 17. Каков наилучший способ хранения этой информации?
- 18. Каков наилучший способ хранения таблицы в C++
- 19. Каков наилучший способ хранения пользовательских настроек конфигурации?
- 20. Каков наилучший способ хранения данных html в базе данных mysql?
- 21. Каков наилучший способ хранения PDF-файла?
- 22. Каков наилучший способ хранения настроек приложения? (MVC)
- 23. Каков наилучший способ хранения переменных статического блока?
- 24. Каков наилучший способ хранения Библии в SQL?
- 25. Каков наилучший способ хранения списка функций?
- 26. Каков наилучший способ хранения и подсчета голосов?
- 27. Каков наилучший способ безопасного хранения пароля (хэши)
- 28. Каков наилучший способ хранения Due Dates?
- 29. Каков наилучший способ хранения времени в MySQL
- 30. Каков наилучший способ хранения ресурсов в Xcode?
Я хотел бы предложить Кассандру из всех возможностей базы данных, которые он имеет, и среди Alll база данных имеют самую быструю запись. –
PLS проверить мой ответ. Надеюсь, что это поможет! –