Кейс-стаді Apache Cassandra

Концепції NoSQL

Miriam Antona

Software engineer

Apache Cassandra — огляд

Логотип Apache Cassandra

  • Популярна база даних типу column family
  • Спершу розроблена у Facebook
  • Відкрите ПЗ
  • Зрештою стала проєктом Apache Foundation
Концепції NoSQL

Apache Cassandra — можливості

  • Розподілена
    • Дані розподілені між вузлами кластера
    • Кожен вузол виконує ту саму роль
    • Немає майстер-вузла
  • Висока доступність
  • Без єдиної точки відмови
  • Горизонтально масштабується, додаючи вузли
  • Клієнтські драйвери Cassandra: C#, Java, Python, Scala тощо
Концепції NoSQL

Apache Cassandra — можливості

  • Мова запитів Cassandra (CQL)
    • Запит даних
    • Синтаксис подібний до SQL
    • Таблиці (для column families), рядки та стовпці
    • Відмінності між CQL і SQL:
      • немає joins
      • немає foreign keys
      • немає підзапитів тощо
      • рядки можуть мати різну кількість стовпців
SELECT * FROM users WHERE user_id IN (212, 213, 214);
Концепції NoSQL

Apache Cassandra — екосистема

  • Сторонні проєкти, інструменти, продукти й сервіси для Cassandra
    • Хмарні пропозиції
    • Інструменти встановлення
    • Фреймворки для розробників
    • Конектори
    • тощо
Концепції NoSQL

Apache Cassandra — клієнти

Логотипи деяких клієнтів Apache Cassandra

Концепції NoSQL

Кейс-стаді Bigmate — огляд

  • Відстеження місцеположення
  • Промислові сенсори
  • Продуктивність

Логотип Bigmate

Концепції NoSQL

Кейс-стаді Bigmate — проблема й рішення

  • Платформа IoT:
    • Приймає й обробляє великі обсяги різних даних
    • Інтегрує IoT‑сенсори, пристрої та інші платформи
    • Обробляє дані в реальному часі
    • Масштабується й розгортається у кількох локаціях
    • Приклади застосувань:
      • Thermy -> фіксує температуру шкіри людей
      • Warny -> виявляє можливі зіткнення
  • Тестували MySQL, MongoDB, Apache Cassandra тощо
    • Обрали Apache Cassandra
    • Краще масштабувалася
Концепції NoSQL

Кейс-стаді Bigmate — результати

  • Мільйони операцій від одночасних користувачів
  • Відображення 20 000 точок даних у реальному часі для одного клієнта
  • Відмовостійкість (реплікація даних)
Концепції NoSQL

Кейс-стаді Bigmate — результати

  • Мільйони операцій від одночасних користувачів
  • Відображення 20 000 точок даних у реальному часі для одного клієнта
  • Відмовостійкість (реплікація даних)
1 https://cassandra.apache.org/case-studies/
Концепції NoSQL

Давайте потренуємось!

Концепції NoSQL

Preparing Video For Download...