Saadaval on Andmebaasis Apache Cassandra 4.0

Apache Software Foundation tutvustas jaotatud andmebaasi Apache Cassandra 4.0, mis kuulub noSQL-sĂŒsteemide klassi ja on mĂ”eldud suurte andmemahtude kĂ”rge skaleeritavuse ja usaldusvÀÀrsuse tagamiseks, salvestades andmeid assotsiatiivsete massiivide (hÀÀlekaupluste) kujul. Cassandra 4.0 on tunnustatud tootmisrakenduste jaoks ja on juba testitud ettevĂ”tete Amazon, Apple, DataStax, Instaclustr, iland ja Netflix infrastruktuurides, mille klastrid koosnevad enam kui 1000 sĂ”lmest. Projekti kood on kirjutatud Java keeles ja jagatud Apache 2.0 litsentsi alusel.

Esialgu töötas andmebaasis Cassandra Facebooki poolt, kuid 2009. aastal anti see Apache'i fondi hoolde. Tööstuslikud lahendused, mis pĂ”hinevad Cassandra'l, on kasutusele vĂ”tnud sellised ettevĂ”tted nagu Apple, Adobe, CERN, Cisco, IBM, HP, Comcast, Disney, eBay, Huawei, Netflix, Sony, Rackspace, Reddit ja Twitter. NĂ€iteks Apple'i kasutusele vĂ”etud Apache Cassandra pĂ”hinev infrastruktuur sisaldab rohkem kui tuhat klasterit, mis koosnevad 160 000 sĂ”lmest ja salvestavad ĂŒle 100 petabaidi andmeid. Huawei kasutab rohkem kui 300 Apache Cassandra klastrit, mis koosnevad 30 000 sĂ”lmest, ning Netflixil on ĂŒle 100 klaster, mis katab 10 000 sĂ”lme ja töötleb rohkem kui triljon pĂ€ringut pĂ€evas.

Cassandra andmebaas ĂŒhendab endas tĂ€ielikult jaotatud hash-sĂŒsteemi Dynamo, mis tagab praktiliselt lineaarselt skaleeritava tööd erineva andmemahu korral. Cassandra kasutab veergude perekonnale (ColumnFamily) pĂ”hinevat andmemudeleid, mis erineb sarnastest sĂŒsteemidest nagu memcachedb, mis salvestab andmeid ainult vĂ”tme/vÀÀrtuse paarides, vĂ”imaldades korraldada mitmetasandiliste sisendite salvestamist. Andmebaasiga suhtlemise lihtsustamiseks toetab see struktureeritud pĂ€ringute keelt CQL (Cassandra Query Language), mis meenutab SQL-i, kuid on funktsionaalsuse poolest piiratud. Toetatakse nime ruume ja veergude perekondi, samuti indeksite loomist kĂ€suga „CREATE INDEX”.

Andmebaas vĂ”imaldab luua tĂ”rkealti salvestusruume: andmebaasi sisestatud andmed replitseeritakse automaatselt mitmele sĂ”lmele jaotatud vĂ”rgus, mis vĂ”ib katab erinevaid. andmekeskustesse. SĂ”lme rikke korral ĂŒle vĂ”tavad selle funktsioonid teised sĂ”lmed koheselt. Uute sĂ”lmede lisamine klastrisse ja Cassandra versiooni uuendamine toimub reaalajas, ilma tĂ€iendava kĂ€sitsi sekkumise ja teiste sĂ”lmede ĂŒmberkonfigureerimiseta. CQL-i toetavad draiverid on valmistatud keeltele Python, Java (JDBC/DBAPI2), Ruby, PHP, C++ ja JavaScript (Node.js).

