Cassandra jest niezwykle popularną bazą danych, która leży u podstaw aplikacji o dużym obciążeniu, takich jak Facebook.

Oprócz tego, że Cassandra jest szkieletem dla Facebooka i Netflixu, może być bardzo skalowalną i odporną bazą danych, którą łatwo opanować i skonfigurować, zapewniając schludne rozwiązania dla dość złożonych problemów. Rejestracja zdarzeń, zbieranie i ocena metryk, monitorowanie danych historycznych – wszystkie te zadania są dość trudne do prawidłowego wykonania, biorąc pod uwagę zmienność systemów operacyjnych, platform, przeglądarek i urządzeń, z którymi w codziennej pracy spotykają się zarówno produkty startowe, jak i systemy korporacyjne.

Chcielibyśmy podkreślić 5 istotnych zalet korzystania z Cassandry:

Pomaga w łatwym rozwiązywaniu skomplikowanych zadań

Ma krótką krzywą uczenia się

Obniża koszty administracyjne i koszty dla inżyniera DevOps.

Szybkie pisanie i błyskawiczne czytanie

Ekstremalna odporność i odporność na uszkodzenia

Oto, co rozumiemy przez powyższe zalety.

Cassandra pomaga z łatwością rozwiązywać skomplikowane zadania

Rejestracja zdarzeń, zbieranie danych metrycznych, wykonywanie zapytań do danych historycznych – wszystkie te zadania mogą wydawać się nudne, ale mają ogromne znaczenie zarówno dla gigantycznych przepływów danych, jak i przepływów DevOps. Konfiguracja scentralizowanego magazynu danych dla dzienników jest często dość trudnym zadaniem, biorąc pod uwagę zmienność informacji i obfitość ich źródeł, o których wspomnieliśmy powyżej.

Zbudowanie scentralizowanej pamięci masowej dla logów i metryk oraz pobieranie informacji historycznych z tej pamięci może być zadaniem, które Cassandra wykonuje z największą łatwością. Po wybraniu i zaprojektowaniu struktury tabeli, baza danych działa jak urok, łatwo skalując się na Państwa życzenie.

Cassandra posiada krótką krzywą uczenia się

Cassandra obsługuje CQL – język poleceń Cassandra. Jest to w zasadzie SQL, ale pozbawiony bardziej zaawansowanych funkcji. Chociaż jest to często swego rodzaju minus, często jest to również ogromna zaleta, ponieważ narzędzie jest w zasadzie gotowe do wykonania wyjątkowo dobrze przy użyciu dość ograniczonej listy zmiennych, poleceń i funkcji. Dzięki tej prostocie ogromny Data Engineer może opanować Cassandrę w około 30 dni, co oczywiście skraca czas drastycznego podłączania produktu.

Cassandra obniża koszty administracyjne i koszty inżyniera DevOps.

Jak już wcześniej opisywaliśmy, rejestracja zdarzeń, zbieranie danych metrycznych i zajmowanie się danymi historycznymi to pozorne zastosowania dla Cassandry. Ponieważ jednak Twój zespół jest w stanie w pełni wykorzystać to narzędzie (i ten punkt pojawi się dość szybko, pamiętaj) – na pewno znajdą oni o wiele więcej zadań, które zostaną przekazane Cassandrze i wykonane znakomicie. Niskie koszty administracyjne sprawiają, że narzędzie to jest niezwykle użyteczne, ponieważ Twój zespół jest w stanie skoncentrować się bardziej na swoich podstawowych zadaniach, takich jak ulepszanie towarów i ich funkcji, a nie na ciągłym gaszeniu pożarów, jak rozszyfrowywanie dzienników i rozwiązywanie problemów.

Cassandra oferuje szybkie pisanie i błyskawiczne czytanie

Ponieważ ta baza danych została stworzona dla Facebooka, gdzie wiele czytań i pisania odbywa się w każdej sekundzie, zapewnia ona niesamowity poziom wydajności. Co ważniejsze, wartości te są liniowe i skalowane niemalże bez wysiłku. sugeruje to, że po zmierzeniu wartości wydajności odczytu/zapisu na jednym serwerze, po prostu obliczysz jaki procent więcej serwerów powinieneś zwiększyć klaster, aby osiągnąć określony poziom wydajności i łatwo skalować. Dodatkowo, krojenie nad wierszami partycji (wykonywane za pomocą tzw. kluczy partycji) zapewnia błyskawiczną reakcję na zapytania.

Cassandra zapewnia wyjątkową odporność i odporność na błędy.

Ponieważ Cassandra może być klastrem bez wzorca, nie istnieje żaden pojedynczy punkt awarii. Informacyjne hashe są stale replikowane w całym klastrze, aby zapewnić 100% czasu bezawaryjnej pracy bez względu na czasową niedostępność do 1/2 serwerów. Niezależnie od tego, czy serwer, cała szafa serwerowa lub całe centrum danych zostanie wyłączone z połączenia, Twoi klienci nie będą musieli borykać się z przestojami serwisowymi. Twoja aplikacja zawsze będzie na zewnątrz, trochę jak Facebook i Netflix.