Video: Databases & Data Warehouses, Data: Structures, Types, Integrations 2025
HBase er en distribueret, ikke-relativ (kolonnebaseret) database, der udnytter HDFS som sin persistensbutik til store dataprojekter. Den er modelleret efter Google BigTable og kan hoste meget store tabeller (milliarder af kolonner / rækker), fordi den er lagdelt på Hadoop-klynger af råvarehardware.
HBase giver tilfældig, realtid læse / skrive adgang til store data. HBase er meget konfigurerbar, hvilket giver stor fleksibilitet til at håndtere store mængder data effektivt. Tag et kig på, hvordan HBase kan hjælpe med at løse dine store dataudfordringer.
HBase er en kolonne database, så alle data er gemt i tabeller med rækker og kolonner, der ligner relational database management systems (RDBMSs). Krydset mellem en række og en kolonne kaldes en celle. En vigtig forskel mellem HBase-tabeller og RDBMS-tabeller er versionering.
Hver celleværdi indeholder en "version" -attribut, som ikke er mere end en tidsstempel, der identificerer cellen særskilt. Versioning tracks ændrer sig i cellen og gør det muligt at hente en hvilken som helst version af indholdet, hvis det bliver nødvendigt. HBase gemmer dataene i celler i faldende rækkefølge (ved hjælp af tidsstempel), så en læsning finder altid de nyeste værdier først.
Kolonner i HBase tilhører en kolonnefamilie. Kolonnefamilienavnet bruges som præfiks for at identificere medlemmer af sin familie. For eksempel er frugt: æble og frugt: banan medlemmer af frugtkolonnefamilien. HBase implementeringer er indstillet på kolonnefamilieniveau, så det er vigtigt at være opmærksom på, hvordan du får adgang til dataene og hvor stort du forventer, at kolonnerne skal være.
Rækkerne i HBase-tabeller har også en nøgle forbundet med dem. Nøglens struktur er meget fleksibel. Det kan være en beregnet værdi, en streng eller endda en anden datastruktur. Nøglen bruges til at styre adgangen til cellerne i rækken, og de gemmes i rækkefølge fra lav værdi til høj værdi.
Alle disse funktioner udgør sammen skemaet. Skemaet er defineret og oprettet, før data kan gemmes. Alligevel kan tabeller ændres, og nye kolonnefamilier kan tilføjes, efter at databasen er i gang. Denne udvidelsesmulighed er yderst nyttig, når du beskæftiger dig med store data, fordi du ikke altid kender til mangfoldigheden af dine datastrømme.