Особенности Кассандры
Apache Cassandra - это доступная пользователям распределенная СУБД NoSQL с открытым исходным кодом, предназначенная для обработки больших объемов данных на многих серверах. Это обеспечивает нулевую точку отказа. Cassandra предлагает обширную поддержку кластеров, охватывающих несколько центров обработки данных.
У Кассандры есть некоторые массивные особенности. Вот некоторые из функций, описанных ниже:
- Распространяется:
Каждый узел в кластере имеет одинаковую роль. Нет вопроса об отказе, и набор данных распределяется по кластеру, но есть одна проблема, заключающаяся в том, что мастер отсутствует на каждом узле для поддержки запроса на обслуживание. - Поддерживает репликацию и репликацию в нескольких центрах обработки данных:
Фактор репликации имеет лучшие конфигурации в cassandra. Cassandra спроектирована так, чтобы иметь распределенную систему для развертывания большого количества узлов в нескольких центрах обработки данных, а также другие ключевые функции. - Масштабируемость:
Он предназначен для чтения / записи пропускной способности, постепенно увеличивающейся по мере добавления новых машин без прерывания работы других приложений. - Отказоустойчивость:
Данные автоматически сохраняются и реплицируются для обеспечения отказоустойчивости. Если узел выходит из строя, он незамедлительно заменяется. - Поддержка MapReduce:
Он поддерживает интеграцию Hadoop с поддержкой MapReduce, также поддерживаются Apache Hive и Apache Pig. - Язык запроса:
Cassandra представила CQL (Cassandra Query Langugae). Это простой интерфейс для доступа к Cassandra.
Язык запросов Cassandra (CQL):
CQL имеет простой интерфейс для доступа к Cassandra, который также является альтернативой традиционному SQL. CQL добавляет уровень абстракции, чтобы скрыть реализацию структуры, а также предоставляет собственный синтаксис для коллекций.
Например, следуйте приведенному образцу, который показывает, как создать пространство ключей, включая семейство столбцов, в CQL 3.0-
СОЗДАТЬ КЛЮЧЕВОЕ ПРОСТРАНСТВО MyKeySpace С REPLICATION = {'class': 'SimpleStrategy', 'replication_factor': 3}; ИСПОЛЬЗУЙТЕ MyKeySpace; СОЗДАТЬ COLUMNFAMILY MyColumns (текст идентификатора, последний текст, Первый текст, ПЕРВИЧНЫЙ КЛЮЧ (id)); ВСТАВИТЬ В MyColumns (id, Last, First) ЗНАЧЕНИЯ («1», «Лань», «Джон»);
Запрос:
ВЫБРАТЬ * ИЗ MyColumns;
Который дает:
id | Первый | Последний ---- + ------- + ------ 1 | Ратул | Саркар
(1 ряд)
Вот некоторые факты о Кассандре:
- До обновлений версий Cassandra, вплоть до Cassandra 1.0, Cassandra не была согласована на уровне строк, что означало вставку и обновление таблицы. Это может повлиять на одну и ту же строку, которая обрабатывается примерно в одно и то же время, может влиять на неключевые столбцы непоследовательным образом.
Cassandra 1.1 решила эту проблему, используя изоляцию на уровне строк. - Известно, что удаление маркеров, называемых Tombstones (исходный Интернет), приводит к снижению производительности до серьезных уровней последствий.
- Cassandra, по сути, гибрид между парой ключ-значение и организованной табличной СУБД. Таблицы можно создавать, удалять и изменять во время выполнения без блокировки обновлений и запросов.
- Семейство столбцов, называемое таблицей, представляет собой СУБД. Каждая строка конкретно идентифицируется строкой и ключом, именем, значением, меткой времени и т. Д. Таблица в Cassandra представляет собой нарушенную многомерную карту, отслеживаемую ключом. Еще больше приложений определяется семейством суперколонок.