Innholdsfortegnelse:
Video: How Tor Browser Protects Your Privacy and Identity Online 2025
Det er tider når du vil gi nøkkelverdig stil høyhastighets tilgang til data i en relasjonsdatabase. Denne databasen kan for eksempel være Berkeley DB (Java Edition for Voldemort) eller MySQL.
Å gi nøkkelverdi som tilgang til data krever at nøkkelverdi lagres direkte over en av disse andre databasene. I utgangspunktet bruker du en annen database som lagringslag, i stedet for en kombinasjon av et filsystem for lagring og en inntaksrørledning for kopiering av data fra en relasjonsdatabase.
Denne prosessen forenkler å gi en høyverdig nøkkelverdibutikk mens du bruker en tradisjonell relasjonsdatabase for lagring.
Endring av lagringsmotorer
Ulike arbeidsbelastninger krever forskjellige lagringsmotorer og ytelsesegenskaper. Aerospike er flott for høyt inntak; Redis er flott for høyt antall leser. Hver er bygget rundt en bestemt brukstilstand.
Voldemort tar en annen tilnærming. I stedet for å behandle nøkkelverdi-butikken som en egen del av datastyring, behandler Voldemort nøkkelverdi-butikken som en API og legger til et lagringslag for lagring i minnet, noe som betyr at du kan plugge inn i bakenden som gir mest mening for dine spesielle behov.
Hvis du vil ha en enkel disklagringsnivå, kan du bruke Berkeley DB Java Edition-lagringsmaskinen. Hvis du i stedet ønsker å lagre relasjonsdata, kan du bruke MySQL som en back-end til Voldemort.
Denne funksjonen kombinert med egendefinerte datatyper lar deg bruke en nøkkelverdi butikkens enkle butikk / hente API for å effektivt trekke tilbake og lagre informasjon direkte i en annen backend-butikk.
Denne tilnærmingen står i motsetning til den vanlige tilnærmingen til å ha separate databaser - en for eksempel Oracle for transaksjonsdata og en annen i nøkkelverdibutikken (Riak, for eksempel). Med denne to-tier-tilnærmingen må du utvikle kode for å flytte data fra en tier til den andre for caching. Med Voldemort er det en kombinert tier - din dataarkel - slik at den ekstra koden er overflødig.
Cachedata i minnet
Voldemort har en innebygd cache i minnet, noe som reduserer belastningen på lagringsmaskinen og øker søkeytelsen. Du trenger ikke å bruke et eget caching-lag som for eksempel Redis eller Oracle's Coherence Java-applikasjonsdata caching produkt på toppen.
Muligheten til å levere høyhastighets lagring sammen med caching er hvorfor LinkedIn bruker Voldemort for visse høyytelsesbrukstilfeller.
Med Voldemort får du det beste fra begge verdener - en lagringsmotor for dine eksakte datakrav og en hurtig hurtigbuffer i minnet for å redusere belastningen på den motoren.Du får også enkle nøkkelverdier butikkbutikk / hente semantikk på toppen av lagringsmaskinen din.
Evaluering av Voldemort
I bøkene Harry Potter holdt Lord Voldemort mye magi i ham, både godt og dårlig, selv om han brukte det til å terrorisere muggles. Voldemort-databasen, som det viser seg, kan også lagre store mengder data, men kan brukes til gode av datalogiker overalt!
Voldemort er fortsatt et produkt i utvikling. Mange brikker mangler fortsatt, så det støtter ikke rekke lagringsmotorer du kan forvente. Dette fokuset for Voldemorts utviklingssamfunn er sannsynlig fordi Voldemort er bygd i Java-programmeringsspråket, noe som krever at en JFI-kontakt for Java (Native Interface) skal bygges for integrering i de fleste C- eller C ++-baserte databaser.
Voldemort har imidlertid god integrasjon med serialiseringsrammer. Støttede rammer inkluderer Java serialisering, Avro, Sparing og Protocol buffere. Dette betyr at de angitte API-pakkene samsvarer med den kjente serialiseringsmetoden for hvert programmeringsspråk, noe som gjør utviklingen av applikasjoner intuitiv.
Voldemort håndterer ikke konsistens så vel som andre systemer gjør. Voldemort bruker read repair tilnærming, hvor inkonsekvente versjonsnumre for samme rekord er fastsatt på lesetid, i stedet for å bli holdt konsistent på skrivetidspunktet.
Det er heller ingen sekundær indeksering eller spørringsstøtte; Voldemort forventer at du bruker fasilitetene til den underliggende lagringsmaskinen til å takle det bruksveske. Dessuten har Voldemort ikke opprinnelige databasestartere eller et varslings- eller hendelsesbehandlingsramme for å bygge en.
Hvis du trenger en nøkkelverdibutikk som er svært tilgjengelig, er partisjonstolerant, kjører i Java, og bruker forskjellige lagringsbakender, så kan Voldemort være for deg.
