Top 23 Cassandra Interview Questions & Odpovědi

Obsah

Stáhnout PDF

1) Vysvětlete, co je Cassandra?

Cassandra je systém pro ukládání dat s otevřeným zdrojovým kódem vyvinutý na Facebooku pro vyhledávání doručené pošty a určený k ukládání a správě velkého množství dat na komoditních serverech. Může serverovat jako obojí

  • Systém pro ukládání dat v reálném čase pro online aplikace
  • Také jako databáze náročná na čtení pro systém business intelligence

2) Jaké je použití Cassandry a proč používat Cassandru?

Cassandra byla navržena tak, aby zvládla velké datové vytížení napříč více uzly bez jediného bodu selhání. Různé faktory odpovědné za používání Cassandry jsou

  • Je odolný vůči chybám a konzistentní
  • Škálovatelné gigabajty na petabajty
  • Jedná se o sloupcově orientovanou databázi
  • Žádný jediný bod selhání
  • Není potřeba samostatná vrstva do mezipaměti
  • Flexibilní návrh schématu
  • Má flexibilní ukládání dat, snadnou distribuci dat a rychlé zápisy
  • Podporuje vlastnosti ACID (Atomicity, Consistency, Isolation, and Durability)
  • Podpora více datových center a cloudu
  • Komprese dat

3) Vysvětlete, co je kompozitní typ v Cassandře?

V Cassandře umožňuje kompozitní typ definovat klíč nebo název sloupce se zřetězením dat jiného typu. Můžete použít dva typy složeného typu

  • Klíč řádku
  • Název sloupce

4) Jak Cassandra ukládá data?

  • Všechna data uložená jako bajty
  • Když zadáte validátor, Cassandra zajistí, že tyto bajty budou kódovány podle požadavku
  • Potom komparátor objedná sloupec na základě pořadí specifického pro kódování
  • Zatímco kompozitní jsou pouze bajtová pole se specifickým kódováním, pro každou komponentu ukládá délku dvou bajtů následovanou komponentou kódovanou bajty následovanou koncovým bitem.

5) Uveďte, jaké jsou hlavní součásti datového modelu Cassandra?

Hlavní součásti datového modelu Cassandra jsou

  • Klastr
  • Klíčový prostor
  • Sloupec
  • Sloup a rodina

6) Vysvětlete, co je rodina sloupců v Cassandře?

Rodina sloupců v Cassandře se označuje za kolekci řádků.

7) Vysvětlete, co je shluk v Cassandře?

Klastr je kontejner pro prostory klíčů. Databáze Cassandra je rozdělena na několik strojů, které pracují společně. Klastr je nejvzdálenější kontejner, který uspořádává uzly do kruhového formátu a přiřazuje jim data. Tyto uzly mají repliku, která přebírá odpovědnost v případě selhání zpracování dat.

8) Seznam dalších komponent Cassandry?

Ostatní složky Cassandry jsou

  • Uzel
  • Datové centrum
  • Klastr
  • Potvrdit protokol
  • Mem-tabulka
  • SSTable
  • Bloom filtr

9) Vysvětlete, co je to klíčový prostor v Cassandře?

V Cassandře je klíčový prostor jmenný prostor, který určuje replikaci dat na uzlech. Klastr se skládá z jednoho prostoru klíčů na uzel.

10) Jaká je syntaxe pro vytvoření prostoru klíčů v Cassandře?

Syntaxe pro vytvoření prostoru klíčů v Cassandře je

CREATE KEYSPACE WITH

11) Uveďte, jaké jsou hodnoty uložené ve sloupci Cassandra?

Ve sloupci Cassandra v zásadě existují tři hodnoty

  • Název sloupce
  • Hodnota
  • Časové razítko

12) Uveďte, kdy můžete použít Alter keyspace?

ALTER KEYSPACE lze použít ke změně vlastností, jako je počet replik a trvanlivé_písmo prostoru klíčů.

