HBase prednosti, nedostaci i usko grlo u izvedbi
HBase arhitektura uvijek ima "Jedna točka neuspjeha” i ne postoji mehanizam za rukovanje iznimkama povezan s njom.
Ovdje ćemo naučiti koje su prednosti i mane HBase-a i uska grla u izvedbi:
Uska grla u izvedbi u HBase-u
- U svakom proizvodnom okruženju, HBase radi s klasterom od više od 5000 čvorova, samo Hmaster djeluje kao glavni za sve podređene regionalne poslužitelje. Ako Hmaster padne, može se oporaviti tek nakon dugo vremena. Iako se klijent može povezati s regionalnim poslužiteljem. Imati drugog mastera je moguće, ali samo jedan će biti aktivan. Bit će potrebno dosta vremena da se aktivira drugi Hmaster ako glavni Hmaster ne radi. Dakle, Hmaster je usko grlo izvedbe.
- U HBase-u ne možemo implementirati operacije unakrsnih podataka i operacije spajanja, naravno, možemo implementirati operacije spajanja koristeći MapReduce, za što bi bilo potrebno puno vremena za projektiranje i razvoj. Operacije spajanja tablica teško je izvesti u HBase-u. U nekim je slučajevima nemoguće stvoriti operacije spajanja koje se odnose na tablice koje su prisutne u HBase-u
- HBase bi zahtijevao novi dizajn kada želimo migrirati podatke iz vanjskih izvora RDBMS-a na HBase poslužitelje. Međutim, ovaj proces traje dosta vremena.
- HBase je stvarno težak za postavljanje upita. Možda ćemo morati integrirati HBase s nekima SQL slojevi poput apaš phoenix gdje možemo pisati upite za pokretanje podataka u HBase. Stvarno je dobro imati Apache Phoenix na vrhu HBase-a.
- Još jedan nedostatak kod HBase-a je da ne možemo imati više od jednog indeksiranja u tablici, samo stupac ključa retka djeluje kao primarni ključ. Dakle, izvedba bi bila spora kada bismo htjeli pretraživati više od jednog polja ili drugog ključa osim ključa reda. Ovaj problem možemo prevladati pisanjem MapReduce koda, integracijom sa Apache SOLR i s Apache Phoenixom.
- Spora poboljšanja sigurnosti za pristup podataka iz HBase-a za različite korisnike.
- HBase ne podržava u potpunosti djelomične ključeve
- HBase dopušta samo jedno zadano sortiranje po tablici
- Vrlo je teško pohraniti veliku veličinu binarnih datoteka u HBase
- Pohranjivanje HBase-a ograničit će upite i sortiranje u stvarnom vremenu
- Pretraživanje ključa i pretraživanje raspona u smislu pretraživanja sadržaja tablice pomoću vrijednosti ključa, ograničit će upite koji se izvode u stvarnom vremenu
- Zadano indeksiranje nije prisutno u HBase-u. Programeri moraju definirati nekoliko redaka koda ili skripte za izvođenje funkcije indeksiranja u HBase-u
- Skupo u smislu hardverskih zahtjeva i dodjele memorijskih blokova.
- Trebalo bi instalirati više poslužitelja za okruženja distribuiranih klastera (kao što je svaki poslužitelj za NameNode, DataNodes, Čuvar zoo vrta, i regionalni poslužitelji)
- Što se tiče performansi, zahtijevaju strojeve s velikom količinom memorije
- Što se tiče troškova i održavanja, također je veći
Prednosti HBase-a
Ovdje ćemo naučiti koje su prednosti/prednosti HBase-a:
- Može pohraniti velike skupove podataka povrh HDFS pohrane datoteka te će agregirati i analizirati milijarde redaka prisutnih u HBase tablicama
- U HBase-u se baza podataka može dijeliti
- OperaZa radnje poput čitanja i obrade podataka potrebno je malo vremena u usporedbi s tradicionalnim relacijskim modelima
- Nasumične operacije čitanja i pisanja
- Za online analitičke operacije, HBase se intenzivno koristi.
- Na primjer: U bankarskim aplikacijama kao što je ažuriranje podataka u stvarnom vremenu na bankomatima, može se koristiti HBase.
Nedostaci HBase-a
Evo važnih mana/ograničenja HBase-a:
- Ne možemo očekivati da ćemo u potpunosti koristiti HBase kao zamjenu za tradicionalne modele. HBase ne podržava neke od značajki tradicionalnih modela
- HBase ne može izvoditi funkcije poput SQL-a. Ne podržava SQL strukturu, tako da ne sadrži optimizator upita
- HBase je zahtjevan za CPU i memoriju s velikim sekvencijalnim pristupom ulazu ili izlazu, dok su kao Map Reduce poslovi primarno vezani za ulaz ili izlaz s fiksnom memorijom. HBase integriran s poslovima Map-reduce rezultirat će nepredvidivim kašnjenjima
- HBase integriran sa svinjskim i Košnica poslovi rezultiraju nekim problemima s vremenskom memorijom na klasteru
- U okruženju zajedničkog klastera, postavljanje zahtijeva manje utora zadataka po čvoru za dodjelu za HBase CPU zahtjeve