Video: What If The Earth Stopped Spinning? 2025
Så når bør du vurdere å bruke HBase? Selv om svaret på dette spørsmålet ikke nødvendigvis er greit for alle, må du for det første klart ha et stort datakrav og tilstrekkelige maskinvareressurser.
-
Et stort datakrav: Terabytes til petabytes - ellers har du mange idle servere i rekkene dine.
-
Tilstrekkelig maskinvareressurser: Fem servere er et godt utgangspunkt.
Når du vurderer hvilken rute du skal ta - HBase versus RDBMS - vurdere andre krav som transaksjonsstøtte, rike datatyper, indekser og spørrespråkstøtte - selv om disse faktorene ikke er like svart og hvite som de foregående to kuler. Rikke datatyper, indekser og spørrespråkstøtte kan legges til via annen teknologi, for eksempel Hive eller kommersielle produkter.
"Hva med transaksjoner? " du spør.
Visse brukstilfeller for RDBMSer, som for eksempel online transaksjonsbehandling, avhenger av ACID-kompatible transaksjoner mellom klienten og RDBMS for at systemet skal fungere skikkelig. (ACID - A tomicity, C ustabilitet, I solasjon og D ubehag)
Sammenlignet med en RDBMS, HBase Betraktes ikke som en ACID-kompatibel database som av denne skrivingen. HBase støtter ikke ACID-kompatible transaksjoner over flere rader eller på tvers av tabeller. Men HBase garanterer følgende aspekter:
-
Atomisk: Alle radnivåoperasjoner i et bord er atomiske. Denne garantien opprettholdes selv når det er mer enn en kolonnefamilie på rad.
-
Konsistens: Skanningsoperasjoner gir en konsistent visning av dataene som er lagret i HBase på et tidspunkt tidligere. Samtidig klientinteraksjon kan oppdatere en rad under en flerrørsskanning, men alle rader som returneres av en skanneoperasjon vil alltid inneholde gyldige data fra et tidspunkt tidligere.
-
Holdbarhet: Eventuelle data som kan hentes fra HBase, er også gjort holdbar til disk (vedvarende til HDFS, med andre ord).
En av de spennende aspektene ved HBase og andre Apache-prosjekter med åpen kildekode er at noen i samfunnet alltid er innovative og prøver å forbedre teknologien. HBase støtter flere radstransaksjoner hvis radene er på samme RegionServer. Denne funksjonen, som krever ekstra koding, ble introdusert i HBase versjon 0. 94. 0. (Hvis du er nysgjerrig, fokuserer tilleggskodingen på HBase's splittpolicy.)
Når ACID-egenskaper kreves av HBase-klienter, skal du designe HBase-skjema slik at det ikke kreves at korsstrekning eller tverrbordsdataoperasjoner.Å holde data på rad gir atomicitet.
