Apache Cassandra, обяснено за 5 минути или по-малко

Apache Cassandra е разпределена NoSQL база данни с отворен код.

Какво е Apache Cassandra?

Преди да бъде направен с отворен код, Apache Cassandra беше проектиран първоначално във Facebook (сега Meta), за да комбинира функциите на DynamoDB на Amazon и Bigtable на Google.

Той се използва широко от компании като Netflix, Uber и Facebook поради високата си наличност и мащабируемост.

Тази статия ще разгледа как е структуриран Apache Cassandra, как работи и различните функции и предимства от използването му като част от вашия технологичен стек.

Какво е NoSQL?

Apache Cassandra попада в групата бази данни, известни като NoSQL бази данни. За разлика от релационните или SQL бази данни, NoSQL базите данни не използват SQL или релации по начина, по който го правят SQL базите данни.

Това създава предимства в лекотата на използване и гъвкавостта, като същевременно жертва способността да се правят по-сложни заявки. Но както NoSQL, така и SQL базите данни имат своите места, където всяка от тях блести.

Как работи Apache Cassandra?

Cassandras работи с помощта на Cassandra Query Language (CQL), който е синтактично много подобен на Structured Query Language (SQL), използван от релационни бази данни.

Той обаче не поддържа определени функции, като например съединения, които повечето релационни бази данни имат. Това е така, защото Cassandra е база данни с първа заявка. Това означава, че базата данни е проектирана въз основа на заявките, които ще бъдат направени.

  Как можете да напуснете чат GroupMe

След това се създават таблици, за да предоставят достатъчно данни за всяка заявка, без да е необходимо да се обединяват множество таблици. Това го прави бързо. Може да се инсталира на всички основни операционни системи.

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

На най-основното ниво Касандра се състои от възли. Данните се съхраняват във възли и всички записи с един и същи ключ се съхраняват в същия възел. Това прави изпълнението на заявки по-бързо, отколкото в SQL бази данни, където множество таблици могат да се изпълняват на множество машини.

Източник: cassandra.apache.org

Данните се репликират между възли за висока достъпност чрез фактор на репликация, определен от създателя на базата данни. Група от възли, съхраняващи всички данни в база данни, се нарича център за данни.

Група от центрове за данни образува клъстер. Наличието на множество центрове за данни означава, че данните са винаги налични дори когато един център за данни неочаквано излезе офлайн.

Характеристики на Apache Cassandra

Сред най-важните и отличителни фактори на Apache Cassandra и други опции на пазара са, че е:

#1. Отворен код

Apache Cassandra е безплатен и с отворен код. Това означава, че изходният код е достъпен онлайн, което прави по-малко вероятно да има грешки и уязвимости, които вече не са открити и коригирани.

Това е важно, тъй като потребителските и бизнес данните са важни активи, които трябва да бъдат защитени.

#2. Използва архитектура с широка колона

За разлика от повечето бази данни, които съхраняват данни във файлове в зависимост от това в коя таблица са данните, Apache Cassandra съхранява по колони.

Това прави търсенето на стойност в колона по-бързо, защото не е необходимо да търсите целия ред. В резултат на това търсенето на данни на Cassandra е толкова бързо, колкото използването на индекси в други бази данни.

  Как да използвате опцията за проследяване в Outlook

#3. Разпределени

Apache Cassandra е разпределен, което означава, че не работи на една машина. Това помага да се осигури висока наличност на данни, тъй като те се репликират в различни възли и центрове за данни. Той също така прави достъпа до данни по-бърз, когато центровете за данни са географски по-близо до потребителя.

#4. Query-First Design

В традиционния дизайн на бази данни таблиците се моделират около обекти. Чрез нормализиране връзките между тези обекти се установяват и създават в базите данни.

Често при заявки релациите обхващат множество таблици. Когато тези таблици се съхраняват на различни машини, достъпът до данни може да бъде бавен.

С Cassandra обаче създавате таблици въз основа на заявките, които възнамерявате да направите. След това всички данни, необходими за удовлетворяване на тази заявка, се съхраняват в една таблица.

Предимства на Apache Cassandra

  • Безплатна е: Самата система за управление на база данни е безплатна и може да бъде изтеглена от официалния уебсайт на Apache Cassandra. Сървърната инфраструктура, върху която работи базата данни обаче, не е такава.
  • Изключително наличен: Apache Cassandra е проектиран с мисъл за устойчивостта. Той е проектиран с достатъчно излишък, за да остане функционален, когато части от базата данни са офлайн.
  • Тя е мащабируема: допълнителни възли могат да се добавят към базата данни и капацитетът за съхранение може да бъде разширен с малко или никакво прекъсване. Това е идеално за изграждане на приложения с голям обем.
  • По-бързо е: Поради архитектурата с широка колона и дизайна с първо заявка, Apache Cassandra може да работи по-бързо в сравнение с други системи за управление на бази данни.
  Как работи Auto-HDR на Xbox Series X|S (и как да го деактивирате)

Сега ще разгледаме някои от най-добрите учебни ресурси, за да разберем Apache Cassandra.

Ресурси за обучение

#1. Apache Cassandra: Всичко, което трябва да знаете

Този курс на Udemy за Apache Cassandra ще ви отведе от начинаещи до професионални уроци, обхващащи теми от теоретичния преглед на Cassandra до езика за заявки Cassandra.

Единственото изискване за този курс е да сте запознати с базите данни като цяло и Linux системите.

#2. Станете сертифициран разработчик на Cassandra: Практически изпити

Този курс за сертификат включва два изпита, които ще ви помогнат да се подготвите и практикувате за изпита за сертифициране на разработчици Apache Cassandra на Datastax Academy.

Всеки изпит е деветдесет минути и обхваща теми от архитектура, моделиране и Cassandra Query Langauge. Идеалната публика за този курс са разработчици, които вече познават Cassandra, но искат да получат професионални сертификати.

#3. Apache Cassandra Essentials

Тази книга за разработчици ви учи как да започнете с Apache Cassandra. Той учи читателите да инсталират Cassandra и да настроят клъстер на база данни. След това ще научите езика за заявки Cassandra, за да взаимодействате с вашата база данни.

Ще научите и за инструментите, които можете да използвате, за да наблюдавате своя клъстер и заявки за отстраняване на грешки. Той е идеален за някой, който никога преди не е работил с Касандра и иска да започне.

#4. Овладяване на Apache Cassandra

Написана за хора с известни познания за Cassandra, тази книга учи читателите да пишат по-ефективни програми на Cassandra и да конфигурират Cassandra, за да бъде по-производителна.

Освен това, той учи как да интегрирате Apache Cassandra с Apache Spark за изграждане на системи за анализ на данни.

Заключителни думи

Apache Cassandra е мощен избор за база данни в широкомащабни, разпределени системи. Неговата надеждност, мащабируемост и скорост го правят предпочитана опция сред технологичните гиганти.

Изучаването и овладяването на тази база данни ще ви предостави умения за изграждане на софтуерни системи, които обслужват надеждно милиони потребители.

След това можете да разгледате инструментите за наблюдение на Apache Cassandra, за да следите производителността на базата данни.