Кассандра призначена для обробки великих даних. Головною особливістю Кассандри є зберігання даних на декількох вузлах без жодної точки відмови.
Причиною такого роду архітектури Кассандри було те, що відмова обладнання може статися в будь-який час. Будь-який вузол може не працювати. У разі відмови можуть використовуватися дані, що зберігаються в іншому вузлі. Отже, Кассандра спроектована з її розподіленою архітектурою.
Кассандра зберігає дані на різних вузлах з одноранговою розподіленою архітектурою моди.
Всі вузли обмінюються інформацією між собою, використовуючи протокол Плітки . Плітки - це протокол у Кассандрі, за допомогою якого вузли можуть спілкуватися між собою.
У цьому підручнику ви дізнаєтесь-
- Компоненти Кассандри
- Реплікація даних
- Операція запису
- Прочитайте операцію
Компоненти Кассандри
У Кассандрі є такі компоненти;
- Вузол
Вузол - це місце, де зберігаються дані. Це основний компонент Кассандри.
- Центр обробки даних
Колекція вузлів називається центром обробки даних. Багато вузлів класифікуються як центр обробки даних.
- Кластер
Кластер - це сукупність багатьох центрів обробки даних.
- Журнал фіксації
Кожна операція запису записується в журнал комітів. Журнал комітів використовується для відновлення після збоїв.
- Мем-стіл
Після запису даних у журнал комітів дані записуються в Mem-таблицю. Дані тимчасово записуються в Mem-таблицю.
- SSTtable
Коли Mem-таблиця досягає певного порогу, дані видаляються у файл диска SSTable.
Реплікація даних
Оскільки апаратна проблема може виникнути або посилання може бути недоступне в будь-який час під час обробки даних, потрібне рішення для забезпечення резервної копії, коли проблема сталася. Таким чином, дані тиражуються для забезпечення жодної точки відмови.
Кассандра розміщує копії даних на різних вузлах на основі цих двох факторів.
- Де розмістити наступну репліку, визначається Стратегією реплікації .
- Тоді як загальна кількість реплік, розміщених на різних вузлах, визначається коефіцієнтом реплікації .
Один коефіцієнт реплікації означає, що існує лише одна копія даних, тоді як три фактори реплікації означають, що є три копії даних на трьох різних вузлах.
Щоб забезпечити відсутність єдиної точки відмови, коефіцієнт реплікації повинен бути три.
У Кассандрі є два типи стратегій реплікації.
Проста стратегія
SimpleStrategy використовується, коли у вас є лише один центр обробки даних. SimpleStrategy розміщує першу репліку на вузлі, вибраному секціонером. Після цього репліки, що залишилися, розміщуються за годинниковою стрілкою в кільці Вузла.
Ось зображене зображення SimpleStrategy.
NetworkTopologyStrategy
NetworkTopologyStrategy використовується, якщо у вас є більше двох центрів обробки даних.
У NetworkTopologyStrategy репліки встановлюються для кожного центру обробки даних окремо. NetworkTopologyStrategy розміщує репліки за годинниковою стрілкою на кільці, поки не дійде до першого вузла в іншій стійці.
Ця стратегія намагається розмістити репліки на різних стійках в одному центрі обробки даних. Це пов’язано з тим, що іноді в стійці можуть статися збої або проблеми. Тоді репліки на інших вузлах можуть надавати дані.
Ось наочне зображення стратегії топології мережі
Операція запису
Координатор надсилає запит на запис до копій. Якщо всі копії встановлені, вони отримають запит на запис незалежно від рівня їх узгодженості.
Рівень узгодженості визначає, скільки вузлів відповість підтвердженням успіху.
Вузол відповість на це підтвердженням успіху, якщо дані будуть успішно записані в журнал фіксації та memTable.
Наприклад, в одному центрі обробки даних з коефіцієнтом реплікації, рівним трьом, три репліки отримають запит на запис. Якщо рівень узгодженості один, лише одна копія відповість підтвердженням успіху, а решта дві залишаться в неактивному стані.
Припустимо, якщо дві репліки, що залишилися, втратять дані через падіння вузлів або якусь іншу проблему, Кассандра зробить рядок узгодженим завдяки вбудованому механізму ремонту в Кассандрі.
Тут пояснюється, як відбувається процес запису в Кассандрі,
- Коли запит на запит надходить на вузол, перш за все, він реєструється в журналі комітів.
- Потім Кассандра записує дані в мем-таблицю. Дані, записані в таблиці mem на кожному запиті на запис, також записуються в журнал комітів окремо. Mem-table - це тимчасово збережені дані в пам'яті, тоді як журнал комітів реєструє записи транзакцій для резервного копіювання.
- Коли мем-таблиця заповнена, дані видаляються у файл даних SSTable.
Прочитайте операцію
Існує три типи запитів на читання, які координатор надсилає до реплік.
- Прямий запит
- Дайджест-запит
- Прочитайте запит на ремонт
Координатор надсилає прямий запит на одну з копій. Після цього координатор надсилає дайджест-запит на кількість реплік, вказану рівнем узгодженості, і перевіряє, чи повертаються дані - це оновлені дані.
Після цього координатор надсилає дайджест-запит на всі репліки, що залишились. Якщо будь-який вузол надає застаріле значення, запит на відновлення у фоновому режимі оновить ці дані. Цей процес називається механізмом відновлення зчитування.
Резюме
Цей підручник пояснює внутрішню архітектуру Кассандри, а також те, як Кассандра копіює, пише та читає дані на різних етапах. Тут також пояснюється, як Кассандра підтримує рівень узгодженості протягом усього процесу.