Co to jest Cassandra?

Cassandra to baza danych NoSQL, która jest rozproszoną bazą danych peer to peer. Działa w klastrze, który ma jednorodne węzły. Jest wykonany w taki sposób, że może obsługiwać duże ilości danych. Przy przetwarzaniu tych danych powinien być również w stanie zapewnić wysoką wydajność. Cassandra zapewnia wysoki poziom, jeśli chodzi o operacje odczytu i zapisu. Architektura gromady Cassandra nie ma żadnych panów, niewolników ani żadnych konkretnych liderów. Korzystając z tej metody, upewnia się, że nie ma jednego punktu awarii. Przyjrzyjmy się szczegółowo architekturze.

Architektura Cassandra

Architektura Cassandra składa się głównie z węzła, klastra i centrum danych. Oprócz nich istnieją również inne elementy. Cassandra to baza danych przechowywana w wierszu. Umożliwia autoryzowanym użytkownikom łączenie się z dowolnym węzłem w dowolnym centrum danych za pomocą CQL.

Kluczowe struktury w Cassandrze

Są to następujące kluczowe struktury w Cassandrze:

  • Węzeł - tutaj przechowywane są dane. Jest to najbardziej podstawowy składnik Cassandra. Można go traktować jako pojedynczy serwer w szafie. Zapewnia to, że nie ma jednego punktu awarii.
  • Centrum danych - centrum danych to zbiór węzłów. Może to być fizyczny lub wirtualny. W zależności od obciążenia centra danych są podzielone i wybrane. Współczynnik replikacji jest ustalany na podstawie centrum danych. W zależności od tego współczynnika replikacji dane mogą być zapisywane w różnych centrach danych.
  • Klaster - klaster obejmuje jedno lub więcej centrów danych. Klastry zwykle obejmują różne fizyczne lokalizacje.

Oprócz nich pozostałe elementy, które odgrywają rolę w Cassandrze, są przedstawione poniżej.

1. Commit Log

Dane, które są zobowiązane do zachowania trwałości danych, są przechowywane w dzienniku zatwierdzeń. Dane są przenoszone do posortowanej tabeli ciągów (wyjaśnione poniżej). Po wykonaniu tego ruchu dziennik zatwierdzeń można zarchiwizować, usunąć lub poddać recyklingowi.

2. Tabela SS

Ta tabela, jak wspomniano w poprzednim punkcie, przechowuje tabele dziennika lub pamięci w regularnych odstępach czasu. Jest to niezmienny plik danych. Tabele SS mogą często przechowywać dane w sekwencyjny sposób. Dołączają dane i przechowują informacje dla każdej tabeli Cassandra.

3. Tabela CQL

Tabela zapytań Cassandra to zbiór uporządkowanych kolumn, które mogą pobrać wiersz z tej tabeli. W tej tabeli znajdują się kolumny, w których dane można pobrać, korzystając z klucza podstawowego.

4. Filtr Bloom

Jest to prosty rodzaj pamięci podręcznej, w której przechowywane są niedeterministyczne algorytmy do testowania. Sprawdza, czy element jest członkiem zestawu, czy nie. Dostęp do tych filtrów zwykle uzyskuje się po każdym uruchomionym zapytaniu.

Kluczowe elementy do konfiguracji Cassandry

W Cassandrze są następujące elementy:

1. Plotki

  • Jak sama nazwa wskazuje, komunikacja musi odbywać się między równorzędnymi użytkownikami, aby odkrywać i udostępniać lokalizację oraz stan informacji o wszystkich węzłach.
  • Informacje te powinny pozostać w lokalnej lokalizacji, aby każdy węzeł mógł z nich skorzystać, gdy tylko węzeł musi się zrestartować. Węzły odkrywają informacje o innych węzłach, wymieniając informacje.
  • Można to zrobić dla maksymalnie trzech węzłów. Informacje nie są udostępniane każdemu węzłowi obecnemu w klastrze lub centrum danych. Informacje są udostępniane kilku węzłom, ale ostatecznie informacje o stanie przechodzą przez klaster.

2. Partycjoner

  • Partycjoner decyduje, który węzeł ma otrzymać pierwszą replikę dowolnych danych. Odpowiada również za dystrybucję tych replik.
  • Określi, który węzeł powinien mieć replikację w klastrze. Każdy wiersz danych powinien być jednoznacznie zidentyfikowany. Można to zrobić za pomocą klucza podstawowego lub klucza partycji.
  • Partycjoner to funkcja skrótu, która pomaga uzyskać token z klucza podstawowego dowolnego wiersza. Do każdego węzła przypisana jest wartość num_token, którą można ustawić jako partycjoner.
  • Generowana wartość tokena pomaga określić, który węzeł odbiera replikę wierszy.

3. Współczynnik replikacji

  • Ten czynnik określa całkowitą liczbę replik obecnych w klastrze. Jeśli współczynnik replikacji wynosi 1, oznacza to, że w jednym węźle jest tylko jedna kopia każdego wiersza.
  • Podobnie, jeśli współczynnik replikacji wynosi dwa, zostaną zachowane dwie kopie, w których każda kopia jest obecna w innym węźle. Jak wspomniano wcześniej, w Cassandrze nie ma architektury master-slave, każda kopia jest ważna.
  • Współczynnik replikacji jest zdefiniowany dla każdego centrum danych. Ten współczynnik powinien być większy niż jeden, ale nie większy niż liczba węzłów obecnych w klastrze.

4. Znicz

  • Strategia replikacji, która pomaga uzyskać miejsce, w którym repliki mają być umieszczone dla grupy komputerów w centrum danych i stelażu, jest znana jako Snitch.
  • Istnieje warstwa dynamiczna, która pomaga w monitorowaniu i wydajności oraz pomaga wybrać najlepszą replikę, z której można odczytać dane. Zrzeszenia powinny być konfigurowane tylko podczas tworzenia klastra.
  • Ma włączone wartości domyślne dla większości wdrożeń. Zmian konfiguracji można dokonać w pliku Cassandra.yml, w którym występuje próg dynamicznego przyciągania dla każdego węzła.

5. Drzewo Merkle

  • Mogą występować różnice w blokach danych. Aby łatwo znaleźć różnice, drzewo Merkle jest drzewem mieszającym, które pomaga w tym.
  • Węzły liści drzewa mieszania zawierają skróty oddzielnych bloków danych, a węzły nadrzędne mają informacje lub przechowują również skróty swoich dzieci.
  • Dzięki tej technice łatwiej jest znaleźć różnice między obecnymi węzłami.

6. Tabela Mem

  • Ta tabela zawiera informacje o pamięci podręcznej, której dane nie zostały jeszcze opróżnione i znajdują się w pamięci.

Wniosek

Cassandra to baza danych NoSQL przydatna w przetwarzaniu ogromnych ilości danych. Nie ma typowej architektury master-slave i dlatego wszystkie węzły są równie ważne. Węzły mają repliki w klastrze zgodnie z czynnikiem replikacji. Zapewnia to spójność i trwałość danych. Dzięki tym wszystkim funkcjom jasne jest, że Cassandra jest bardzo przydatna w przypadku dużych zbiorów danych. Cassandra jest więc trwała, szybka, ponieważ jest dystrybuowana i niezawodna.

Polecane artykuły

To jest przewodnik po architekturze Cassandra. Tutaj omawiamy Wprowadzenie, architekturę Cassandry, kluczową strukturę i kluczowe komponenty Cassandry. Możesz także przejrzeć nasze inne sugerowane artykuły -

  1. Przegląd architektury Kubernetes
  2. Co to jest architektura Big Data?
  3. Funkcje dodane do architektury AutoCAD
  4. Architektura przetwarzania w chmurze

Kategoria: