Переваги, недоліки та вузьке місце HBase

Архітектура HBase завжди має "Єдина точка відмови», і з нею не пов’язаний механізм обробки винятків.

Тут ми дізнаємося, які плюси та мінуси HBase та вузькі місця продуктивності:

Вузькі місця продуктивності в HBase

  • У будь-якому робочому середовищі HBase працює з кластером із понад 5000 вузлів, лише Hmaster діє як головний для всіх підлеглих регіональних серверів. Якщо Hmaster падає, його можна відновити лише через тривалий час. Навіть якщо клієнт може підключитися до регіонального сервера. Мати іншого майстра можливо, але тільки один буде активним. Активація другого Hmaster займе багато часу, якщо основний Hmaster вийде з ладу. Отже, Hmaster є вузьким місцем продуктивності.
  • У HBase ми не можемо реалізувати операції між даними та операції з’єднання, звичайно, ми можемо реалізувати операції з’єднання за допомогою MapReduce, що займе багато часу на проектування та розробку. Операції з’єднання таблиць важко виконати в HBase. У деяких випадках неможливо створити операції з’єднання, пов’язані з таблицями, присутніми в HBase
  • HBase потребує нового дизайну, коли ми хочемо перенести дані із зовнішніх джерел RDBMS на сервери HBase. Однак цей процес займає багато часу.
  • HBase справді складно робити запити. Можливо, нам доведеться інтегрувати HBase з деякими SQL шари, як Apache phoenix, де ми можемо писати запити для запуску даних у HBase. Дуже добре мати Apache Phoenix поверх HBase.
  • Іншим недоліком HBase є те, що ми не можемо мати більше одного індексування в таблиці, лише стовпець ключа рядка діє як первинний ключ. Отже, продуктивність була б низькою, якщо ми хотіли б шукати в кількох полях або за іншим ключем рядка. Цю проблему ми можемо подолати, написавши код MapReduce, інтегруючись з Apache SOLR і з Apache Phoenix.
  • Повільні покращення безпеки доступу різних користувачів до даних із HBase.
  • HBase не підтримує повністю часткові ключі
  • HBase дозволяє лише одне сортування за замовчуванням на таблицю
  • Дуже важко зберігати двійкові файли великого розміру в HBase
  • Зберігання HBase обмежить запити та сортування в реальному часі
  • Пошук по ключу та діапазону з точки зору пошуку вмісту таблиці за допомогою значень ключів, це обмежить запити, які виконуються в реальному часі
  • Індексація за замовчуванням відсутня в HBase. Програмісти повинні визначити кілька рядків коду або сценарію для виконання функції індексування в HBase
  • Дорогий з точки зору вимог до обладнання та розподілу блоків пам'яті.
    • Потрібно встановити більше серверів для розподілених кластерних середовищ (наприклад, кожен сервер для NameNode, DataNodes, ZooKeeperі регіональні сервери)
    • Для продуктивності потрібні машини з високою пам’яттю
    • Вартість і технічне обслуговування також вища

Переваги, обмеження та вузьке місце HBase

Переваги HBase

Тут ми дізнаємося, які плюси/переваги HBase:

  • Може зберігати великі набори даних поверх сховища файлів HDFS і агрегувати та аналізувати мільярди рядків, наявних у таблицях HBase
  • У HBase базу даних можна спільно використовувати
  • OperaТакі дії, як читання та обробка даних, займуть небагато часу порівняно з традиційними реляційними моделями
  • Операції випадкового читання та запису
  • Для онлайн-аналітичних операцій HBase широко використовується.
  • Наприклад: у банківських програмах, таких як оновлення даних у режимі реального часу в банкоматах, можна використовувати HBase.

Недоліки HBase

Ось важливі недоліки/обмеження HBase:

  • Ми не можемо очікувати повного використання HBase як заміни традиційним моделям. Деякі функції традиційних моделей не підтримуються HBase
  • HBase не може виконувати такі функції, як SQL. Він не підтримує структуру SQL, тому не містить жодного оптимізатора запитів
  • HBase інтенсивно використовує ЦП і пам’ять із великим послідовним доступом до введення або виведення, тоді як завдання Map Reduce переважно пов’язані з введенням або виведенням із фіксованою пам’яттю. HBase, інтегрований із завданнями Map-reduce, призведе до непередбачуваних затримок
  • HBase інтегровано з pig і Вулик завдань призводить до деяких проблем із пам’яттю часу на кластері
  • У спільному кластерному середовищі налаштування потребує меншої кількості слотів завдань на вузол для розподілу для вимог до ЦП HBase