Cassandra Architecture & Strategie faktoru replikace

Cassandra je navržena pro zpracování velkých dat. Hlavní funkcí Cassandry je ukládání dat na více uzlech bez jediného bodu selhání.

Důvodem pro tento druh architektury Cassandry bylo, že k selhání hardwaru může dojít kdykoli. Každý uzel může být nefunkční. V případě poruchy lze použít data uložená v jiném uzlu. Proto je Cassandra navržena s distribuovanou architekturou.

Cassandra ukládá data na různých uzlech s distribuovanou módní architekturou typu peer to peer.

Všechny uzly si navzájem vyměňují informace pomocí protokolu Gossip . Gossip je protokol v Cassandře, pomocí kterého mohou uzly mezi sebou komunikovat.

V tomto výukovém programu se naučíte

  • Součásti Cassandry
  • Replikace dat
  • Zápis operace
  • Přečíst operaci

Součásti Cassandry

V Cassandře jsou následující komponenty;

Schéma architektury Cassandra
  • Uzel

    Uzel je místo, kde jsou uložena data. Je základní složkou Cassandry.

  • Datové centrum

    Kolekce uzlů se nazývá datové centrum. Mnoho uzlů je kategorizováno jako datové centrum.

  • Klastr

    Klastr je kolekce mnoha datových center.

  • Commit Log

    Každá operace zápisu je zapsána do Commit Log. Protokol potvrzení se používá pro zotavení po havárii.

  • Mem-tabulka

    Poté, co jsou data zapsána do Commit logu, jsou data zapsána do Mem-tabulky. Data jsou dočasně zapisována do Mem-tabulky.

  • SSTable

    Když Mem-table dosáhne určité prahové hodnoty, data se vyprázdní do souboru disku SSTable.

Replikace dat

Protože může nastat problém s hardwarem nebo může dojít k výpadku spojení kdykoli během datového procesu, je nutné řešení, které poskytne zálohu, když dojde k problému. Data se tedy replikují, aby se zajistil jediný bod selhání.

Cassandra umisťuje repliky dat na různé uzly na základě těchto dvou faktorů.

  • Kam umístit další repliku určuje strategie replikace .
  • Zatímco celkový počet replik umístěných na různých uzlech je určen faktorem replikace .

Jeden faktor replikace znamená, že existuje pouze jedna kopie dat, zatímco tři faktor replikace znamenají, že existují tři kopie dat ve třech různých uzlech.

Pro zajištění, že neexistuje jediný bod selhání, musí být faktor replikace tři.

V Cassandře existují dva druhy replikačních strategií.

SimpleStrategy

SimpleStrategy se používá, pokud máte pouze jedno datové centrum. SimpleStrategy umístí první repliku na uzel vybraný oddílem. Poté se zbývající repliky umístí ve směru hodinových ručiček do uzlového kruhu.

Zde je obrazová reprezentace SimpleStrategy.

NetworkTopologyStrategy

NetworkTopologyStrategy se používá, pokud máte více než dvě datová centra.

V NetworkTopologyStrategy jsou repliky nastaveny pro každé datové centrum zvlášť. NetworkTopologyStrategy umístí repliky ve směru hodinových ručiček do kruhu, dokud nedosáhne prvního uzlu v jiném stojanu.

Tato strategie se pokouší umístit repliky na různé stojany ve stejném datovém centru. To je způsobeno tím, že ve stojanu někdy může dojít k selhání nebo problému. Potom repliky na jiných uzlech mohou poskytovat data.

Zde je obrazové znázornění strategie topologie sítě

Zápis operace

Koordinátor odešle požadavek na zápis do replik. Pokud jsou všechny repliky nahoře, obdrží požadavek na zápis bez ohledu na jejich úroveň konzistence.

Úroveň konzistence určuje, kolik uzlů bude reagovat zpět s potvrzením úspěchu.

Uzel odpoví zpět s potvrzením úspěchu, pokud jsou data úspěšně zapsána do protokolu potvrzení a memTable.

Například v jednom datovém centru s replikačním faktorem rovným tři obdrží tři repliky požadavek na zápis. Pokud je úroveň konzistence jedna, pouze jedna replika odpoví zpět s potvrzením úspěchu a zbývající dvě zůstanou nečinné.

Předpokládejme, že pokud zbývající dvě repliky ztratí data kvůli výpadkům uzlů nebo nějakému jinému problému, provede Cassandra řádek konzistentní pomocí vestavěného mechanismu opravy v Cassandře.

Zde je vysvětleno, jak v Cassandře probíhá proces zápisu,

  1. Když na uzel přijde požadavek na zápis, nejprve se přihlásí do protokolu potvrzení.
  2. Potom Cassandra zapíše data do mem-tabulky. Data zapsaná v mem-tabulce o každém požadavku na zápis také samostatně zapisují do protokolu potvrzení. Mem-table je dočasně uložená data v paměti, zatímco Commit log protokoly transakčních záznamů pro účely zálohování.
  3. Když je tabulka plná, data se vyprázdní do datového souboru SSTable.

Přečíst operaci

Existují tři typy požadavků na čtení, které koordinátor odesílá do replik.

  1. Přímá žádost
  2. Žádost o trávení
  3. Přečtěte si požadavek na opravu

Koordinátor odešle přímý požadavek na jednu z replik. Poté koordinátor odešle požadavek na souhrn na počet replik zadaných na úrovni konzistence a zkontroluje, zda jsou vrácená data aktualizovanými daty.

Poté koordinátor odešle požadavek na shrnutí všem zbývajícím replikám. Pokud některý uzel dává zastaralou hodnotu, aktualizuje tato data požadavek na opravu čtení na pozadí. Tento proces se nazývá mechanismus opravy čtení.

souhrn

Tento kurz vysvětluje interní architekturu Cassandry a způsob, jakým Cassandra replikuje, zapisuje a čte data v různých fázích. Zde také vysvětluje, jak Cassandra udržuje úroveň konzistence během celého procesu.

Zajímavé články...