Apache Cassandra

Продукт
Разработчики: Apache Software Foundation (ASF)
Дата последнего релиза: 2015/11/10
Технологии: СУБД

Содержание

Cassandra — система для создания хранилищ больших массивов данных, ее используют многие всемирно известные компании, среди них: Twitter, Instagram, eBay. В России Cassandra пока используется мало, чаще всего из-за недостатка информации.

2020: Включение в линейку сервисов DBaaS от DataLine

Готовые БД Redis и Cassandra дополнили линейку DBaaS, в которую входят базы данных MS SQL, PostgreSQL, MySQL и MongoDB. Об этом DataLine сообщил 30 июня 2020 года. Подробнее здесь.

2015

Apache Cassandra 3.0

10 ноября 2015 года организация Apache Software Foundation (ASF) объявила о релизе Apache Cassandra 3.0[1].

В пресс-релизе ASF Apache Cassandra 3.0 упоминается как веха в эволюции этой СУБД.

В продукте три основных изменения:

  • оптимизированный для языка CQL движок хранения и формат данных SSTables;
  • материализованные представления;
  • более эффективная работа hints.


Выпуск бета-версии драйвера Java для Cassandra 3.0.0 официально произойдет на следующей неделе, актуальный драйвер для Python получил номер версии 3.0.0 rc1.

Apache Cassandra 2.2

20 июля 2015 года стало известно о выпуске релиза распределённой СУБД Apache Cassandra 2.2[2].

Основные изменения в системе

  • Возможность прямого добавления, обновления и выборки данных в формате JSON, без необходимости применения надстроек sstable2json и json2sstable, которые объявлены устаревшими;
  • Поддержка создания определяемых пользователем функций из Java, Javascript и других языков, поддерживающих Java Scripting API. За счет встраиваемых функций, выполняемых на стороне СУБД и обрабатывающих данные без копирования на сторону конечного приложения, можно существенно поднять производительность всей системы обработки данных;
  • Проведена серия оптимизаций производительности, в том числе поддержка сжатия лога коммитов и включена по умолчанию техника слияния сообщений;
  • Увеличена эффективность передачи данных между узлами посредством включения гибкой системы сжатия, допускающей выбор разного уровня сжатия для разных условий, что особенно полезно в таких ситуациях, как перестроение узла после сбоя или перенос данных в новый ЦОД.
  • Добавлена система управления доступом на основе ролей, упрощающая администрирование конфигураций, охватывающих несколько команд разработчиков и отделов. Одни пользователи могут делегировать полномочия другим пользователям, в том числе на уровне выполнения операций CREATE, ALTER, DROP и AUTHORIZE, без необходимости получения привилегий суперпользователя;
  • Добавлена новая утилита sstableverify для проверки целостности всех таблиц;
  • Обеспечена полноценная поддержка платформы Microsoft Windows;

БД Cassandra объединяет в себе полностью распределённую hash-систему Dynamo, обеспечивающую практически линейную масштабируемость при увеличении объема данных. Cassandra использует модель хранения данных на базе семейства столбцов (ColumnFamily), отличающуюся от систем подобных memcachedb, которые хранят данные только в связке ключ/значение, возможностью организовать хранение хэшей с несколькими уровнями вложенности. Для упрощения взаимодействия с БД поддерживается язык формирования структурированных запросов CQL (Cassandra Query Language), напоминающий SQL, но урезанный по функциональности. Из возможностей можно отметить поддержку пространств имён и семейств столбцов, создание индексов через выражение "CREATE INDEX". Драйверы с поддержкой CQL подготовлены для языков Python, Java (JDBC/DBAPI2) и JavaScript (Node.js).

СУБД позволяет создавать устойчивые к сбоям хранилища: помещаемые в БД данные автоматически реплицируются на несколько узлов распределённой сети, в составе которой могут действовать разные центры обработки данных. При сбое узла его функции на лету подхватываются другими узлами. Добавление новых узлов в кластер и обновление версии Cassandra производится на лету, без дополнительного ручного вмешательства, изменения конфигурации других узлов.

2013

Apache Cassandra 2.0

Самыми важными нововведениями NoSQL-СУБД Cassandra 2.0, выпущенной в сентябре 2013 года фондом Apache, названы `лёгкие` транзакции, язык запросов CQL, напоминающий SQL, и триггеры. Джонотан Эллис, вице-президент проекта, особо отметил, что Cassandra теперь упрощает переход с РСУБД, однако технологию такого упрощения не уточнил[3].

Созданная первоначально в Facebook, эта свободно распространяемая распределённая СУБД в 2008 г. была передана фонду Apache, и сегодня активно используется в CERN, eBay, IBM, Instagram, NASA, Reddit, Twitter и множестве других организаций. Крупнейший кластер Cassandra успешно обрабатывает 300 Тб данных на 400 серверах. Все узлы сети Cassandra выполняют идентичные функции, что исключает вероятность возникновения `единой точки сбоя` и упрощает масштабирование.

В новой версии `легкие` транзакции решают конфликты попыток модификации данных одновременными запросами. Триггеры позволяют выполнять прикладной код при изменении информации в базе, а за счёт распределённой архитектуры скорость выполнения запроса, вызвавшего срабатывание триггера, не ухудшается. Повышена компактность БД, снижена вероятность таймаутов запросов. Использовать функциональность Cassandra в прикладных задачах теперь можно не только через программный API, но и через язык запросов CQL, который официально добавился в январе, но только сейчас доступен в зрелом виде. Хотя Cassandra поддерживает модель `ключ-значение`, однако её конкретная реализация напоминает работу с таблицами, поэтому CQL сохранил привычный SQL-кодировщикам синтаксис: можно использовать команды SELECT, INSERT, CREATE TABLE и т. д.

