Hjem Personlig finansiering Overførsel fra en RDBMS-model til HBase-dummies

Overførsel fra en RDBMS-model til HBase-dummies

Video: Overførsel af filer fra iPhone til computer (Windows) 2024

Video: Overførsel af filer fra iPhone til computer (Windows) 2024
Anonim

Hvis du står over for designfasen til din ansøgning, og du mener, at HBase ville være en god form, så udformes din rækkenøgler og skema til at passe til HBase-datamodellen og arkitekturen. ret tilgang. Men nogle gange giver det mening at flytte en database oprindeligt designet til en RDBMS til HBase.

Et fælles scenario, hvor denne tilgang giver mening er en MySQL database instans, der har nået sine grænser for skalerbarhed. Der findes teknikker til horisontal skalering af en MySQL-instans ( sharding, med andre ord), men denne proces er normalt besværlig og problematisk, fordi MySQL simpelthen ikke oprindeligt var designet til sharding.

Overgang fra relationsmodellen til HBase-modellen er en forholdsvis ny disciplin. Imidlertid er der opstået visse etablerede tankegange, der er sammenfaldende med tre centrale principper, der skal følges, når man nærmer sig en overgang. Disse principper er denormalisering, dobbeltarbejde, og intelligente nøgler (DDI) .

  • Denormalisering: Relationsdatabasemodellen afhænger af a) et normaliseret databaseskema og b) forbinder mellem tabeller for at reagere på SQL-operationer. Database normalisering er en teknik, der beskytter mod tab af data, redundans og andre uregelmæssigheder, da data opdateres og hentes.

    Der er en række regler, som eksperterne følger for at nå frem til et normaliseret databaseskema (og database normalisering er en hel undersøgelse selv), men processen indebærer normalt at dele større tabeller i mindre tabeller og definere relationer mellem dem. Database denormalisering er modsat af normalisering, hvor mindre, mere specifikke tabeller er sammenføjet i større, mere generelle tabeller.

    Dette er et almindeligt mønster, når du overfører til HBase, fordi tilslutninger ikke findes på tværs af tabeller, og sammenføjninger kan være langsomme, da de involverer dyre diskoperationer. Overvågning af opdateringen og hentning af anomalier er nu jobbet i din HBase-klientprogram, da de beskyttelser, der ydes ved normalisering, er ugyldige.

  • Duplikering: Når du deformaliserer dit databaseskema, vil du sandsynligvis ende med at duplikere dataene, fordi det kan hjælpe dig med at undgå dyre læseoperationer på tværs af flere tabeller. Vær ikke bekymret for den ekstra opbevaring (inden for grund selvfølgelig); du kan bruge den automatiske skalerbarhed af HBase til din fordel.

    Vær opmærksom på, at dit klientprogram vil kræve ekstra arbejde for at duplikere dataene og huske, at HBase kun leverer rodeniveau atomoperationer ikke tværgående rækker (med undtagelse beskrevet i HBASE-5229 JIRA) eller kryds bord.

  • Intelligente nøgler: Da de data, der er lagret i HBase, er ordnet med radnøgle, og radnøglen er det eneste native indeks, der leveres af systemet, kan en omhyggelig intelligent konstruktion af radnøglen gøre en enorm forskel. For eksempel kan din radnøgle være en kombination af et servicekontonummer og kundens id-nummer, der placerede serviceordren.

    Dette række nøgle design giver dig mulighed for at slå op data relateret til serviceordren eller slå op data relateret til kunden ved hjælp af samme rad nøgle i samme tabel. Denne teknik vil være hurtigere for nogle forespørgsler og undgå dyre bordtilslutninger.

For at afklare disse særlige tankemønstre skal du tage en tabel med kundekontaktoplysninger og placere den inden for rammerne af en typisk serviceordningsdatabase. Figuren viser dig, hvad en normaliseret serviceordningsdatabaseskema kan se ud.

I overensstemmelse med reglerne for RDBMS-normalisering skal du oprette stikprøven Kontaktoplysninger for kunden, så den er adskilt fra serviceordetabellen for at undgå at miste kundedata, når serviceordrer lukkes og eventuelt slettes. Tag den samme fremgangsmåde for produkttabellen, hvilket betyder, at nye produkter kan tilføjes til den fiktive virksomhedsdatabase uafhængigt af serviceordrer.

Ved at stole på RDBMS-tilslutningsoperationer understøtter dette skema forespørgsler, der viser antallet af serviceordrer, der åbnes mod et bestemt produkt sammen med kundens sted, hvor produktet er i brug.

Det er alt fint og dandy, men det er et skema, du vil bruge med RDBM. Hvordan overfører du dette skema til et HBase-skema? Den næste figur illustrerer en mulig HBase-ordning - en der følger DDI-mønsteret.

Kundekontaktinformationstabellen er blevet denormaliseret ved at inkludere kundens navn og kontaktoplysninger i stedet for de fremmede nøgler, der tidligere blev anvendt. Dataene duplikeres også ved at holde tabellen Customer Contact Information som det er. Nu tilslutter sig Service Order-tabellen, og der er ikke behov for kundekontaktoplysninger.

Derudover er der anvendt et intelligent række nøgle design, der kombinerer produktnummeret med kundenummeret for at danne serviceordrenummeret (f.eks. A100 | 00001). Ved hjælp af denne intelligente nøgle kan serviceordetabellen give vigtige rapporter om produktmangler og kunder, der i øjeblikket oplever produktproblemer.

