Video: När känner man fosterrörelser? 2024
Så när ska du överväga att använda HBase? Även om svaret på denna fråga inte nödvändigtvis är okomplicerat för alla, för att börja med måste du tydligt ha ett stort datakrav och tillräckliga hårdvara resurser.
-
Ett stort datakrav: Terabytes till petabytes-annars har du många lediga servrar i din rack.
-
Tillräckliga hårdvaruprodukter: Fem servrar är en bra utgångspunkt.
Tänk på vilken väg som ska tas - HBase kontra RDBMS - överväga andra krav som transaktionsstöd, rika datatyper, index och stöd för språkstöd - även om dessa faktorer inte är lika svarta och vita som de föregående två kulor. Rika datatyper, index och stödspråk kan läggas till via annan teknik, t.ex. Hive eller kommersiella produkter.
"Vad sägs om transaktioner? " du frågar.
Vissa användningsfall för RDBMS, som online transaktionsbehandling, beror på ACID-kompatibla transaktioner mellan klienten och RDBMS för att systemet ska fungera korrekt. (ACID - A tomicitet, C osistens, I solering och D användbarhet)
Jämfört med en RDBMS, HBase anses inte vara en ACID-kompatibel databas enligt detta skrivande. HBase stöder inte ACID-kompatibla transaktioner över flera rader eller över tabeller. Dock garanterar HBase följande aspekter:
-
Atomic: Alla radnivåoperationer inom ett bord är atomära. Denna garanti upprätthålls även när det finns mer än en kolumnfamilj i rad.
-
Konsistens: Skanningsoperationer ger en konsekvent bild av data som lagrats i HBase någon gång tidigare. Samtidig klientinteraktion kan uppdatera en rad under en radsökning, men alla rader som returneras av en skanningstransaktion innehåller alltid giltiga data från någon tidpunkt tidigare.
-
Hållbarhet: Alla data som kan hämtas från HBase har också gjorts varaktig för disk (fortsatte till HDFS, med andra ord).
En av de spännande aspekterna av HBase och andra Apache-projekt med öppen källkod är att någon i samhället alltid är innovativ och försöker förbättra tekniken. HBase stöder flera radstransaktioner om raderna är på samma RegionServer. Denna funktion, som kräver ytterligare kodning, infördes i HBase version 0. 94. 0. (Om du är nyfiken, fokuserar den extra kodningen på HBases delade policy.)
När ACID-egenskaper krävs av HBase-klienter, designar du HBase schema så att dataöverföringar i tvärgående rad eller korsbord inte krävs.Att hålla data i rad ger atomicitet.