Примечания





Подрядчики-лидеры по количеству проектов

За всю историю
2021 год
2022 год
2023 год
Текущий год

  SAP CIS (САП СНГ) (38)
  Softline (Софтлайн) (35)
  РДТЕХ (33)
  BeringPro (БерингПойнт) ранее BearingPoint Russia (28)
  ФОРС - Центр разработки (25)
  Другие (734)

  Сапиенс солюшнс (Sapiens solutions) (7)
  Navicon (Навикон) (3)
  BeringPro (БерингПойнт) ранее BearingPoint Russia (3)
  IFellow (АйФэлл) (2)
  Инфосистемы Джет (2)
  Другие (35)

  Nexign (Нэксайн) ранее Петер-Сервис (1)
  Синимекс (Cinimex) (1)
  R-Style Softlab (Эр-Стайл Софтлаб) (1)
  Форсайт (1)
  VK (ранее Mail.ru Group) (1)
  Другие (20)

  Arenadata (Аренадата Софтвер) (5)
  Тантор Лабс (Tantor Labs) (3)
  ФОРС - Центр разработки (2)
  Navicon (Навикон) (1)
  Философия.ИТ (1)
  Другие (18)

  Arenadata (Аренадата Софтвер) (5)
  Диасофт (Diasoft) (2)
  Сбербанк-Технологии (СберТех) (2)
  GlowByte, ГлоуБайт (ранее Glowbyte Consulting, ГлоуБайт Консалтинг) (2)
  ISimpleLab (АйСимплЛаб) (1)
  Другие (16)

Распределение вендоров по количеству проектов внедрений (систем, проектов) с учётом партнёров

За всю историю
2021 год
2022 год
2023 год
Текущий год

  Oracle (44, 179)
  SAP SE (6, 178)
  Microsoft (23, 142)
  PostgreSQL Global Development Group (14, 126)
  Постгрес профессиональный (ППГ, Postgres Professional) (6, 40)
  Другие (265, 245)

  Microsoft (3, 11)
  SAP SE (3, 11)
  PostgreSQL Global Development Group (3, 10)
  Oracle (2, 4)
  Постгрес профессиональный (ППГ, Postgres Professional) (2, 3)
  Другие (10, 13)

  PostgreSQL Global Development Group (4, 9)
  Постгрес профессиональный (ППГ, Postgres Professional) (2, 6)
  VK Tech (ранее VK Цифровые технологии, ВК Цифровые технологии и Mail.ru Цифровые технологии) (2, 3)
  Arenadata (Аренадата Софтвер) (3, 2)
  Oracle (2, 2)
  Другие (9, 9)

  PostgreSQL Global Development Group (3, 13)
  Постгрес профессиональный (ППГ, Postgres Professional) (1, 6)
  Arenadata (Аренадата Софтвер) (3, 5)
  Apache Software Foundation (ASF) (3, 4)
  Тантор Лабс (Tantor Labs) (2, 3)
  Другие (8, 10)

  PostgreSQL Global Development Group (4, 11)
  Arenadata (Аренадата Софтвер) (3, 7)
  VMware (2, 7)
  Постгрес профессиональный (ППГ, Postgres Professional) (2, 5)
  Диасофт (Diasoft) (1, 3)
  Другие (6, 7)

Распределение базовых систем по количеству проектов, включая партнерские решения (проекты, партнерские проекты)

За всю историю
2021 год
2022 год
2023 год
Текущий год

  Oracle Database - 143 (106, 37)
  Microsoft SQL Server - 135 (104, 31)
  PostgreSQL СУБД - 126 (80, 46)
  SAP NetWeaver Business Warehouse (SAP BW/4HANA) - 103 (103, 0)
  SAP HANA (High Performance Analytic Appliance) - 76 (72, 4)
  Другие 74

  Microsoft SQL Server - 10 (9, 1)
  PostgreSQL СУБД - 10 (7, 3)
  SAP NetWeaver Business Warehouse (SAP BW/4HANA) - 8 (8, 0)
  SAP HANA (High Performance Analytic Appliance) - 3 (3, 0)
  Oracle Database - 3 (3, 0)
  Другие 6

  PostgreSQL СУБД - 9 (2, 7)
  Tarantool Платформа in‑memory вычислений - 3 (2, 1)
  Oracle Database - 3 (2, 1)
  VMware Tanzu Greenplum - 2 (0, 2)
  Firebird (database server) - 1 (0, 1)
  Другие -6

  PostgreSQL СУБД - 13 (4, 9)
  VMware Tanzu Greenplum - 3 (0, 3)
  Apache Hadoop - 2 (1, 1)
  ClickHouse - система управления базами данных (СУБД) - 2 (2, 0)
  Apache Kafka - 2 (2, 0)
  Другие -8

  PostgreSQL СУБД - 11 (5, 6)
  VMware Tanzu Greenplum - 6 (0, 6)
  Diasoft Digital Q.Database - 3 (3, 0)
  ClickHouse - система управления базами данных (СУБД) - 2 (0, 2)
  СберТех: Platform V Pangolin - 2 (2, 0)
  Другие -12