co je perzistence dat a proč na tom záleží?

další informace o persistenci v Cassandře a dalších databázích NoSQL, podívejte se, co je NoSQL?

pochopení významu perzistence je důležité pro hodnocení různých systémů ukládání dat. Vzhledem k významu úložiště dat ve většině moderních aplikací by špatně informovaná volba mohla znamenat značné prostoje nebo ztrátu dat. V tomto příspěvku, budeme diskutovat o perzistenci a přístupech k návrhu úložiště dat a poskytneme jim nějaké pozadí v kontextu Cassandry.

Persistence je „pokračování účinku po odstranění jeho příčiny“. V souvislosti s ukládáním dat do počítačového systému to znamená, že data přežijí po ukončení procesu, s nímž byla vytvořena. Jinými slovy, aby úložiště dat bylo považováno za trvalé, musí zapisovat do energeticky nezávislého úložiště.

Pokud budete potřebovat vytrvalost ve vašem úložiště dat, pak se budete muset také pochopit čtyři muže, design přístupy, které jako úložiště dat může trvat a jak (nebo jestli) tyto návrhy poskytují vytrvalost:

  • Čistě v paměti, žádná vytrvalost, jako memcaches nebo Scalaris

  • V paměti se pravidelné snímky, jako jsou Oracle Soudržnost nebo Redis

  • Disk-založené s update-in-place píše, jako MySQL ISAM nebo MongoDB

  • Commitlog-založené, jako všechny tradiční OLTP databází (Oracle, SQL Server, etc.)

přístupy v paměti mohou dosáhnout závratné rychlosti, ale za cenu omezení na relativně malý datový soubor. Největší pracovní vytížení mají relativně malý „hot“ (aktivní) podmnožinu jejich celková dat; systémy, které vyžadují celý datset aby se vešly do paměti, spíše než jen aktivní část jsou v pořádku pro cache, ale to špatné fit pro většinu ostatních aplikací. Protože data jsou pouze v paměti, nepřežije ukončení procesu. Proto tyto typy datových úložišť nejsou považovány za trvalé.

nejjednodušší způsob, jak přidat perzistenci do systému v paměti, je s periodickými snímky na disk v konfigurovatelném intervalu. Tím pádem, můžete ztratit až do tohoto intervalu v hodnotě aktualizací.

Update-in-place a commitlog-založené systémy ukládání do non-volatilní paměti okamžitě, ale pouze commitlog na bázi perzistence zajišťuje dlouhou Životnost-D v KYSELINĚ … s každým psát přetrvával, než úspěchu je vrácena klientovi.

Cassandra implementuje perzistenci založenou na protokolu odevzdání, ale zároveň poskytuje laditelné úrovně trvanlivosti. To vám umožní rozhodnout, jaký je správný kompromis mezi bezpečností a výkonem. Můžete si vybrat, pro každou operaci zápisu, čekat, že aktualizace do vyrovnávací paměti do paměti zapsány na disk na jeden stroj, zapsány na disk na více počítačích, nebo dokonce zapsány na disk na více počítačích v různých datových centrech. Nebo, můžete se rozhodnout přijmout píše rychle, jak je to možné, potvrzení jejich přijetí bezprostředně před tím, než byly dokonce plně deserializovány ze sítě.

na konci dne jste jediný, kdo ví, jaký je správný výkon/trvanlivost pro vaše data. Informované rozhodnutí o technologiích ukládání dat je zásadní pro řešení tohoto kompromisu za vašich podmínek. Protože Cassandra poskytuje takovou laditelnost, je to logická volba pro systémy, které potřebují trvalé a výkonné úložiště dat.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.