2015-09-19 2 views
1

Я использую Apache Cassandra для хранения около 100 миллионов записей. Существует один единственный узел со следующими спецификациями:Интеграция Cassandra с hadoop для чтения производительности

RAM-32GB, HDD-2TB, Intel quad core processor. 

С помощью cassandra есть проблема с производительностью чтения. Для некоторых запросов требуется около 40 минут для вывода. После поиска, как улучшить производительность чтения я пришел, чтобы узнать о следующем factors-

Compaction strategy,compression techniques, key cache, increase the heap space, turning off the swap space for cassandra. 

После выполнения этих оптимизаций, производительность остается такой же. После seraching я пришел для интеграции Hadoop с cassandra.Is это правильный способ делать запросы в cassandra или любые другие факторы, которые мне здесь не хватает? Спасибо.

ответ

0

Похоже, что модель данных может быть улучшена. 40 минут - это нечто невозможное. Я загружаю все данные из 6 миллионов записей (около 10 гб) в течение нескольких минут. И подумайте, потому что я конвертирую данные в процесс загрузки и хранения. Тривиальные выборки должны занимать миллисекунды.

Вы его построили on the base of queries that you must do?

+0

Модель данных довольно проста. Из-за огромного количества данных мы перешли от MySQL к Cassandra. Модель данных построена на основе запросов. Если я дам запрос, где количество записей меньше, то результат очень быстрый, тогда как это не то же самое с запросами, включая огромные записи. Поэтому я думаю, что мне не хватает некоторых факторов. Можете ли вы просто помочь мне улучшить производительность чтения в кассандре ??? – wonder

+0

Ну, ваш вопрос очень широк. Вы пишете, что сделали все, что возможно для оптимизации, поэтому, полагаю, у вас есть некоторые «побочные» проблемы - вы проверяли производительность своей ОС? может быть, некоторые проблемы с HD? Вы внимательно проверяли свои вопросы? возможно, вы используете «ДОПУСТИМЫЙ ФИЛЬТР» или так. Думаю, вам нужно поставить больше информации на этот вопрос. –

+0

Жесткий диск, который я использую, составляет 2 ТБ. OS - это Fedora 20. После получения такой большой задержки времени в одном узле я создал кластер из двух узлов, так что любые запросы, которые я передаю, будут распределены. с этим время задержки было уменьшено до 30 минут. Я использовал вторичные индексы для некоторых столбцов, чтобы фильтрация была возможна. Ядро памяти, которое я выделил, составляет 50% от ОЗУ. Скорость обработки процессора колеблется в пределах 50-200%. Я прочитал в некоторых сообщениях stackoverflow, чтобы отключить пространство подкачки для cassandra. Я попробовал, но это не сработало для моего сценария. – wonder

Смежные вопросы