Hem Personliga finanser Attributen till HBase-dummies

Attributen till HBase-dummies

Innehållsförteckning:

Video: Databases & Data Warehouses, Data: Structures, Types, Integrations 2024

Video: Databases & Data Warehouses, Data: Structures, Types, Integrations 2024
Anonim

HBase (Hadoop Database) är en Java-implementering av Googles BigTable. Google definierar BigTable som en "gles, distribuerad, beständig multidimensionell sorterad karta. "Det är en ganska kortfattad definition, men du kommer också att hålla med om att det är lite på den komplexa sidan. För att bryta ner BigTables komplexitet lite, följer en diskussion om varje attribut.

Hbase är gles

Som du kanske gissat var BigTables distribuerade datalagringssystem utformat för att möta kraven på stora data. Nu lagrar stora dataprogram mycket data, men stor datainnehåll är också ofta variabel. Föreställ dig ett traditionellt bord i en företagsdatabas som lagrar kundkontaktinformation, som visas:

Traditionell kundkontaktinformationstabell

Kunde-ID Efternamn Förnamn Mellannamn E-postadress Gatuadress
00001 Smith John Timothy 1 Hadoop Lane, NY 11111
00002 Doe Jane NULL NULL 7 HBase Ave, CA 22222

Ett företag eller en individ kan kräva en fullständig datapost för var och en av sina kunder eller beståndsdelar. Ett bra exempel är din läkare, som behöver all din kontaktinformation för att du ska kunna sköta dig ordentligt. Andra företag eller privatpersoner kan kräva endast partiell kontaktinformation eller kan behöva lära sig den informationen över tiden.

Exempelvis kan ett kundserviceföretag behandla telefonsamtal eller e-postmeddelanden för serviceförfrågningar. Klienter kan eller inte välja att ge serviceföretag all sin kontaktinformation. Men med varje växelverkan över tiden kan företagen lära sig mer om sina kunder, så att de kan ge bättre service - genom att utfärda proaktiva servicevarningar, till exempel.

I detta sammanhang betyder sparsom att fält i rader kan vara tomma eller NULL men det leder inte till HBase till ett krypande stopp. HBase kan hantera det faktum att du (ännu) inte känner till Jane Does mellannamn och e-postadress, till exempel.

Här är ett annat exempel: en databas för lagring av satellitbilder. Det visar sig att Google använder BigTable-teknik för att lagra satellitbilder av jorden. I nästan alla fall lagras metadata även när bilder sparas.

Metadata kan innehålla bildens gatuadress eller endast latitud och longitud om bilden är fångad från vildmarken. Metadata är variabel i innehåll så vissa fält blir NULL - och det är OK.

I båda exemplen kan de datasatser som samlas in vara extremt stora - speciellt i det andra exemplet.Imagery databaser mäts nästan alltid i terabyte eller ibland i petabyter.

HBase är konstruerad för att lagra stor data, men den är också avsedd att lagra sparsamma dataposter utan kostnad. Denna oro är avgörande när du använder stora dataprogram! Att lagra några NULL-poster över en miljon rader är slöseri, men försök att föreställa avfallet över en quadrillionrader!

Tack och lov var detta ett viktigt övervägande för Google-designers och HBase-samhället. Sparsam data stöds utan slöseri med dyrt lagringsutrymme.

Och det slutar inte där. Tänk på kraften i en schemalagd datalager. I tabellen visas ett klassiskt kundkontaktbord. När företag utformar dessa tabeller, vet de upp framför vad de vill lagra. Med andra ord är schemat fixerat ; Det definieras även innan den första byte av information lagras i tabellen.

Nu, om det i tid krävs ett nytt fält för en kund? Vad sägs om ett Twitter-handtag eller ett nytt mobilnummer? Du är uppenbart fast med ett schema som inte längre fungerar för dig.

Ja, HBase löser också den här utmaningen - du kan inte bara hoppa över fält utan kostnad när du inte har data, men lägger även till fält (eller kolumner i HBase-folket) över tid utan att behöva omforma schemat eller störa operationerna.

Så du kan tänka på HBase som en schemalagd datalager; det vill säga det är flytande - du kan lägga till, subtrahera eller ändra schemat när du går vidare.

HBase distribueras och beständig

BigTable är en distribuerad och beständig datalagring. Persistent betyder helt enkelt att de data du lagrar i BigTable (och HBase, för den delen) kommer att kvarstå eller förbli efter att ditt program eller session slutar. Det är ganska enkelt - beständigt betyder att det kvarstår - men du borde spendera lite mer tid på att tänka på hur uppgifterna kvarstår.

I sitt BigTable-papper beskrev Google det distribuerade filsystemet känt som Google File System eller GFS. Det visar sig att, precis som HBase är en open source-implementering av BigTable, är HDFS en öppen källkodsimplementering av GFS.

