Apache Cassandra is een open-source, NoSQL gedistribueerde database.
Wat is Apache Cassandra?
Voordat het open source werd gemaakt, werd Apache Cassandra in eerste instantie ontworpen door Facebook (nu Meta) om functies van Amazon’s DynamoDB en Google’s Bigtable te combineren.
Het wordt veel gebruikt door bedrijven zoals Netflix, Uber en Facebook vanwege de hoge beschikbaarheid en schaalbaarheid.
Dit artikel gaat in op hoe Apache Cassandra is gestructureerd, hoe het werkt en de verschillende functies en voordelen van het gebruik ervan als onderdeel van uw technische stack.
Wat is NoSQL?
Apache Cassandra valt onder de groep databases die bekend staat als NoSQL-databases. In tegenstelling tot relationele of SQL-databases, gebruiken NoSQL-databases geen SQL of relaties zoals SQL-databases dat doen.
Dit creëert voordelen op het gebied van gebruiksgemak en flexibiliteit, terwijl het de mogelijkheid opoffert om meer geavanceerde vragen te stellen. Zowel NoSQL- als SQL-databases hebben echter hun plaatsen waar ze allemaal schitteren.
Hoe werkt Apache Cassandra?
Cassandras werkt met de Cassandra Query Language (CQL), die syntactisch sterk lijkt op Structured Query Language (SQL) die wordt gebruikt door relationele databases.
Het ondersteunt echter niet bepaalde functies, zoals joins, die de meeste relationele databases hebben. Dit komt omdat Cassandra een query-first database is. Dat betekent dat de database wordt ontworpen op basis van de vragen die worden gesteld.
Er worden vervolgens tabellen gemaakt om voldoende gegevens voor elke query te leveren zonder dat u zich bij meerdere tabellen hoeft aan te sluiten. Dit maakt het snel. Het kan op alle belangrijke besturingssystemen worden geïnstalleerd.
Architectuur van Cassandra
Op het meest basale niveau bestaat Cassandra uit knooppunten. Gegevens worden opgeslagen in knooppunten en alle records met dezelfde sleutel worden opgeslagen in hetzelfde knooppunt. Dit maakt het uitvoeren van query’s sneller dan in SQL-databases, waar meerdere tabellen op meerdere machines kunnen worden uitgevoerd.
Bron: cassandra.apache.org
Gegevens worden gerepliceerd over knooppunten voor hoge beschikbaarheid door een replicatiefactor die is opgegeven door de maker van de database. Een groep knooppunten die alle gegevens in een database opslaan, wordt een datacenter genoemd.
Een groep datacenters vormt een cluster. Het hebben van meerdere datacenters betekent dat gegevens altijd beschikbaar zijn, zelfs als een datacenter onverwachts offline gaat.
Kenmerken van Apache Cassandra
Een van de belangrijkste en onderscheidende factoren van Apache Cassandra en andere opties op de markt is dat het:
#1. Open source
Apache Cassandra is gratis en open-source. Dit betekent dat de broncode online beschikbaar is, waardoor het minder waarschijnlijk is dat deze bugs en kwetsbaarheden bevat die nog niet zijn ontdekt en opgelost.
Dit is belangrijk omdat gebruikers- en bedrijfsgegevens belangrijke activa zijn die moeten worden beschermd.
#2. Maakt gebruik van architectuur met brede kolommen
In tegenstelling tot de meeste databases die gegevens in bestanden opslaan, afhankelijk van in welke tabel de gegevens zich bevinden, slaat Apache Cassandra per kolom op.
Dit maakt het zoeken naar een waarde in een kolom sneller omdat het niet de hele rij hoeft op te zoeken. Als gevolg hiervan zijn Cassandra’s gegevenszoekopdrachten net zo snel als het gebruik van indexen in andere databases.
#3. Verdeeld
Apache Cassandra wordt gedistribueerd, wat betekent dat het niet op een enkele machine draait. Dit zorgt voor een hoge beschikbaarheid van gegevens, omdat deze wordt gerepliceerd over verschillende knooppunten en datacenters. Het maakt ook sneller toegang tot gegevens wanneer datacenters geografisch dichter bij de gebruiker liggen.
#4. Query-eerst ontwerp
In traditioneel databaseontwerp worden tabellen gemodelleerd rond entiteiten. Door normalisatie worden vervolgens relaties tussen deze entiteiten tot stand gebracht en gecreëerd in de databases.
Bij het uitvoeren van query’s beslaan relaties vaak meerdere tabellen. Wanneer deze tabellen op verschillende machines worden opgeslagen, kan de toegang tot gegevens traag zijn.
Met Cassandra bouwt u echter tabellen op basis van de query’s die u wilt maken. Alle gegevens die nodig zijn om aan die vraag te voldoen, worden vervolgens in één tabel opgeslagen.
Voordelen van Apache Cassandra
- Het is gratis: het databasebeheersysteem zelf is gratis en kan worden gedownload van de officiële website van Apache Cassandra. De serverinfrastructuur waarop de database draait, is dat echter niet.
- Hoge beschikbaarheid: Apache Cassandra is ontworpen met het oog op veerkracht. Het is ontworpen met voldoende redundantie om functioneel te blijven wanneer delen van de database offline gaan.
- Het is schaalbaar: er kunnen extra knooppunten aan de database worden toegevoegd en de opslagcapaciteit kan worden uitgebreid met weinig tot geen downtime. Dit is ideaal voor het bouwen van toepassingen met een hoog volume.
- Het is sneller: vanwege de brede kolomarchitectuur en het query-first-ontwerp kan Apache Cassandra sneller presteren in vergelijking met andere databasebeheersystemen.
Nu zullen we enkele van de beste leermiddelen verkennen om Apache Cassandra te begrijpen.
leermiddelen
#1. Apache Cassandra: alles wat u moet weten
Deze Udemy-cursus over Apache Cassandra neemt je mee van beginners- tot pro-lessen over onderwerpen van het theoretische overzicht van Cassandra tot de Cassandra Query-taal.
De enige vereiste voor deze cursus is dat je bekend bent met databases in het algemeen en Linux-systemen.
#2. Word een gecertificeerde Cassandra-ontwikkelaar: oefenexamens
Deze certificaatcursus bestaat uit twee examens die u helpen bij de voorbereiding en oefening voor het Apache Cassandra Developer Certification-examen van de Datastax Academy.
Elk examen duurt negentig minuten en behandelt onderwerpen uit de architectuur, modellering en Cassandra Query Langauge. Het ideale publiek voor deze cursus zijn ontwikkelaars die Cassandra al kennen, maar op zoek zijn naar professionele certificeringen.
#3. Apache Cassandra Essentials
Dit boek voor ontwikkelaars leert je hoe je aan de slag kunt met Apache Cassandra. Het leert lezers om Cassandra te installeren en een databasecluster op te zetten. Vervolgens leer je de Cassandra Query Language om te communiceren met je database.
U leert ook over hulpprogramma’s die u kunt gebruiken om uw cluster te bewaken en query’s te debuggen. Het is ideaal voor iemand die nog nooit met Cassandra heeft gewerkt en aan de slag wil.
#4. Apache Cassandra onder de knie krijgen
Dit boek is geschreven voor mensen met enige voorkennis van Cassandra en leert lezers om efficiëntere Cassandra-programma’s te schrijven en Cassandra zo te configureren dat ze beter presteren.
Verder leert het hoe Apache Cassandra te integreren met Apache Spark om data-analysesystemen te bouwen.
laatste woorden
Apache Cassandra is een krachtige keuze voor een database in grootschalige, gedistribueerde systemen. De betrouwbaarheid, schaalbaarheid en snelheid maken het een favoriete optie onder technische giganten.
Door deze database te leren en te beheersen, krijgt u vaardigheden om softwaresystemen te bouwen die miljoenen gebruikers betrouwbaar van dienst zijn.
Vervolgens kunt u Apache Cassandra-bewakingstools bekijken om de databaseprestaties in de gaten te houden.