13) Vysvětlete, co je Cassandra-Cqlsh?

Cassandra-Cqlsh je dotazovací jazyk, který umožňuje uživatelům komunikovat s jeho databází. Pomocí Cassandra cqlsh můžete dělat následující věci

  • Definujte schéma
  • Vložte data a
  • Proveďte dotaz

14) Uveďte, co určují příkazy prostředí „Capture“ a „Consistency“?

V Cassandře existují různé příkazy prostředí Cqlsh. Příkaz „Zachytit“, zachytí výstup příkazu a přidá jej do souboru, příkaz „Konzistence“ zobrazí aktuální úroveň konzistence nebo nastaví novou úroveň konzistence.

15) Co je povinné při vytváření tabulky v Cassandře?

Zatímco vytváření primárního klíče tabulky je povinné, je tvořeno jedním nebo více sloupci tabulky.

16) Uveďte, na co je třeba dávat pozor při přidávání sloupce?

Při přidávání sloupce je třeba dbát na to, aby

  • Název sloupce není v rozporu s existujícími názvy sloupců
  • Tabulka není definována s možností kompaktního úložiště

17) Uveďte, co jsou kolekce Cassandra-CQL?

Kolekce Cassandra CQL vám pomohou ukládat více hodnot do jedné proměnné. V Cassandře můžete kolekce CQL používat následujícími způsoby

  • Seznam : Používá se, když je třeba zachovat pořadí dat, a hodnota se má uložit vícekrát (obsahuje seznam jedinečných prvků)
  • SET : Používá se pro skupinu prvků k ukládání a vrácení v seřazených objednávkách (obsahuje opakující se prvky)
  • MAP : Jedná se o datový typ používaný k ukládání dvojice klíč – hodnota prvků

18) Vysvětlete, jak Cassandra zapisuje data?

Cassandra zapisuje data do tří složek

  • Commitlog zápis
  • Památný zápis
  • SStabulka zápisu

Cassandra nejprve zapisuje data do protokolu odevzdání a poté do pamětové struktury tabulky v paměti a nakonec do SStable

19) Vysvětlete, co je v Cassandře Památné?

  • Cassandra zapisuje data do struktury paměti známé jako Memtable
  • Jedná se o mezipaměť v paměti s obsahem uloženým jako klíč / sloupec
  • Klíčem Paměťová data jsou tříděna
  • Pro každou ColumnFamily existuje samostatná Memtable a načte data sloupce z klíče

20) Vysvětlete, z čeho se skládá SStable?

SStable se skládá hlavně ze 2 souborů

  • Indexový soubor (Bloomův filtr a páry offsetu klíče)
  • Datový soubor (aktuální údaje sloupce)

21) Vysvětlete, k čemu se Bloomův filtr používá v Cassandře?

Bloomův filtr je prostorově efektivní datová struktura, která se používá k testování, zda je prvek členem sady. Jinými slovy se používá k určení, zda má SSTable data pro konkrétní řádek. V Cassandře se používá k uložení IO při provádění HLAVNÍHO HLEDÁNÍ.

22) Vysvětlete, jak Cassandra zapisuje změněná data do commitlogu?

  • Cassandra zřetězila změněná data do commitlogu
  • Commitlog funguje jako protokol pro obnovení dat po havárii
  • Dokud nebudou změněná data zřetězena na potvrzení zápisu, operace zápisu nebude nikdy považována za úspěšnou

Data se neztratí, jakmile je do souboru vyprázdněn revizní protokol

23) Vysvětlete, jak Cassandra mazá data?

SSTable jsou neměnné a nemohou z SSTable odstranit řádek. Pokud je třeba řádek odstranit, Cassandra přiřadí hodnotě sloupce speciální hodnotu nazvanou Tombstone. Při načtení dat se hodnota Tombstone považuje za odstraněnou.

Zajímavé články...