Особенности Кассандры

Опубликовано: 17 Августа, 2021

Apache Cassandra - это доступная пользователям распределенная СУБД NoSQL с открытым исходным кодом, предназначенная для обработки больших объемов данных на многих серверах. Это обеспечивает нулевую точку отказа. Cassandra предлагает обширную поддержку кластеров, охватывающих несколько центров обработки данных.

У Кассандры есть некоторые массивные особенности. Вот некоторые из функций, описанных ниже:

  1. Распространяется:
    Каждый узел в кластере имеет одинаковую роль. Нет вопроса об отказе, и набор данных распределяется по кластеру, но есть одна проблема, заключающаяся в том, что мастер отсутствует на каждом узле для поддержки запроса на обслуживание.
  2. Поддерживает репликацию и репликацию в нескольких центрах обработки данных:
    Фактор репликации имеет лучшие конфигурации в cassandra. Cassandra спроектирована так, чтобы иметь распределенную систему для развертывания большого количества узлов в нескольких центрах обработки данных, а также другие ключевые функции.
  3. Масштабируемость:
    Он предназначен для чтения / записи пропускной способности, постепенно увеличивающейся по мере добавления новых машин без прерывания работы других приложений.

  4. Отказоустойчивость:
    Данные автоматически сохраняются и реплицируются для обеспечения отказоустойчивости. Если узел выходит из строя, он незамедлительно заменяется.
  5. Поддержка MapReduce:
    Он поддерживает интеграцию Hadoop с поддержкой MapReduce, также поддерживаются Apache Hive и Apache Pig.
  6. Язык запроса:
    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 представляет собой нарушенную многомерную карту, отслеживаемую ключом. Еще больше приложений определяется семейством суперколонок.