hva er data utholdenhet og hvorfor betyr det noe?

for mer informasjon om utholdenhet I Cassandra og Andre nosql-databaser, sjekk Ut Hva Er NoSQL?

Å Forstå betydningen av utholdenhet er viktig for å evaluere ulike datalagersystemer. Gitt viktigheten av datalageret i de fleste moderne applikasjoner, kan et dårlig informert valg bety betydelig nedetid eller tap av data. I dette innlegget diskuterer vi persistence og data store design tilnærminger og gir litt bakgrunn på disse i Sammenheng Med Cassandra.

Persistens er «fortsettelsen av en effekt etter at årsaken er fjernet». I sammenheng med lagring av data i et datasystem betyr dette at dataene overlever etter at prosessen som den ble opprettet, er avsluttet. Med andre ord, for at en datalager skal betraktes som vedvarende, må den skrive til ikke-flyktig lagring.

hvis du trenger utholdenhet i datalageret ditt, må du også forstå de fire mannsdesignmetodene som en datalager kan ta og hvordan (eller hvis) disse designene gir utholdenhet:

  • Ren i minnet, ingen utholdenhet i det hele tatt, for eksempel memcaches eller Scalaris

  • Minne med periodiske øyeblikksbilder, For Eksempel Oracle Coherence eller Redis

  • Diskbasert med oppdatering på stedet skriver, For Eksempel MySQL ISAM eller MongoDB

  • Commitlog-basert, for eksempel alle tradisjonelle OLTP-databaser(Oracle, SQL Server, etc.)

In-memory tilnærminger kan oppnå lynrask hastighet, men på bekostning av å være begrenset til et relativt lite datasett. De fleste arbeidsbelastninger har relativt små «hot» (aktiv) delsett av deres totale data; systemer som krever at hele datset skal passe i minnet i stedet for bare den aktive delen, er fine for cacher, men en dårlig passform for de fleste andre applikasjoner. Fordi dataene bare er i minnet, vil det ikke overleve prosessavslutning. Derfor er disse typer datalager ikke ansett som vedvarende.

den enkleste måten å legge utholdenhet til en in-memory system er med periodiske øyeblikksbilder til disk på et konfigurerbart intervall. Dermed kan du miste opp til det intervallet er verdt oppdateringer.

Update-in-place og commitlog-baserte systemer lagre til ikke-flyktig minne umiddelbart, men bare commitlog-basert utholdenhet gir Holdbarhet-D I SYRE – med hver skrive vedvarte før suksess returneres til klienten.

Cassandra implementerer en commit-log basert utholdenhet design, men samtidig gir for tunable nivåer av holdbarhet. Dette gjør at du kan bestemme hva riktig trade off er mellom sikkerhet og ytelse. Du kan velge, for hver skriveoperasjon, å vente på at oppdateringen skal bufres til minne, skrevet til disk på en enkelt maskin, skrevet til disk på flere maskiner, eller til og med skrevet til disk på flere maskiner i forskjellige datasentre. Eller, du kan velge å godta skriver en raskt som mulig, anerkjenne deres mottak umiddelbart før de har selv blitt fullstendig deserialized fra nettverket.

På slutten av dagen er du den eneste som vet hva riktig ytelse/holdbarhet handel er for dataene dine. Å ta en informert beslutning om datalagerteknologier er avgjørende for å takle denne avviket på dine vilkår. Fordi Cassandra gir slik tuneability, er det et logisk valg for systemer med behov for en holdbar, performant datalager.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.