HBase
 sql >> база данни >  >> NoSQL >> HBase

HBase производителност CDH5 (HBase1) срещу CDH6 (HBase2)

Клиентите на HBase, които надграждат до CDH 6 от CDH 5, също ще получат надстройка на HBase, преминаваща от HBase1 към HBase2. Производителността е важен аспект, който клиентите вземат. Измерихме производителността на CDH 5 HBase1 срещу CDH 6 HBase2, използвайки YCSB работни натоварвания, за да разберем последиците от надстройката върху производителността върху клиентите, извършващи надстройки на място (без промени в хардуера).

Относно YCSB

За нашето тестване използвахме Yahoo! Показател за облачно обслужване (YCSB). YCSB е спецификация и програмен пакет с отворен код за оценка на възможностите за извличане и поддръжка на компютърни програми. Често се използва за сравняване на относителната производителност на системите за управление на бази данни NoSQL.

Оригиналният бенчмарк е разработен от работници в изследователския отдел на Yahoo! който го пусна през 2010 г. 

Повече информация за YCSB на https://github.com/brianfrankcooper/YCSB

В нашата тестова среда беше използвана YCSB @1TB мащаб за данни и работните натоварвания за изпълнение включват работни натоварвания по подразбиране на YCSB и персонализирани работни натоварвания.

Използвани тестови натоварвания на YCSB: 

  • Работно натоварване A (четене+актуализация) :Пример за приложение:Съхранение на сесии, записващо последните действия в потребителска сесия
    • 50% ПРОЧЕТЕНИ
    • 50% АКТУАЛИЗИРАНЕ
  • Работно натоварване C (само за четене) :Пример за приложение:Прочетете кеша на потребителския профил, където профилите се изграждат другаде (напр. Hadoop)
    • 100% ПРОЧЕТЕНИ
  • Работно натоварване F (четене+промяна+запис) :Пример за приложение:Потребителска база данни, където потребителските записи се четат и променят от потребителя или за записване на потребителска активност
    • 50% ПРОЧЕТЕНИ
    • 25% АКТУАЛИЗИРАНЕ
    • 25% ЧЕТЕНЕ-МОДИФИРАНЕ-ЗАПИСАНЕ
  • Само актуализиране на персонализираното YCSB натоварване на Cloudera :Пример за приложение:Групови актуализации
    • 100% операции АКТУАЛИЗИРАНЕ

Повече информация за YCSB работните натоварвания на https://github.com/brianfrankcooper/YCSB/wiki/Core-Workloads

Методология на тестване

Зареждаме набора от данни на YCSB с 1000 000 000 записа, като всеки запис е с размер 1KB, създавайки общо 1TB данни. След зареждането изчакваме да приключат всички операции по уплътняване, преди да започнем теста за натоварване. Всяко тествано работно натоварване се изпълняваше 3 пъти по 15 минути и пропуска* измерено. Средният брой се взема от 3 теста, за да се получи окончателното число.

* Пропускателна способност (операции/сек) =брой операции в секунда

Сравнение на производителност на CDH5 HBase1 срещу CDH6 HBase2 с помощта на YCSB

Пропускателна способност само за персонализирана актуализация

Само актуализация . Случаи на използване:Групови актуализации
Пропускателна способност на CDH6 HBase2 50% повече от CDH5 HBase1

Пропускателна способност на работното натоварване на YCSB A

Тежкова актуализация. Случаи на употреба:Съхранение на сесии, запис на последните действия
Пропускателна способност на CDH6 HBase2 6% по-малка от CDH5 с HBase1

Пропускателна способност C на работното натоварване на YCSB

Само за четене. Случаи на употреба:Кеш на потребителския профил, кеш на новинарски канал
Пропускателна способност на CDH6 HBase2 5% по-малка от CDH5 HBase1

Пропускателна способност F на работното натоварване на YCSB

Четене-Промяна-Запис. Случаи на употреба:Съхранение за активност, потребителски бази данни
Пропускателна способност на CDH6 HBase2 много близка до CDH5 HBase1

Резюме на резултатите от теста

Само персонализирана актуализация натовареност :  Работното натоварване само с актуализация на HBase2 CDH6 се представи 50% по-добре отколкото HBase1 CDH5

Работно натоварване на YCSB F: CDH6 YCSB Workload F операциите и пропускателната способност бяха много сходни към CDH5 HBase1

Натоварвания на YCSB Workload A и YCSB Workload C: CDH6 YCSB Работно натоварване C Само за четене и YCSB Работно натоварване A имаха приблизително 5% по-малко операции и пропускателна способност от CDH5 HBase1

Сравнени версии на CDH

Версия CDH6:Cloudera Enterprise 6.2

Версия CDH5:Cloudera Enterprise 5.16.2

Име на Java VM:Java HotSpot(TM) 64-Bit Server VM

Версия на Java:1.8.0_141

Тестова среда

Използван клъстер : Клъстер с 6 възли
Описание на възел: Dell PowerEdge R430, 20c/40t Xenon e5-2630 v4 @ 2.2Ghz, 128GB RAM, 4-2TB дискове

Настройка за тестване

  • Версия на YCSB:0.14.0
  • YCSB обвързваща версия hbase20
  • YCSB таблица @1TB мащаб
  • WAL конфигурации
    • На регионен сървър Брой тръбопроводи за WAL (wal.regiongrouping.numgroups ) зададен на 1
    • Multi-WAL:wal.provider зададен на Множество HDFS WAL
      • Забележка -> Тук единичен WAL, използван като тръбопроводи WAL, е зададен на 1
    • Asyncfs WAL:region.replica.replication.enabled зададено на false
  • Сигурност: Няма конфигуриран (без Kerberos)
  • Регионални сървъри
    • Брой региони в таблицата YCSB 250, с клъстер 5+1 възли, неговите приблизително 50 региона на сървър на регион
    • Среден размер на сървъра за регион 290G
    • Данни за регион ~ 6G
  • Използва се само L1 кеш с LruBlockCache с ограничение за размера на кеша от 3 GB

Въз основа на нашето тестване (резултати по-горе), клиентите, които искат да надстроят от CDH 5.x до 6.x, трябва да очакват значително подобрена производителност за групови актуализации и сравнително подобна производителност за други работни натоварвания в сравнение с това, което получават днес.

Научете повече за Cloudera Operational DB тук


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Урок за Hadoop MapReduce за начинаещи

  2. Използване на Cloudera Data Engineering за анализиране на данните от програмата за защита на заплатите

  3. Администриране на оперативна база данни

  4. Използване на Hive за взаимодействие с HBase, част 1

  5. Как да:Използвайте интерфейса REST на Apache HBase, част 3