Что такое Cassandra

Обновлено Обновлено: Опубликовано Опубликовано:

Cassandra —
простыми словами

колоночная распределенная система управления базами данных (РСУБД) класса NoSQL (Not Only SQL). Рассчитана на работу с большими массивами информации. Написана в Facebook на Java и передана в 2009 году в фонд Apache Software Foundation.

Поддерживаются системы Linux на основе пакетов deb (Debian, Ubuntu) и RPM (Red Hat, CentOS). Для работы Cassandra требуется Java. Сама СУБД устанавливается из репозитория или бинарника, а также, как процесс docker. Скачать последнюю версию можно с официального сайта. На нем же можно ознакомиться с документацией (но только на английском языке).

Cassandra поддерживает свой собственный язык запросов — CQL. Он схож с SQL, но поддерживает только простейшие запросы SELECT. Также в ней нет команды INSERT — вместо нее и для добавления, и для обновления используется UPDATE. Подключение к базе можно выполнить с помощью cqlsh — оболочки, которая идет в комплекте с Cassandra.

Особенности:

  • Нет транзакций.
  • Нет поддержки JOIN в запросах.
  • Нет поддержки логического оператора ИЛИ (OR) в WHERE.
  • При создании вторичного индекса создается новая таблица.
  • При удалении записей, они еще какое-то время остаются в системе.
  • Идемпотентные операции — повторное действие оставляется систему в таком же состоянии.

Cassandra устанавливается в режиме кластера. Узел, на который отправляется запрос считается координатором. Он автоматически отправляет изменения на часть нод кластера (согласно настройки Replication Factor), которые будут называться репликами. Также при попытке сделать выборку, координатор может разбить запрос по разным нодам.

Плюсы:

  1. Высокая скорость работы.
  2. Отказоустойчивость и масштабирование.

Минусы:

  1. Плохо подходит для проектов, где часто меняются или удаляются данные.
  2. Нет транзакций.

Среди других баз класса NoSQL можно выделить:

Подробнее о Cassandra на Википедии.


Дмитрий Моск
— IT-специалист.
Настройка серверов, услуги DevOps.

Другие термины

Patroni   Ping   Lua   Pacemaker   HAProxy   Astra Linux   TeamPass   Интерфейс   Безопасный режим   XCache   IRedMail   IP-адрес   NTFS   Viber   Server core   Powershell   FreePBX   NTP   Node.js   MAC-адрес  
.....

Реклама