Что такое Кассандра?

Cassandra - это база данных NoSQL, которая является одноранговой распределенной базой данных. Он работает на кластере, который имеет однородные узлы. Он сделан таким образом, что может обрабатывать большие объемы данных. При обработке этих данных он также должен быть способен обеспечить высокую производительность. Кассандра обеспечивает высокий уровень, когда дело доходит до операций чтения и записи. Архитектура кластера Кассандра не имеет хозяев, рабов или каких-либо конкретных лидеров. Используя этот способ, он обеспечивает отсутствие единой точки отказа. Давайте посмотрим на архитектуру в деталях.

Кассандра Архитектура

Архитектура Cassandra состоит в основном из узлов, кластеров и центров обработки данных. В дополнение к этому, есть и другие компоненты. Кассандра является строкой хранимой базы данных. Это позволяет авторизованным пользователям подключаться к любому узлу в любом центре обработки данных с использованием CQL.

Ключевые структуры в Кассандре

Это следующие ключевые структуры в Кассандре:

  • Узел - это место, где хранятся данные. Это самый основной компонент Кассандры. Его можно рассматривать как один сервер в стойке. Это гарантирует отсутствие единой точки отказа.
  • Центр обработки данных. Центр обработки данных - это совокупность узлов. Это может быть как физический, так и виртуальный. В зависимости от загруженности дата-центры делятся и выбираются. Коэффициент репликации определяется на основе центра обработки данных. В зависимости от этого фактора репликации данные могут быть записаны в разные центры обработки данных.
  • Кластер - Кластер состоит из одного или нескольких центров обработки данных. Кластеры обычно располагаются в разных физических местах.

В дополнение к этому, другие компоненты, которые играют роль в Кассандре, как показано ниже.

1. Записать журнал

Данные, которые передаются для поддержания долговечности данных, хранятся в журнале фиксации. Данные перемещаются в таблицу отсортированных строк (объясняется далее). Как только это движение выполнено, журнал фиксации может быть заархивирован, удален или переработан.

2. Таблица СС

Эта таблица, как упоминалось в предыдущем пункте, регулярно хранит таблицы журналов или памяти. Это неизменный файл данных. Таблицы SS могут хранить данные часто последовательным образом. Они добавляют данные и поддерживают информацию для каждой таблицы Cassandra.

3. Таблица CQL

Таблица запросов Cassandra представляет собой набор упорядоченных столбцов, которые могут извлекать строки из этой таблицы. В этой таблице хранятся столбцы, в которые можно получить данные, используя первичный ключ.

4. Фильтр Блума

Это простой вид кеша, где для тестирования хранятся недетерминированные алгоритмы. Он проверяет, является ли элемент членом набора или нет. Эти фильтры обычно доступны после каждого запускаемого запроса.

Ключевые компоненты для настройки Cassandra

В Кассандре есть следующие компоненты:

1. Сплетни

  • Как следует из названия, должна быть связь между узлами, чтобы обнаруживать и делиться информацией о местоположении и состоянии всех узлов.
  • Эта информация должна сохраняться локально, чтобы каждый узел мог использовать эту информацию, как только узел должен перезапуститься. Узлы обнаруживают информацию о других узлах путем обмена информацией.
  • Это можно сделать максимум для трех узлов. Информация не передается каждому узлу, который присутствует в кластере или центре обработки данных. Информация передается нескольким узлам, но в конечном итоге информация о состоянии распространяется по всему кластеру.

2. Разделитель

  • Секционер решает, какой узел должен получить первую реплику любых данных. Он также отвечает за распределение этих реплик.
  • Он определит, какой узел должен иметь репликацию в кластере. Каждая строка данных должна быть идентифицирована уникально. Это можно сделать, используя первичный ключ или ключ раздела.
  • Разделитель - это хеш-функция, которая помогает получить токен из первичного ключа любой строки. Каждому узлу назначено значение num_token, которое можно установить в качестве разделителя.
  • Сгенерированное значение токена помогает определить, какой узел получает реплику строк.

3. Коэффициент репликации

  • Этот фактор определяет общее количество реплик, присутствующих в кластере. Если коэффициент репликации равен 1, то на каждом узле имеется только одна копия каждой строки.
  • Точно так же, если коэффициент репликации равен двум, будет поддерживаться две копии, где каждая копия присутствует на другом узле. Как упоминалось ранее, в Кассандре нет архитектуры «главный-подчиненный», каждая копия важна.
  • Коэффициент репликации определяется для каждого центра обработки данных. Этот коэффициент должен быть больше одного, но не больше количества узлов, присутствующих в кластере.

4. Снитч

  • Стратегия репликации, которая помогает найти место, где должны быть размещены реплики для группы машин в центре обработки данных и стойке, называется Snitch.
  • Существует динамический уровень, который помогает в мониторинге и производительности и помогает выбрать лучшую реплику, из которой можно прочитать данные. Обрывки следует настраивать только при создании кластера.
  • Для большинства развертываний включены значения по умолчанию. Изменения конфигурации могут быть сделаны в файле Cassandra.yml, где присутствует пороговое значение динамического сокращения для каждого узла.

5. Меркл Три

  • Там могут быть различия в блоках данных. Чтобы легко найти различия, дерево Меркле - это хеш-дерево, которое помогает в этом.
  • Конечные узлы хеш-дерева содержат хэши отдельных блоков данных, а родительские узлы имеют информацию или они также хранят хэши своих дочерних элементов.
  • Используя эту технику, легче найти различия между присутствующими узлами.

6. Mem Table

  • Эта таблица содержит информацию о кэше, данные которого еще не очищены и находятся в памяти.

Вывод

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

Рекомендуемые статьи

Это руководство по архитектуре Кассандры. Здесь мы обсуждаем Введение, архитектуру Cassandra, ключевые структуры и ключевые компоненты Cassandra. Вы также можете просмотреть наши другие предлагаемые статьи -

  1. Обзор архитектуры Kubernetes
  2. Что такое архитектура больших данных?
  3. Функции, добавленные в AutoCAD Architecture
  4. Архитектура облачных вычислений