Výhody, nevýhody a omezení výkonu HBase
Architektura HBase má vždy „Jediný bod selhání” a není s ní spojen žádný mechanismus zpracování výjimek.
Zde se dozvíme, jaké jsou výhody a nevýhody HBase a omezení výkonu:
Úzká místa výkonu v HBase
- V jakémkoli produkčním prostředí běží HBase s clusterem více než 5000 uzlů, pouze Hmaster funguje jako hlavní server pro všechny servery slave Region. Pokud Hmaster spadne, může být obnoven až po dlouhé době. I když je klient schopen se připojit k serveru regionu. Je možné mít jiného mastera, ale aktivní bude pouze jeden. Aktivace druhého Hmastera bude trvat dlouho, pokud hlavní Hmaster selže. Hmaster je tedy úzkým hrdlem výkonu.
- V HBase nemůžeme implementovat žádné křížové datové operace a spojovací operace, samozřejmě můžeme provést spojovací operace pomocí MapReduce, což by zabralo spoustu času na navrhování a vývoj. Operace spojení tabulek se v HBase obtížně provádějí. V některých případech použití je nemožné vytvořit operace spojení, které se týkají tabulek, které jsou přítomné v HBase
- HBase by vyžadoval nový design, když chceme migrovat data z externích zdrojů RDBMS na servery HBase. Tento proces však zabere hodně času.
- HBase je opravdu náročný na dotazování. Možná budeme muset s některými integrovat HBase SQL vrstvy jako Apache phoenix, kde můžeme psát dotazy pro spouštění dat v HBase. Je opravdu dobré mít Apache Phoenix nad HBase.
- Další nevýhodou HBase je, že v tabulce nemůžeme mít více než jedno indexování, jako primární klíč funguje pouze sloupec klíče řádku. Výkon by byl tedy pomalý, pokud bychom chtěli hledat ve více než jednom poli nebo jinde než klíč řádku. Tento problém můžeme překonat napsáním kódu MapReduce a jeho integrací Apache SOLR a s Apache Phoenix.
- Pomalé vylepšování zabezpečení přístupu různých uživatelů k datům z HBase.
- HBase zcela nepodporuje částečné klíče
- HBase umožňuje pouze jedno výchozí řazení na tabulku
- Je velmi obtížné uložit velké velikosti binárních souborů v HBase
- Úložiště HBase omezí dotazy a řazení v reálném čase
- Vyhledávání klíčů a vyhledávání rozsahu, pokud jde o vyhledávání obsahu tabulky pomocí klíčových hodnot, omezí dotazy, které se provádějí v reálném čase
- Výchozí indexování není v HBase přítomno. Programátoři musí definovat několik řádků kódu nebo skriptu, aby mohli provádět funkce indexování v HBase
- Drahé z hlediska požadavků na hardware a alokace paměťových bloků.
- Pro prostředí distribuovaných clusterů by mělo být nainstalováno více serverů (jako každý server pro NameNode, DataNodes, ZooKeepera regionální servery)
- Výkon vyžaduje stroje s velkou pamětí
- Z hlediska nákladů a údržby je také vyšší
Výhody HBase
Zde se dozvíme, jaké jsou výhody/výhody HBase:
- Může ukládat velké soubory dat nad úložiště souborů HDFS a agregovat a analyzovat miliardy řádků přítomných v tabulkách HBase
- V HBase lze databázi sdílet
- Operačtení a zpracování dat zabere ve srovnání s tradičními relačními modely málo času
- Náhodné operace čtení a zápisu
- Pro online analytické operace se HBase široce používá.
- Například: V bankovních aplikacích, jako jsou aktualizace dat v reálném čase v bankomatech, lze použít HBase.
Nevýhody HBase
Zde jsou důležité nevýhody/omezení HBase:
- Nemůžeme očekávat, že HBase úplně použijeme jako náhradu za tradiční modely. Některé funkce tradičních modelů nemůže HBase podporovat
- HBase nemůže provádět funkce jako SQL. Nepodporuje strukturu SQL, takže neobsahuje žádný optimalizátor dotazů
- HBase je náročný na CPU a paměť s velkým sekvenčním vstupním nebo výstupním přístupem, zatímco úlohy Map Reduce jsou primárně vstupem nebo výstupem vázány na pevnou paměť. HBase integrovaná s úlohami Map-reduce bude mít za následek nepředvídatelné latence
- HBase integrovaná s prase a Úl úlohy vedou k problémům s časovou pamětí v clusteru
- V prostředí sdíleného klastru vyžaduje nastavení méně slotů úloh na uzel, aby bylo možné přidělit požadavky na procesor HBase