Innholdsfortegnelse:
Video: HTML #9 - IFRAME 2025
HBase (Hadoop Database) er en Java-implementering av Googles BigTable. Google definerer BigTable som et "sparsomt, distribuert, vedvarende flerdimensjonalt sortert kart. "Det er ganske kortfattet definisjon, men du vil også være enig i at det er litt på den komplekse siden. Å bryte ned BigTables kompleksitet litt, følgende er en diskusjon av hvert attributt.
Hbase er sparsom
Som du kanskje har gjettet, ble BigTable distribuerte datalagringssystem designet for å møte kravene til store data. Nå lagrer store dataprogrammer mye data, men stort datainnhold er også ofte variabelt. Tenk deg et tradisjonelt bord i en bedriftsdatabase som lagrer kundekontaktinformasjon, som vist:
Kunde-ID | Etternavn | Fornavn | Mellomnavn | E-postadresse | Gateadresse |
---|---|---|---|---|---|
00001 | Smith | John | Timothy | 1 Hadoop Lane, NY 11111 | |
00002 | Doe | Jane | NULL | NULL | 7 HBase Ave, CA 22222 |
Et selskap eller enkeltperson kan kreve en komplett dataregistrering for hver av sine kunder eller bestanddeler. Et godt eksempel er legen din, som trenger all din kontaktinformasjon for å gi deg riktig omsorg. Andre selskaper eller enkeltpersoner kan kreve kun delvis kontaktinformasjon, eller må kanskje lære den informasjonen over tid.
For eksempel kan et kundeselskap behandle telefonsamtaler eller e-postmeldinger for serviceforespørsler. Klienter kan eller ikke velge å gi tjenesteselskaper all sin kontaktinformasjon. Men med hvert samspill over tid kan selskapene lære mer om sine kunder, slik at de kan gi bedre service - ved å utstede proaktive tjenestevarsler, for eksempel.
I denne sammenhengen betyr sparsom at felt i rader kan være tomme eller NULL, men det bringer ikke HBase til en krympehalt. HBase kan håndtere det faktum at du ikke (ennå) kjenner Jane Does mellennamn og e-postadresse, for eksempel.
Her er et annet eksempel: en database for lagring av satellittbilder. Det viser seg at Google bruker BigTable-teknologi til å lagre satellittbilder av jorden. I nesten alle tilfeller lagres metadata også når bildene lagres.
Metadataene kan inneholde bildeadressens gateadresse eller bare breddegrad og lengdegrad hvis bildet er tatt fra villmarken. Metadataene er variable i innhold, slik at noen felt vil være NULL - og det er OK.
I begge eksemplene kan datasettene som samles, være svært store - spesielt i det andre eksemplet.Imagery databaser er nesten alltid målt i terabyte eller noen ganger i petabytes.
HBase er designet for lagring av store data, men den er også designet for å lagre sparsomme dataposter uten kostnad. Denne bekymringen er avgjørende når du bruker store dataprogrammer! Lagring av noen få NULL-poster over en million rader er sløsing, men prøv å tenke på avfallet over en quadrillionrader!
Heldigvis var dette et viktig hensyn for Google-designere og HBase-fellesskapet. Sparsomme data støttes uten sløsing med kostbart lagringsplass.
Og det stopper ikke der. Tenk på kraften til et skjema-mindre datalager. Tabellen viser deg et klassisk kundekontaktbord. Når bedrifter utformer disse tabellene, vet de opp foran hva de vil lagre. Med andre ord er skjemaet fast ; Det er definert selv før den første byte av informasjon er lagret i tabellen.
Nå, om det med tiden er behov for et nytt felt for en kunde? Hva med et Twitter-håndtak eller et nytt mobilnummer? Du er tilsynelatende fast med et skjema som ikke lenger fungerer for deg.
Vel, HBase løser også denne utfordringen - du kan ikke bare hoppe over felt uten kostnad når du ikke har dataene, men også dynamisk legge til felt (eller kolonner i HBase-folketallet) over tid uten å måtte omforme skjemaet eller forstyrre operasjonene.
Så du kan tenke på HBase som et skjema-less datalager; det vil si det er flytende - du kan legge til, trekke fra eller endre skjemaet mens du går.
HBase distribueres og vedvarende
BigTable er en distribuert og vedvarende datalager. Vedvarende betyr ganske enkelt at dataene du lagrer i BigTable (og HBase, for den saks skyld) vil fortsette eller forbli når programmet eller økten din slutter. Det er ganske greit - vedvarende betyr at det vedvarer - men du bør bruke litt mer tid på å tenke på hvordan dataene vedvarer.
I sitt BigTable-papir beskrev Google det distribuerte filsystemet kjent som Google File System eller GFS. Det viser seg at, akkurat som HBase er en åpen kildekodeimplementering av BigTable, er HDFS en åpen kildekodeimplementering av GFS.
Som standard bruker HBase HDFS til å fortsette dataene til disklagring. Selv om andre distribuerte datalager kan brukes med HBase, utvider de aller fleste HBase-installasjoner HDFS. Dette gir perfekt sans gitt at HBase er "Hadoop Database" - hei, den er innebygd i navnet, for godhets skyld.
HDFS er en nøkkel som tillater teknologi ikke bare for Hadoop, men også for HBase. Ved å lagre data i HDFS, tilbyr HBase pålitelighet, tilgjengelighet, sømløs skalerbarhet, høy ytelse og mye mer - alt på kostnadseffektive distribuerte servere!
HBase har et flerdimensjonalt sortert kart
Med utgangspunkt i det grunnleggende, er et kart (også kjent som en associativ array ) en abstrakt samling av nøkkelverdier, hvor nøkkelen er unik. Denne definisjonen er avgjørende for forståelsen av HBase fordi HBase-datamodellen ofte beskrives på forskjellige måter - ofte ufullstendig som en kolonneorientert butikk.
HBase er i bunnen en nøkkelverdi datalager hvor hver nøkkel er unik - noe som betyr at den fremkommer høyst en gang i HBase datalager. I tillegg er kartet sortert og flerdimensjonalt. Nøklene lagres i HBase og sorteres i byte-leksikografisk rekkefølge. Hver verdi kan ha flere versjoner, noe som gjør datamodellen flerdimensjonal. Som standard blir dataversjoner implementert med en tidsstempel.
