Ответ
Cassandra — это распределенная NoSQL база данных типа wide-column store (ширококолоночное хранилище). Она спроектирована для обеспечения высокой доступности и линейной масштабируемости на кластерах из сотен серверов.
Ключевые характеристики:
- Горизонтальная масштабируемость и децентрализация: В архитектуре нет единой точки отказа (masterless). Все узлы в кластере равны, что позволяет легко добавлять новые для увеличения производительности.
- Высокая доступность и отказоустойчивость: Данные автоматически реплицируются по нескольким узлам (и даже дата-центрам), что гарантирует работу системы при выходе из строя части серверов.
- Настраиваемая согласованность (Tunable Consistency): Позволяет для каждого запроса выбирать баланс между согласованностью данных (Consistency) и доступностью (Availability), следуя теореме CAP.
- Оптимизация под запись: Cassandra обеспечивает чрезвычайно высокую скорость записи данных.
Язык запросов — CQL (Cassandra Query Language), синтаксически похожий на SQL.
Пример:
CREATE TABLE users (
user_id UUID PRIMARY KEY,
name TEXT,
email TEXT
);
INSERT INTO users (user_id, name, email) VALUES (uuid(), 'Alice', 'alice@example.com');
Основные сценарии использования: хранение временных рядов, IoT-данных, пользовательских профилей — везде, где важна масштабируемость и скорость записи.