Apache Cassandra ir atvērtā koda NoSQL izplatīta datubāze.
Kas ir Apache Cassandra?
Pirms atvērtā pirmkoda izveides Apache Cassandra sākotnēji tika izstrādāta vietnē Facebook (tagad Meta), lai apvienotu Amazon DynamoDB un Google Bigtable funkcijas.
Augstās pieejamības un mērogojamības dēļ to plaši izmanto tādi uzņēmumi kā Netflix, Uber un Facebook.
Šajā rakstā tiks aplūkots, kā Apache Cassandra ir strukturēta, kā tā darbojas, kā arī dažādas funkcijas un priekšrocības, ko sniedz tā izmantošana kā daļa no tehnoloģiju kopas.
Kas ir NoSQL?
Apache Cassandra ietilpst datu bāzu grupā, kas pazīstama kā NoSQL datu bāzes. Atšķirībā no relāciju vai SQL datu bāzēm, NoSQL datu bāzes neizmanto SQL vai relācijas tā, kā to dara SQL datu bāzes.
Tas rada priekšrocības lietošanas vienkāršībā un elastībā, vienlaikus upurējot iespēju veikt sarežģītākus vaicājumus. Tomēr gan NoSQL, gan SQL datu bāzēm ir savas vietas, kur katra no tām spīd.
Kā darbojas Apache Cassandra?
Cassandra darbojas, izmantojot Cassandra vaicājumu valodu (CQL), kas sintaktiski ir ļoti līdzīga strukturētajai vaicājumu valodai (SQL), ko izmanto relāciju datu bāzes.
Tomēr tas neatbalsta noteiktus līdzekļus, piemēram, pievienošanos, kas ir lielākajai daļai relāciju datu bāzu. Tas ir tāpēc, ka Cassandra ir datu bāze, kurā vispirms tiek meklēti jautājumi. Tas nozīmē, ka datubāze ir izveidota, pamatojoties uz vaicājumiem, kas tiks veikti.
Pēc tam tiek izveidotas tabulas, lai nodrošinātu pietiekami daudz datu katram vaicājumam bez nepieciešamības apvienot vairākas tabulas. Tas padara to ātru. To var instalēt visās lielākajās operētājsistēmās.
Kasandras arhitektūra
Visvienkāršākajā līmenī Cassandra sastāv no mezgliem. Dati tiek glabāti mezglos, un visi ieraksti ar vienu un to pašu atslēgu tiek glabāti vienā mezglā. Tas padara vaicājumu izpildi ātrāku nekā SQL datu bāzēs, kur vairākas tabulas var darboties vairākās iekārtās.
Avots: cassandra.apache.org
Dati tiek replicēti visos mezglos, lai nodrošinātu augstu pieejamību, izmantojot datu bāzes veidotāja norādīto replikācijas koeficientu. Mezglu grupu, kas glabā visus datus datu bāzē, sauc par datu centru.
Datu centru grupa veido kopu. Ja ir vairāki datu centri, dati vienmēr ir pieejami pat tad, ja viens datu centrs negaidīti pāriet bezsaistē.
Apache Cassandra iezīmes
Viens no svarīgākajiem un atšķirīgākajiem Apache Cassandra faktoriem un citām tirgū piedāvātajām iespējām ir:
#1. Atvērtais avots
Apache Cassandra ir bezmaksas un atvērtā koda. Tas nozīmē, ka avota kods ir pieejams tiešsaistē, tāpēc ir mazāka iespēja, ka tajā ir kļūdas un ievainojamības, kas vēl nav atklātas un novērstas.
Tas ir svarīgi, jo lietotāju un uzņēmumu dati ir svarīgi aktīvi, kas ir jāaizsargā.
#2. Izmanto plašu kolonnu arhitektūru
Atšķirībā no vairuma datu bāzu, kas glabā datus failos atkarībā no tā, kurā tabulā dati atrodas, Apache Cassandra glabā pēc kolonnas.
Tas padara vērtības meklēšanu kolonnā ātrāku, jo tai nav jāmeklē visa rinda. Rezultātā Cassandra datu meklēšana ir tikpat ātra kā citu datu bāzu indeksu izmantošana.
#3. Izplatīts
Apache Cassandra ir izplatīts, kas nozīmē, ka tas nedarbojas vienā mašīnā. Tas palīdz nodrošināt augstu datu pieejamību, jo tie tiek replicēti dažādos mezglos un datu centros. Tas arī padara piekļuvi datiem ātrāku, ja datu centri atrodas ģeogrāfiski tuvāk lietotājam.
#4. Query-First dizains
Tradicionālajā datu bāzes dizainā tabulas tiek modelētas ap entītijām. Normalizējot, attiecības starp šīm entītijām tiek izveidotas un izveidotas datu bāzēs.
Bieži vien, veicot vaicājumus, attiecības aptver vairākas tabulas. Ja šīs tabulas tiek glabātas dažādās iekārtās, piekļuve datiem var būt lēna.
Tomēr ar Cassandra jūs veidojat tabulas, pamatojoties uz vaicājumiem, kurus plānojat veikt. Visi dati, kas nepieciešami šī vaicājuma izpildei, tiek glabāti vienā tabulā.
Apache Cassandra priekšrocības
- Tas ir bezmaksas: pati datu bāzes pārvaldības sistēma ir bezmaksas, un to var lejupielādēt no Apache Cassandra oficiālās vietnes. Tomēr servera infrastruktūra, kurā darbojas datu bāze, nav.
- Ļoti pieejams: Apache Cassandra ir izstrādāta, ņemot vērā izturību. Tā ir izstrādāta ar pietiekamu dublēšanu, lai tā paliktu funkcionāla, kad dažas datu bāzes daļas pāriet bezsaistē.
- Tas ir mērogojams: datu bāzei var pievienot papildu mezglus, un krātuves ietilpību var paplašināt ar nelielu dīkstāvi vai bez tās. Tas ir ideāli piemērots liela apjoma lietojumprogrammu veidošanai.
- Tas ir ātrāks: plašās kolonnu arhitektūras un vaicājuma dizaina dēļ Apache Cassandra var darboties ātrāk, salīdzinot ar citām datu bāzes pārvaldības sistēmām.
Tagad mēs izpētīsim dažus no labākajiem mācību resursiem, lai izprastu Apache Cassandra.
Mācību resursi
#1. Apache Cassandra: viss, kas jums jāzina
Šajā Udemy kursā par Apache Cassandra jūs varēsit no iesācēja līdz profesionāļiem apgūt tēmas, sākot no Cassandra teorētiskā pārskata līdz Cassandra vaicājumu valodai.
Vienīgā prasība šim kursam ir pārzināt datubāzes kopumā un Linux sistēmas.
#2. Kļūstiet par sertificētu Cassandra izstrādātāju: praktizējiet eksāmenus
Šis sertifikātu kurss sastāv no diviem eksāmeniem, kas palīdzēs sagatavoties un praktizēt Datastax Academy Apache Cassandra izstrādātāja sertifikācijas eksāmenu.
Katrs eksāmens ir deviņdesmit minūtes un aptver tēmas no arhitektūras, modelēšanas un Cassandra Query Langauge. Šī kursa ideālā auditorija ir izstrādātāji, kuri jau pazīst Kasandru, bet vēlas iegūt profesionālus sertifikātus.
#3. Apache Cassandra Essentials
Šajā izstrādātājiem paredzētajā grāmatā ir aprakstīts, kā sākt darbu ar Apache Cassandra. Tas māca lasītājiem instalēt Cassandra un iestatīt datu bāzes klasteru. Pēc tam jūs apgūsit Cassandra vaicājumu valodu, lai mijiedarbotos ar savu datu bāzi.
Jūs arī uzzināsit par rīkiem, ko varat izmantot, lai pārraudzītu klasterus un atkļūdošanas vaicājumus. Tas ir ideāli piemērots kādam, kurš nekad iepriekš nav strādājis ar Kasandru un vēlas sākt darbu.
#4. Apache Cassandra apgūšana
Šī grāmata ir rakstīta cilvēkiem ar zināmām priekšzināšanām par Kasandru, un tā māca lasītājiem rakstīt efektīvākas Kasandras programmas un konfigurēt Kasandru tā, lai tā būtu efektīvāka.
Turklāt tas māca, kā integrēt Apache Cassandra ar Apache Spark, lai izveidotu datu analīzes sistēmas.
Nobeiguma vārdi
Apache Cassandra ir lieliska izvēle datubāzei liela mēroga sadalītās sistēmās. Tā uzticamība, mērogojamība un ātrums padara to par iecienītu iespēju tehnoloģiju gigantu vidū.
Apgūstot un apgūstot šo datubāzi, jūs iegūsit prasmes izveidot programmatūras sistēmas, kas uzticami apkalpo miljoniem lietotāju.
Pēc tam varat pārbaudīt Apache Cassandra uzraudzības rīkus, lai sekotu līdzi datu bāzes veiktspējai.