Apache Cassandra forklaret på 5 minutter eller mindre

Apache Cassandra er en open source, NoSQL-distribueret database.

Hvad er Apache Cassandra?

Inden Apache Cassandra blev lavet til open source, blev oprindeligt designet hos Facebook (nu Meta) til at kombinere funktioner fra Amazons DynamoDB og Googles Bigtable.

Det er meget brugt af virksomheder som Netflix, Uber og Facebook på grund af dets høje tilgængelighed og skalerbarhed.

Denne artikel vil gennemgå, hvordan Apache Cassandra er opbygget, hvordan det virker, og de forskellige funktioner og fordele ved at bruge det som en del af din teknologiske stak.

Hvad er NoSQL?

Apache Cassandra falder ind under gruppen af ​​databaser kendt som NoSQL-databaser. I modsætning til relationelle eller SQL-databaser bruger NoSQL-databaser ikke SQL eller relationer på den måde, SQL-databaser gør.

Dette skaber fordele med hensyn til brugervenlighed og fleksibilitet, samtidig med at det ofrer muligheden for at foretage mere avancerede forespørgsler. Men både NoSQL og SQL databaser har deres steder, hvor hver enkelt skinner.

Hvordan virker Apache Cassandra?

Cassandras kører ved hjælp af Cassandra Query Language (CQL), som syntaktisk er meget lig Structured Query Language (SQL), der bruges af relationelle databaser.

Det understøtter dog ikke visse funktioner, såsom joins, som de fleste relationelle databaser har. Dette skyldes, at Cassandra er en forespørgsel-først-database. Det betyder, at databasen er designet baseret på de forespørgsler, der vil blive lavet.

  Sådan slår du tofaktorgodkendelse til i Slack

Tabeller oprettes derefter for at give nok data til hver forespørgsel uden at skulle forbinde flere tabeller. Dette gør det hurtigt. Det kan installeres på alle større operativsystemer.

Arkitektur af Cassandra

På det mest grundlæggende niveau består Cassandra af noder. Data gemmes i noder, og alle poster med samme nøgle gemmes i samme node. Dette gør det hurtigere at udføre forespørgsler end i SQL-databaser, hvor flere tabeller kan køre på flere maskiner.

Kilde: cassandra.apache.org

Data replikeres på tværs af noder for høj tilgængelighed af en replikeringsfaktor specificeret af databaseopretteren. En gruppe af noder, der gemmer alle data i en database, kaldes et datacenter.

En gruppe af datacentre danner en klynge. At have flere datacentre betyder, at data altid er tilgængelige, selv når et datacenter uventet går offline.

Funktioner af Apache Cassandra

Blandt de vigtigste og mest differentierende faktorer ved Apache Cassandra og andre muligheder på markedet er, at det er:

#1. Open-Source

Apache Cassandra er gratis og open source. Det betyder, at kildekoden er tilgængelig online, hvilket gør det mindre sandsynligt, at den har fejl og sårbarheder, der ikke allerede er opdaget og rettet.

Dette er vigtigt, fordi bruger- og forretningsdata er vigtige aktiver, der bør beskyttes.

#2. Bruger Wide-Column Architecture

I modsætning til de fleste databaser, der gemmer data i filer afhængigt af hvilken tabel dataene er i, gemmer Apache Cassandra efter kolonne.

Dette gør det hurtigere at søge efter en værdi i en kolonne, fordi den ikke behøver at slå hele rækken op. Som et resultat er Cassandras dataopslag lige så hurtige som at bruge indekser i andre databaser.

  En begyndervejledning til envejsvideointerviews [+2 Platforms]

#3. Distribueret

Apache Cassandra er distribueret, hvilket betyder, at den ikke kører på en enkelt maskine. Dette er med til at sikre høj datatilgængelighed, fordi det replikeres på tværs af forskellige noder og datacentre. Det gør også dataadgang hurtigere, når datacentre er geografisk tættere på brugeren.

#4. Forespørgsel-første design

I traditionelt databasedesign er tabeller modelleret omkring enheder. Gennem normalisering etableres og skabes relationer mellem disse entiteter i databaserne.

Ofte, når du forespørger, spænder relationer over flere tabeller. Når disse tabeller er gemt på forskellige maskiner, kan dataadgangen være langsom.

Men med Cassandra bygger du tabeller baseret på de forespørgsler, du har tænkt dig at lave. Alle de data, der er nødvendige for at opfylde denne forespørgsel, gemmes derefter i én tabel.

Fordele ved Apache Cassandra

  • Det er gratis: Selve databasestyringssystemet er gratis og kan downloades fra Apache Cassandras officielle hjemmeside. Den serverinfrastruktur, som databasen kører på, er det dog ikke.
  • Meget tilgængelig: Apache Cassandra er designet med robusthed i tankerne. Den er designet med tilstrækkelig redundans til at forblive funktionel, når dele af databasen går offline.
  • Det er skalerbart: Yderligere noder kan tilføjes til databasen, og lagerkapaciteten kan udvides med lidt eller ingen nedetid. Dette er ideelt til at bygge store applikationer.
  • Det er hurtigere: På grund af den brede søjlearkitektur og forespørgsel-først design., kan Apache Cassandra udføre hurtigere sammenlignet med andre databasestyringssystemer.
  9 Cyberangrebssimuleringsværktøjer til at forbedre sikkerheden

Nu vil vi udforske nogle af de bedste læringsressourcer til at forstå Apache Cassandra.

Læringsressourcer

#1. Apache Cassandra: Alt hvad du behøver at vide

Dette Udemy-kursus om Apache Cassandra vil tage dig fra begynder- til pro-lektioner, der dækker emner fra den teoretiske oversigt over Cassandra til Cassandra Query Language.

Det eneste krav til dette kursus er, at du er fortrolig med databaser generelt og Linux-systemer.

#2. Bliv certificeret Cassandra Developer: Practice Exams

Dette certifikatkursus består af to eksamener, der vil hjælpe dig med at forberede og øve dig til Datastax Academys Apache Cassandra Developer Certification-eksamen.

Hver eksamen varer halvfems minutter og dækker emner fra arkitektur, modellering og Cassandra Query Langauge. Det ideelle publikum til dette kursus er udviklere, der allerede kender Cassandra, men som ønsker at opnå professionelle certificeringer.

#3. Apache Cassandra Essentials

Denne bog til udviklere lærer dig, hvordan du kommer i gang med Apache Cassandra. Det lærer læserne at installere Cassandra og oprette en databaseklynge. Dernæst vil du lære Cassandra Query Language til at interagere med din database.

Du vil også lære om værktøjer, du kan bruge til at overvåge din klynge og fejlfinde forespørgsler. Den er ideel til en, der aldrig har arbejdet med Cassandra før, og som gerne vil i gang.

#4. Mestring af Apache Cassandra

Denne bog, som er skrevet til personer med en vis forudgående viden om Cassandra, lærer læserne at skrive mere effektive Cassandra-programmer og konfigurere Cassandra til at være mere ydende.

Desuden lærer det, hvordan man integrerer Apache Cassandra med Apache Spark for at bygge dataanalysesystemer.

Afsluttende ord

Apache Cassandra er et kraftfuldt valg til en database i store, distribuerede systemer. Dens pålidelighed, skalerbarhed og hastighed gør det til en foretrukken mulighed blandt teknologigiganter.

At lære og mestre denne database vil udstyre dig med færdigheder til at bygge softwaresystemer, der betjener millioner af brugere pålideligt.

Dernæst kan du tjekke Apache Cassandra-overvågningsværktøjer for at holde øje med databasens ydeevne.