Apache Cassandra — распределённая система управления базами данных, относящаяся к классу NoSQL-систем и рассчитанная на создание высокомасштабируемых и надёжных хранилищ огромных массивов данных, представленных в виде хэша.

file

Написана на языке Java, реализует распределённую hash-систему, сходную с DynamoDB, что обеспечивает практически линейную масштабируемость при увеличении объёма данных. Использует модель хранения данных на базе семейства столбцов (ColumnFamily), чем отличается от систем, подобных MemcacheDB, которые хранят данные только в связке «ключ — значение», возможностью организовать хранение хэшей с несколькими уровнями вложенности.

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

Преимущества Cassandra:

  • высокая масштабируемость и надежность без элементов, отказ которых приводит к выходу из строя всей системы;
  • реализация семейства NoSQL Column;
  • очень высокая пропускная способность для операций записи и хорошая пропускная способность для операций считывания;
  • SQL-подобный язык запросов (начиная с версии 0.8) и поддержка поиска посредством вторичных индексов;
  • настраиваемая согласованность и поддержка репликации;
  • гибкая схема.
Обновлено 2 января 2019 г.