Video: Did The Past Really Happen? 2024
Dus wanneer zou u HBase moeten gebruiken? Hoewel het antwoord op deze vraag niet voor iedereen vanzelfsprekend hoeft te zijn, moet je om te beginnen een grote hoeveelheid gegevens en voldoende hardwarebronnen hebben.
-
Een grote gegevensvereiste: Terabytes voor petabytes- anders hebt u veel niet-actieve servers in uw racks.
-
Voldoende hardwarebronnen: Vijf servers is een goed startpunt.
Bij het bepalen van de te volgen route - HBase versus RDBMS - rekening houden met andere vereisten zoals transactieondersteuning, rijke gegevenstypen, indexen en ondersteuning van querytaal - hoewel deze factoren niet zo zwart en wit zijn als de voorafgaande aan twee kogels. Rich datatypes, indexen en ondersteuning van query-talen kunnen worden toegevoegd via andere technologieën, zoals Hive of commerciële producten.
'Hoe zit het met transacties? " je vraagt.
Bepaalde use-cases voor RDBMS's, zoals online transactieverwerking, zijn afhankelijk van ACID-compatibele transacties tussen de client en de RDBMS zodat het systeem correct functioneert. (ACID - A tomiciteit, C onachtzaamheid, I solatie en D urability)
In vergelijking met een RDBMS, HBase wordt vanaf dit schrijven niet beschouwd als een ACID-conforme database. HBase biedt geen ondersteuning voor ACID-compatibele transacties via meerdere rijen of over meerdere tabellen heen. HBase garandeert echter de volgende aspecten:
-
Atomic: Alle rijniveau-bewerkingen in een tabel zijn atomisch. Deze garantie blijft behouden, zelfs als er meer dan één kolomfamilie op rij is.
-
Consistentie: Scanbewerkingen retourneren een consistente weergave van de gegevens die ergens in het verleden in HBase zijn opgeslagen. Gelijktijdige clientinteractie kan een rij bijwerken tijdens een scan met meerdere rijen, maar alle rijen die door een scanbewerking worden geretourneerd, bevatten altijd geldige gegevens van een bepaald punt in het verleden.
-
Duurzaamheid: Alle gegevens die kunnen worden opgehaald uit HBase zijn ook duurzaam gemaakt op schijf (met andere woorden persistent tot HDFS).
Een van de spannende aspecten van HBase en andere open source Apache-projecten is dat iemand in de community altijd bezig is met innovatie en de technologie probeert te verbeteren. HBase ondersteunt transacties met meerdere rijen als de rijen zich op dezelfde RegionServer bevinden. Deze functie, die extra codering vereist, is geïntroduceerd in HBase-versie 0. 94. 0. (Als u nieuwsgierig bent, is de aanvullende codering toegespitst op het splitsende beleid van HBase.)
Wanneer ACID-eigenschappen vereist zijn voor HBase-clients, ontwerpt u de HBase-schema zodanig dat kruislingse of kruistabelgegevensbewerkingen niet vereist zijn.Het bijhouden van gegevens binnen een rij levert atomiciteit op.