Yra Apache Cassandra 4.0 DBVS

„Apache Software Foundation“ pristatė platinamą DBVS „Apache Cassandra 4.0“, kuri priklauso noSQL sistemų klasei ir yra skirta sukurti labai keičiamą ir patikimą didžiulių duomenų, saugomų asociatyvaus masyvo (maišos) pavidalu, saugyklą. „Cassandra 4.0“ leidimas laikomas paruoštu gamybiniam diegimui ir jau buvo išbandytas „Amazon“, „Apple“, „DataStax“, „Instaclustr“, „iland“ ir „Netflix“ infrastruktūrose, kuriose yra daugiau nei 1000 mazgų. Projekto kodas parašytas Java ir platinamas pagal Apache 2.0 licenciją.

„Cassandra DBMS“ iš pradžių sukūrė „Facebook“, o 2009 m. ji buvo perduota „Apache“ fondui. „Cassandra“ pagrįstus pramoninius sprendimus energijos paslaugoms diegė tokios įmonės kaip „Apple“, „Adobe“, CERN, „Cisco“, IBM, HP, „Comcast“, „Disney“, „eBay“, „Huawei“, „Netflix“, „Sony“, „Rackspace“, „Reddit“ ir „Twitter“. Pavyzdžiui, „Apple“ įdiegta „Apache Cassandra“ saugojimo infrastruktūra turi daugiau nei tūkstantį grupių, įskaitant 160 tūkstančių mazgų ir saugo daugiau nei 100 petabaitų duomenų. „Huawei“ naudoja daugiau nei 300 „Apache Cassandra“ grupių, kurias sudaro 30 tūkstančių mazgų, o „Netflix“ – daugiau nei 100 grupių, apimančių 10 tūkstančių mazgų ir apdorojančių daugiau nei trilijoną užklausų per dieną.

„Cassandra“ DBVS sujungia visiškai paskirstytą „Dynamo“ maišos sistemą, kuri užtikrina beveik tiesinį mastelio keitimą didėjant duomenų kiekiui. „Cassandra“ naudoja duomenų saugojimo modelį, pagrįstą stulpelių šeima (ColumnFamily), kuri skiriasi nuo tokių sistemų kaip memcachedb, kurios saugo duomenis tik rakto / vertės grandinėje, nes gali organizuoti maišos saugojimą keliais įdėjimo lygiais. Siekiant supaprastinti sąveiką su duomenų baze, palaikoma struktūrinių užklausų kalba CQL (Cassandra Query Language), kuri primena SQL, bet sumažino funkcionalumą. Funkcijos apima vardų erdvių ir stulpelių šeimų palaikymą bei indeksų kūrimą naudojant „CREATE INDEX“ išraišką.

DBVS leidžia sukurti gedimams atsparią saugyklą: duomenų bazėje patalpinti duomenys automatiškai atkartojami į kelis paskirstyto tinklo mazgus, kurie gali apimti skirtingus duomenų centrus. Kai mazgas sugenda, jo funkcijas greitai perima kiti mazgai. Naujų mazgų įtraukimas į klasterį ir „Cassandra“ versijos atnaujinimas atliekamas be papildomo rankinio įsikišimo ar kitų mazgų perkonfigūravimo. Tvarkyklės su CQL palaikymu yra paruoštos Python, Java (JDBC/DBAPI2), Ruby, PHP, C++ ir JavaScript (Node.js).

