Studium przypadku Apache Cassandra

Koncepcje NoSQL

Miriam Antona

Software engineer

Apache Cassandra – omówienie

Logo Apache Cassandra

  • Popularna baza danych column family
  • Pierwotnie opracowana przez Facebooka
  • Open-source
  • Projekt Apache Foundation
Koncepcje NoSQL

Apache Cassandra – funkcje

  • Rozproszony
    • Dane są rozproszone po węzłach klastra
    • Każdy węzeł pełni tę samą rolę
    • Brak węzła głównego
  • Wysoka dostępność
  • Brak pojedynczego punktu awarii
  • Skaluje się poziomo przez dodawanie węzłów
  • Sterowniki klienta Cassandra: C#, Java, Python, Scala itp.
Koncepcje NoSQL

Apache Cassandra – funkcje

  • Cassandra Query Language (czyli CQL)
    • Odpytywanie danych
    • Składnia podobna do SQL
    • Tabele (dla rodzin kolumn), wiersze i kolumny
    • Różnice między CQL a SQL:
      • brak złączeń
      • brak kluczy obcych
      • brak podzapytań itp.
      • wiersze mogą mieć różną liczbę kolumn
SELECT * FROM users WHERE user_id IN (212, 213, 214);
Koncepcje NoSQL

Apache Cassandra – ekosystem

  • Zewnętrzne projekty, narzędzia, produkty i usługi dla Cassandry
    • Oferty chmurowe
    • Narzędzia instalacyjne
    • Frameworki dla deweloperów
    • Konektory
    • itp.
Koncepcje NoSQL

Apache Cassandra – klienci

Logo wybranych klientów Apache Cassandra

Koncepcje NoSQL

Studium przypadku Bigmate – omówienie

  • Śledzenie lokalizacji
  • Czujniki przemysłowe
  • Produktywność

Logo Bigmate

Koncepcje NoSQL

Studium przypadku Bigmate – problem i rozwiązanie

  • Platforma IoT:
    • Pobiera i przetwarza duże wolumeny różnorodnych danych
    • Integruje czujniki IoT, urządzenia i inne platformy
    • Przetwarza dane w czasie rzeczywistym
    • Skaluje się i wdraża w wielu lokalizacjach
    • Przykłady zastosowań:
      • Thermy -> pomiar temperatury skóry
      • Warny -> wykrywanie możliwych kolizji
  • Testowano MySQL, MongoDB, Apache Cassandra itp.
    • Wybrano Apache Cassandra
    • Lepsza skalowalność
Koncepcje NoSQL

Studium przypadku Bigmate – wyniki

  • Miliony operacji równoczesnych użytkowników
  • Wyświetlanie 20 000 punktów danych w czasie rzeczywistym dla jednego klienta
  • Odporność na błędy (replikacja danych)
Koncepcje NoSQL

Studium przypadku Bigmate – wyniki

  • Miliony operacji równoczesnych użytkowników
  • Wyświetlanie 20 000 punktów danych w czasie rzeczywistym dla jednego klienta
  • Odporność na błędy (replikacja danych)
1 https://cassandra.apache.org/case-studies/
Koncepcje NoSQL

Czas na ćwiczenia!

Koncepcje NoSQL

Preparing Video For Download...