Som standard använder HBase HDFS för att fortsätta sin data till disklagring. Även om andra distribuerade datalager kan användas med HBase utnyttjar de allra flesta HBase-installationer HDFS. Detta ger perfekt mening med tanke på att HBase är "Hadoop databasen" - hej, den är inbyggd i namnet, för godhets skull.

HDFS är en nyckel som möjliggör teknik inte bara för Hadoop utan även för HBase. Genom att lagra data i HDFS erbjuder HBase tillförlitlighet, tillgänglighet, sömlös skalbarhet, hög prestanda och mycket mer - allt på kostnadseffektiva distribuerade servrar!

HBase har en multidimensionell sorterad karta

Med utgångspunkt från grunderna är en karta (även känd som en associativ array ) en abstrakt samling av nyckelvärdespar, där nyckeln är unik. Denna definition är avgörande för din förståelse av HBase eftersom HBase-datamodellen ofta beskrivs på olika sätt - ofta ofullständigt som en kolumnorienterad butik.

HBase är i botten en nyckelvärdesdatabutik där varje nyckel är unik - vilket betyder att den visas högst en gång i HBase datalager. Dessutom är kartan sorterad och flerdimensionell. Nycklarna lagras i HBase och sorteras i byte-lexicografisk ordning. Varje värde kan ha flera versioner, vilket gör datamodellen multidimensionell. Som standard implementeras dataversioner med en tidsstämpel.

Attributen till HBase-dummies

Redaktörens val

Hur man lägger till text i en sätter () Funktion i C Programmering

Hur man lägger till text i en sätter () Funktion i C Programmering

När du behöver visa en annan textrad, använd C-programmeringsfärdigheterna för att skapa en annan puts () -funktion i källkoden, som visas i Visa två textlinjer. VISA TILL TEXTFINER # inkludera int main () {sätter ("Hickory, Dickory, Dock,"); sätter ("musen sprang klockan."); returnera (0);} Den andra ...

Förklarar variabler i C-dummies

Förklarar variabler i C-dummies

Variabler är det som gör dina program zooma. Programmering kan bara inte bli gjort utan dem. Så om du inte har introducerats till variabler än, här går du. Valerie Variable är en numerisk variabel. Hon älskar att hålla nummer - vilket nummer som helst; det spelar ingen roll. När hon ser ett lika tecken tar hon ett värde och ...

Redaktörens val

Gör rädsla för din vän - dummies

Gör rädsla för din vän - dummies

Rädsla är lika verklig som mod. Även om värdet av rädsla inte är lika uppenbart som modets värde, har det dess fördelar. Rädsla är din instinkt som säger att du är obehaglig - även om situationen inte kommer att skada dig. Alla har haft den känslan när man hellre drar locket ...

Hur man ökar din självmedvetenhet - dummies

Hur man ökar din självmedvetenhet - dummies

Du kommer att vara med dig själv under en livstid. Ingenting kommer att förändra det faktum. Att lära känna, som att lyssna på och uppskatta själv är avgörande för din sanity. Kanske kommer du till att älska, acceptera och omfamna alla du är, är svår för dig att föreställa dig just nu, men du kan göra ...

Hur man ökar din mentala flexibilitet - dummies

Hur man ökar din mentala flexibilitet - dummies

ÄR flexibel i arbete och relationer är ett tecken på en högpresterande. Medan perfektionister är styva och obehagliga i sitt arbete och hur de interagerar med andra, är högpresterande mer öppna och tillmötesgående. Att vara mer flexibel på jobbet gav Ralph aldrig förslag under brainstorming vid gruppmöten. Han kände att hans lag ...

Redaktörens val

Nätverksadministration: Linux-installation och virtuella konsoler - dummies

Nätverksadministration: Linux-installation och virtuella konsoler - dummies

Linux är i sig ett kommandoradsorienterat operativsystem. Grafiska användargränssnitt - inklusive installationsprogrammets GUI - tillhandahålls av en valfri komponent som heter X Window System. Men medan du arbetar med det grafiska användargränssnittet för installationsprogrammet, håller Linux flera ytterligare kommandorads-konsoler öppna. Normalt behöver du inte ...

Nätverksadministration: Linux-loggning, logg och systemavstängning - dummies

Nätverksadministration: Linux-loggning, logg och systemavstängning - dummies

Alla användare som åtkomst ett Linux-system, lokalt eller över ett nätverk, måste verifieras av ett giltigt användarkonto på systemet. I det följande får du veta hur du loggar in och ut på ett Linux-system och hur du stänger av systemet. Logga in När Linux startar upp visas det ...

Nätverksadministration: Licensserver - Dummies

Nätverksadministration: Licensserver - Dummies

I vissa program kan du köpa nätverkslicenser som gör att du kan installera programvaran på många datorer som du vill, men reglera antalet personer som kan använda programvaran vid en viss tidpunkt. För att styra hur många som använder programvaran, är en särskild licensserver inrättad. När en användare börjar ...