Alle disse forespørgsler kan alle understøttes af HBase i en række atomatom for ansøgningen. Fordi du ved, at HBase ordrer række nøgler og sorterer dem på en leksikografisk måde, kan din ansøgning gøre visse uddannede gæt om datalokalitet, når du udsteder scanninger til rapportering. (Alle A * -serienummer bliver gemt sammen, for eksempel.)

Den serviceordningsdatabase, der repræsenteres af HBase-skemaet, er et relativt simpelt eksempel, men det illustrerer, hvordan HBase i visse tilfælde kan krydse med RDBMS-verdenen og give en betydelig værdi. Hvis den fiktive virksomhed har terabytes eller endda petabytes af serviceopkaldsdata, der skal gemmes, ville HBase gøre en enorm forskel hvad angår omkostninger, pålidelighed, ydeevne og målestok.

Du kan selvfølgelig designe din serviceordre HBase-skema på flere forskellige måder. Helt sikkert afhænger designet af de spørgsmål, der skal understøttes, men du har evnen til at overføre nogle relationelle databaser til meget kraftfulde HBase-applikationer til produktion, så længe du arbejder med en solid forståelse af HBase-arkitekturen og DDI-designmønsteret.

Dette eksempel har antaget, at forespørgsler blev udført af en Java-applikation, der udnytter HBase-klient-API'erne, eller måske via et andet sprog ved hjælp af Apache Thrift. Denne applikationsmodel kan tilpasse kravene helt fint og give nyttige præstationer og tilpasningsmuligheder til det fiktive servicevirksomhed.

Overførsel fra en RDBMS-model til HBase-dummies

Valg af editor

Opret en Photomerge Scene Cleaner Composite i Photoshop Elements 11 - dummies

Opret en Photomerge Scene Cleaner Composite i Photoshop Elements 11 - dummies

Photoshop Elements 11's Photomerge Scene Cleaner Det lyder som et skjult job hos CIA, hvor du bruger dine dage til at bevise på forbrydelsesscener, men det er ikke helt så spændende. Dette Photomerge-kommandoværktøj sætter dig i stand til at skabe det optimale billede ved at tillade dig at fjerne irriterende distraktioner, såsom biler, forbipasserende og så ...

Opret et online fotoalbum i Photoshop Elements 10 - dummies

Opret et online fotoalbum i Photoshop Elements 10 - dummies

, Når du klikker på Del i enten Organizer eller Fuld fotoredigeringstilstand for Photoshop Elements 10, og åbn panelet Del, finder du Online Album øverst på listen. Betegnelsen Online er en smule vildledende her, fordi du kan bruge denne delingsfunktion til både online og lokale filskabelser. Eksporter ...

Opret et smart album i Photoshop Elements 10 - dummies

Opret et smart album i Photoshop Elements 10 - dummies

Du kan udføre en søgning baseret på et antal forskellige kriterier. Funktionen Smart Album gør det muligt at gemme søgeresultaterne i et album. Når du har alle de filer, der vises i organisatoren, baseret på de søgninger, du udfører, kan du oprette et smart album som følger:

Valg af editor

Enterprise Mobile Devices and Exchange ActiveSync - dummies

Enterprise Mobile Devices and Exchange ActiveSync - dummies

Microsoft udviklede Exchange ActiveSync (EAS) som en synkroniseringsprotokol til Microsoft Exchange , men det er blevet tilpasset til at omfatte mere mobil enhedens sikkerhed og ledelsesfunktionalitet. EAS er en proprietær protokol, der er udviklet af Microsoft, og som er blevet licenseret og godkendt af leverandørerne af enhedsoperativsystemer, og er blevet en de facto-standard over ...

Enterprise Mobile Device Protection med applikationspolitikker - dummies

Enterprise Mobile Device Protection med applikationspolitikker - dummies

Applikationspolitikker beskriver, hvilke applikationer brugere har lov til at bruge, mens de får adgang virksomhedens netværk med en mobil enhed. Ansøgningspolitikker er særligt afgørende, fordi de mange applikationer, som brugere kan downloade, vokser eksponentielt. Dette øger risikoen for, at dine brugere sandsynligvis uskyldigt downloader en ondsindet program, der forårsager kaos ...

Enterprise Mobile Device Security: Carrier-Provided Voice Encryption - dummies

Enterprise Mobile Device Security: Carrier-Provided Voice Encryption - dummies

Med den udbredte adoption af mobil enheder kommer en tendens til at bruge dem til at drive missionskritisk forretning og åbne talekommunikation som en sikkerhedsvektor. Det gør de mobile enheder til et meget saftigt mål for alle vandaler derude. Og selvom der ikke har været udbredt udnyttelse af talekommunikation hidtil, kan dagen ikke ...

Valg af editor

Hvordan man skyder natportrætter på din Canon EOS 6D - dummies

Hvordan man skyder natportrætter på din Canon EOS 6D - dummies

, Når du vil oprette portrætter af emner om natten på din EOS 6D med denne tilstand, forbliver lukkeren åben lang nok til at fange detaljer i baggrunden også. Det betyder, at du skal montere dit kamera på et stativ for at kompensere for langsom lukkertid. Du skal også bruge en Canon ...

Sådan optager du billeder med HDR Backlight Control SCN-tilstand på din Canon EOS 6D - dummies

Sådan optager du billeder med HDR Backlight Control SCN-tilstand på din Canon EOS 6D - dummies

Nogle gange vil du fotografere en scene med en bred varians i toneområdet. Din EOS 6D tilbyder en løsning med HDR Backlight Control SCN-tilstand. Ellers er din Canon nødt til at gå på kompromis, og du ender med et billede, der har detaljer i mellemklassen, men mangler detaljer i skyggeområdet. Når du ...