Pagrindinės naujovės:

  • Pagerintas našumas ir mastelio keitimas. Patobulintas duomenų mainų SSTable (Sorted Strings Table) formatu tarp mazgų efektyvumas. Tarpmazginis pranešimų protokolas buvo optimizuotas. Duomenų srautų perdavimo tarp mazgų greitis padidėjo iki 5 kartų (daugiausia dėl „Zero Copy“ technikos naudojimo ir visų SST lentelių perdavimo), o skaitymo ir rašymo operacijų pralaidumas išaugo iki 25%. Laipsniškas atkūrimo procesas buvo optimizuotas. Delsos dėl šiukšlių surinkimo pristabdymo sumažinamos iki kelių milisekundžių.
  • Pridėtas audito žurnalo palaikymas, leidžiantis sekti vartotojo autentifikavimo operacijas ir visas vykdomas CQL užklausas.
  • Pridėta galimybė tvarkyti visą dvejetainį užklausų žurnalą, leidžiantį išsaugoti visą užklausų ir atsakymų srautą. Valdymui siūlomos komandos „nodetool enablefullquerylog|disablefullquerylog|resetfullquerylog“, o žurnalo analizei pateikiama „fqltool“ programa. Pateikiamos komandos konvertuoti žurnalą į skaitomą formą (Dump), lyginti veiklos skilteles (Palyginti) ir pakartotinai vykdyti (Replay) analizei, atkuriant sąlygas, būdingas tikrajai apkrovai.
  • Pridėtas palaikymas virtualioms lentelėms, kurios atspindi ne duomenis, saugomus SSTtables, o informaciją, išvedamą per API (našumo metriką, nustatymų informaciją, talpyklos turinį, informaciją apie prijungtus klientus ir kt.).
  • Patobulintas suspaustų duomenų saugojimo efektyvumas, sumažinant vietos diske suvartojimą ir pagerinant skaitymo našumą.
  • Duomenys, susiję su sistemos raktų erdve (sistema.*), dabar pagal numatytuosius nustatymus dedami į pirmąjį katalogą, o ne paskirstomi visuose duomenų kataloguose, o tai leidžia mazgui veikti, jei vienas iš papildomų diskų sugenda.
  • Pridėtas eksperimentinis trumpalaikės replikacijos ir pigių kvorumų palaikymas. Laikinosios kopijos nesaugo visų duomenų ir naudoja laipsnišką atkūrimą, kad atitiktų visas kopijas. Lengvieji kvorumai įgyvendina rašymo optimizavimą, kai į laikinąsias kopijas neįrašoma tol, kol nepasiekiamas pakankamas visų kopijų rinkinys.
  • Pridėtas eksperimentinis Java 11 palaikymas.
  • Pridėta eksperimentinė galimybė palyginti visus Merkle medžius. Pavyzdžiui, įjungus parinktį 3 mazgų klasteryje, kuriame dvi kopijos yra identiškos, o viena pasenusi, pasenusi kopija bus atnaujinta naudojant tik vieną dabartinės kopijos kopijavimo operaciją.
  • Pridėtos naujos funkcijos currentTimestamp, currentDate, currentTime ir currentTimeUUID.
  • Pridėtas aritmetinių operacijų palaikymas CQL užklausose.
  • Suteikiama galimybė atlikti aritmetines operacijas tarp duomenų, kurių tipai „laiko žyma“/“data“ ir „trukmė“.
  • Pridėtas duomenų srautų, reikalingų atkūrimui, peržiūros režimas (nodetool remontas – peržiūra) ir galimybė patikrinti atkuriamų duomenų vientisumą (nodetool remontas – patvirtinimas).
  • SELECT užklausos dabar turi galimybę apdoroti žemėlapio ir rinkinio elementus.
  • Pridėtas palaikymas lygiagrečiam pradiniam materializuotų rodinių kūrimo etapui (cassandra.yaml:concurrent_materialized_view_builders).
  • Komanda „nodetool cfstats“ papildė rūšiavimo pagal tam tikrą metriką palaikymą ir rodomų eilučių skaičiaus ribojimą.
  • Nustatymai pateikiami siekiant apriboti vartotojo ryšį tik su tam tikrais duomenų centrais.
  • Pridėta galimybė apriboti momentinių nuotraukų kūrimo ir išvalymo operacijų intensyvumą (greičio limitą).
  • cqlsh ir cqlshlib dabar palaiko Python 3 (Python 2.7 vis dar palaikoma).
  • „Windows“ platformos palaikymas buvo nutrauktas. Norint paleisti „Cassandra“ sistemoje „Windows“, rekomenduojama naudoti „Linux“ aplinkas, sukurtas WSL2 posistemio („Windows Subsystem for Linux 2“) arba virtualizacijos sistemų pagrindu.



Šaltinis: opennet.ru

Добавить комментарий