PÔhilised uuendused:

  • TĂ”husus ja skaleeritavus on suurenenud. Andmevahetuse efektiivsus SSTable (Sorted Strings Table) formaadis sĂ”lmede vahel on paranenud. SĂ”lmede vahelise sĂ”numivahetuse protokoll (Internode Messaging Protocol) on optimeeritud. Andmevoogude edastamise kiirus sĂ”lmede vahel on kasvanud kuni 5 korda (peamiselt tĂ€nu Zero Copy tehnikale ja SSTable-de edastamisele tervikuna), samas kui lugemise ja kirjutamise toimingute lĂ€bilaskvus on kasvanud kuni 25%. Inkrementaalne taastamise protsess on optimeeritud. JÀÀtmed, mis tulenevad prĂŒgi koristaja peatamisest, on vĂ€henenud vaid mĂ”ne millisekundi vĂ”rra.
  • Lisatud on auditi logi tugi, mis vĂ”imaldab jĂ€lgida kasutajate autentimise operatsioone ja kĂ”iki teostatavaid CQL pĂ€ringuid.
  • Lisatud tĂ€ieliku binaarsete pĂ€ringulogide pidamise vĂ”imalus, mis vĂ”imaldab salvestada kogu pĂ€ringu- ja vastustrafiku. Hallamiseks on ette nĂ€htud kĂ€sud „nodetool enablefullquerylog|disablefullquerylog|resetfullquerylog“, ning logi analĂŒĂŒsimiseks on saadaval utiliit fqltool. Pakutakse kĂ€ske logi lugemise tĂ”ttu (Dump), aktiivsuse lĂ”ikude vĂ”rdlemiseks (Compare) ja tingimuste taastamiseks, mis on iseloomulikud tĂ”elisele koormusele (Replay).
  • Lisatud toetus virtuaalsete tabelite jaoks, mis kajastavad mitte SSTables'is sisalduvaid andmeid, vaid teavet, mis edastatakse API kaudu (tĂ”hususe mÔÔdud, seadistuste info, vahemĂ€lu sisu, ĂŒhendatud klientide andmed jne).
  • TĂ”hustatud andmete salvestamise efektiivsust kokkupressitud vormis, mis vĂ”imaldab vĂ€hendada kettaruumi tarbimist ja suurendada lugemisoperatsioonide tĂ”husust.
  • SĂŒsteemi vĂ”tme ruumile (system.*) seotud andmed asetatakse nĂŒĂŒd vaikimisi esimesse katalooge, selle asemel, et jaotuda kĂ”igisse andmekataloogidesse, mis aitab sĂ€ilitada sĂ”lme töökorras, kui ĂŒks lisadiskidest tĂ”rkub.
  • KĂ€egakatsutav toetus ajutisele replikatsioonile (Transient Replication) ja kergetele kvoorumitele (Cheap Quorums) on lisatud. Ajutised replikad ei salvestada kĂ”iki andmeid ja kasutavad tĂ€iendavate replikate konsolideerimiseks inkrementaalset taastamist. Kerged kvoorumid realiseerivad kirjutamisoperatsioonide optimeerimise, kus kirjutamine ajutistesse replikatesse ei toimu, kuni piisav arv tĂ€iendavaid replikas on kergesti saadaval.
  • KĂ€egakatsutav toetus Java 11-le on lisatud.
  • KĂ€egakatsutav valik kĂ”igi Merkle puude (Merkle Tree) vĂ”rdlemiseks on lisatud. NĂ€iteks valiku lubamine kolmnodega klastris, kus kaks replikat on samad ja ĂŒks on aegunud, toob kaasa aegunud replikate uuendamise ainult ĂŒhe aktiivse replikati kopeerimise operatsiooni abil.
  • Uued funktsioonid currentTimestamp, currentDate, currentTime ja currentTimeUUID on lisatud.
  • Lisatud to suport matemaatilisi opereerimise CQL-i pĂ€ringutes.
  • Toodud vĂ”imalus teostada matemaatilisi opereerimisi „timestamp” / „date” ja „duration” tĂŒĂŒpide vahel.
  • Lisatud reĆŸiim andmevoogude eelvaateks, mis on vajalik taastamiseks (nodetool repair —preview) ja vĂ”imalus kontrollida taastatud andmete terviklikkust (nodetool repair —validate).
  • SELECT-pĂ€ringutes on lisatud vĂ”imalus töödelda Map ja Set elemente.
  • Lisatud tugi materjaliseeritud vaadete algse koostamise paralleelseks teostamiseks (cassandra.yaml:concurrent_materialized_view_builders).
  • nodetool cfstats kĂ€sk on tĂ€iustatud, et toetada sortimist teatud mÔÔdikute jĂ€rgi ja ridade arvu piiramist.
  • Kasutajate ĂŒhenduse piiramiseks on antud seadistused ainult teatud andmekeskustega ĂŒhendamiseks.
  • Lisatud vĂ”imalus piirata toimingute intensiivsust (rate limit) pildistamiste loomisel ja puhastamisel.
  • CQLSH ja CQLSHLIB toetavad nĂŒĂŒd Python 3 (Python 2.7 tugi on jĂ€tkuvalt sĂ€ilinud).
  • Windows platvormi toetus on lĂ”petatud. Cassandra kĂ€ivitamiseks Windowsis on soovitatav kasutada Linuxi keskkondi, mis on loodud WSL2 (Windows Subsystem for Linux 2) vĂ”i virtualiseerimissĂŒsteemide alusel.

Vaata videot


Allikas: opennet.ru
Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster