Пример использования 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 Query Language (он же CQL)
    • Запросы к данным
    • Синтаксис похож на SQL
    • Таблицы (для семейств столбцов), строки и столбцы
    • Отличия CQL от SQL:
      • нет объединений (joins)
      • нет внешних ключей
      • нет подзапросов и т. д.
      • строки могут содержать разное количество столбцов
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...