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

Кассандра - це база даних NoSQL, яка є одноранговою розподіленою базою даних. Він працює на скупченні з однорідними вузлами. Він зроблений таким чином, що може обробляти великі обсяги даних. Обробляючи ці дані, він також повинен забезпечувати високі можливості. Кассандра забезпечує високий рівень, коли йдеться про операції з читання та запису. В архітектурі кластеру Кассандра немає ні господарів, ні рабів, ні конкретних лідерів. Використовуючи цей спосіб, це гарантує, що немає єдиного пункту відмови. Давайте детально розглянемо архітектуру.

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

Архітектура Кассандри в основному складається з вузла, кластера та центру даних. Крім них, є й інші компоненти. Кассандра - це база даних, що зберігається у рядку. Це дозволяє авторизованим користувачам підключатися до будь-якого вузла в будь-якому центрі обробки даних за допомогою CQL.

Основні структури Кассандри

Це наступні ключові структури Кассандри:

  • Вузол - тут зберігаються дані. Це найосновніший компонент Кассандри. Це може розглядатися як єдиний сервер у стійці. Це забезпечує відсутність єдиної точки відмови.
  • Центр обробки даних - Центр обробки даних - це сукупність вузлів. Це може бути як фізична, так і віртуальна. Залежно від робочого навантаження центри даних поділяються та вибираються. Коефіцієнт реплікації визначається на базі центру обробки даних. Залежно від цього коефіцієнта реплікації дані можна записувати в різні центри обробки даних.
  • Кластер - Кластер включає один або більше центрів обробки даних. Кластери зазвичай охоплюють різні фізичні місця.

На додаток до них, інші компоненти, які грають роль у Кассандрі, наведені нижче.

1. Журнал фіксування

Дані, які виконуються для підтримання довговічності даних, зберігаються в журналі фіксування. Дані переміщуються до впорядкованої таблиці рядків (пояснюється далі). Після цього переміщення журнал фіксації може бути заархівований, видалений або перероблений.

2. СС Таблиця

Ця таблиця, як згадувалося в попередньому пункті, регулярно зберігає таблиці журналів або пам'яті. Це незмінний файл даних. SS таблиці можуть часто зберігати дані послідовно. Вони додають дані та зберігають інформацію для кожної таблиці Кассандри.

3. Таблиця CQL

Таблиця Запиту Кассандри - це набір упорядкованих стовпців, які можуть отримати рядок із цієї таблиці. У цій таблиці зберігаються стовпці, в яких можна отримати дані, використовуючи первинний ключ.

4. Фільтр цвітіння

Це простий вид кешу, де є недетерміновані алгоритми, що зберігаються для тестування. Він перевіряє, чи є елемент членом набору чи ні. Зазвичай доступ до цих фільтрів здійснюється після кожного запущеного запиту.

Основні компоненти для налаштування Кассандри

У Кассандрі є такі компоненти:

1. Плітки

  • Як випливає з назви, має бути зв’язок між однолітками для того, щоб виявити та поділитися місцезнаходженням та станом інформації про всі вузли.
  • Ця інформація повинна зберігатися на локальному рівні, щоб кожен вузол міг використовувати інформацію, як тільки вузол повинен перезапуститись. Вузли виявляють інформацію про інші вузли шляхом обміну інформацією.
  • Це можна зробити максимум на три вузли. Інформація не обмінюється з кожним вузлом, який присутній у кластері або центрі обробки даних. Інформація обмінюється кількома вузлами, але з часом інформація про стан проходить по всьому кластеру.

2. Учасник

  • Партнер вирішує, який вузол повинен отримати першу репліку будь-яких даних. Він також відповідає за розповсюдження цих реплік.
  • Він визначатиме, який вузол повинен мати реплікацію в кластері. Кожен ряд даних повинен бути ідентифікований однозначно. Це можна зробити, використовуючи первинний ключ або ключ розділу.
  • Партнер - це хеш-функція, яка допомагає отримати маркер із первинного ключа будь-якого рядка. Кожному вузлу присвоюється значення num_token, яке може бути встановлено як учасник.
  • Створене значення лексеми допомагає визначити, який вузол отримує репліку рядків.

3. Фактор реплікації

  • Цей фактор визначає загальну кількість реплік, присутніх у кластері. Якщо коефіцієнт реплікації дорівнює 1, то на одному вузлі є лише одна копія кожного рядка.
  • Аналогічно, якщо коефіцієнт реплікації два, зберігаються дві копії, де кожна копія присутня на іншому вузлі. Як згадувалося раніше, в Кассандрі немає архітектури майстра-раба, кожна копія є важливою.
  • Коефіцієнт реплікації визначається для кожного центру обробки даних. Цей коефіцієнт повинен бути більшим, ніж один, але не більше кількості вузлів, присутніх у кластері.

4. Сніжок

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

5. Меркле дерево

  • У блоках даних можуть бути відмінності. Щоб легко знайти відмінності, Меркле дерево - це хеш-дерево, яке допомагає в цьому.
  • Вузоли листя хеш-дерева містять хеші окремих блоків даних, а батьківські вузли мають інформацію або вони також зберігають хеші своїх дітей.
  • За допомогою цієї методики простіше знайти відмінності між наявними вузлами.

6. Таблиця пам’яті

  • У цій таблиці є інформація про кеш, дані якого ще не розмиті і зберігаються в пам'яті.

Висновок

Кассандра - це база даних NoSQL, яка корисна для обробки величезної кількості даних. Він не має типової архітектури головного раба, тому всі вузли однаково важливі. Вузли мають репліки через кластер відповідно до коефіцієнта реплікації. Це забезпечує узгодженість та довговічність даних. З урахуванням усіх цих особливостей зрозуміло, що Кассандра дуже корисна для великих даних. Отже, кассандра довговічна, швидка, оскільки розподіляється та надійна.

Рекомендовані статті

Це путівник по архітектурі Кассандри. Тут ми обговорюємо Вступ, архітектуру Кассандри, структуру ключів та ключові компоненти Кассандри. Ви також можете ознайомитися з іншими запропонованими нами статтями -

  1. Огляд архітектури Кубернетів
  2. Що таке велика архітектура даних?
  3. Особливості додані до архітектури AutoCAD
  4. Архітектура хмарних обчислень

Категорія: