Некоторые преимущества использования Cassandra для распределённой витрины данных:
- Простое распределение данных. 1 Cassandra позволяет распределять данные там, где это нужно, путём репликации в нескольких центрах обработки данных. 1
- Гибкое хранение данных. 1 Поддерживает все возможные форматы данных, в том числе структурированные, полуструктурированные и неструктурированные. 1
- Эластичная масштабируемость. 1 Позволяет добавлять дополнительное оборудование для поддержки большого количества клиентов и данных. 1
- Быстрая запись. 1 Может сохранять сотни терабайт данных без потерь. 1
- Always on Architecture. 1 Cassandra не имеет единой точки отказа и постоянно доступна для критически важных бизнес-приложений. 1
- Поддержка транзакций и репликации. 1 Поддерживает такие свойства транзакций, как дробность, согласованность, изоляция и долговечность. 1
Некоторые недостатки использования Cassandra для распределённой витрины данных:
- Особенности внутреннего языка запросов. 12 Язык CQL существенно отличается от SQL, несмотря на небольшую схожесть. 1
- Высокие дополнительные расходы при работе с большими объёмами данных. 1 Из-за подхода к проектированию данных требуется очень сильная денормализация, что подразумевает фактическое создание отдельной таблицы для каждого запроса. 1
- Требования к уникальности ключа. 12 Каждый ключ обязательно должен быть уникальным. 1 Данные перезаписываются, если один и тот же ключ используется дважды. 1
- Сложность с поисковой операцией. 1 Поисковые системы построены поверх Cassandra путём сортировки данных. 1
- Сложности с использованием типа данных «счётчик». 2 Его нельзя сортировать, индексировать и использовать в строке с ним какие-то другие типы данных. 2