Baza e të dhënave Apache Cassandra 4.0 është në dispozicion

Organizata Apache Software Foundation paraqiti lëshimin e bazës së të dhënave të shpërndara Apache Cassandra 4.0, e cila i përket klasës së sistemeve noSQL dhe është e dizajnuar për të krijuar depo të shkallëzuara dhe të besueshme për grumbuj të mëdhenj të dhënash, të ruajtura si një tavë hash (asociative array). Lëshimi i Cassandra 4.0 është njohur si i gatshëm për implementime në punë dhe është testuar tashmë në infrastrukturat e kompanive si Amazon, Apple, DataStax, Instaclustr, iland dhe Netflix me klasterë që numërojnë më shumë se 1000 nyje. Kodi i projektit është shkruar në gjuhën Java dhe shpërndahet në kuadër të licencës Apache 2.0.

Fillimisht, baza e të dhënave Cassandra u zhvillua nga kompania Facebook dhe në vitin 2009 i u dorëzua fondit Apache. Zgjidhjet industriale mbi bazën e Cassandra janë vendosur për të siguruar funksionimin e shërbimeve të kompanive si Apple, Adobe, CERN, Cisco, IBM, HP, Comcast, Disney, eBay, Huawei, Netflix, Sony, Rackspace, Reddit dhe Twitter. Për shembull, infrastruktura e ruajtjes e zhvilluar nga Apple mbi bazën e Apache Cassandra përfshin më shumë se një mijë klasterë, që përfshijnë 160 mijë nyje dhe ruajnë më shumë se 100 petabajt të dhënash. Kompania Huawei përdor më shumë se 300 klasterë Apache Cassandra, që përfshijnë 30 mijë nyje, ndërsa Netflix ka më shumë se 100 klasterë, që përfshijnë 10 mijë nyje dhe përpunojnë më shumë se një trilion kërkesash në ditë.

Baza e të dhënave Cassandra bashkon një sistem hash të shpërndarë plotësisht, Dynamo, që siguron shkallëzim praktikisht linear me rritjen e volumit të të dhënave. Cassandra përdor modelin e ruajtjes së të dhënave të bazuar në familjet e kolonave (ColumnFamily), që dallohet nga sistemet si memcachedb, të cilat ruajnë të dhëna vetëm në lidhje çelës/vlerë, duke ofruar mundësinë për të organizuar ruajtjen e hash-eve me disa nivele thellësie. Për të lehtësuar ndërveprimin me bazën e të dhënave, mbështetet gjuha e formës së kërkesave të strukturuara CQL (Cassandra Query Language), që ngjan me SQL, por që është e reduktuar në funksionalitet. Nga mundësitë, mund të përmendim mbështetje për hapësira emri dhe familje kolonash, krijimin e indekseve përmes shprehjes 'CREATE INDEX'.

Baza e të dhënave lejon krijimin e depozita të qëndrueshme ndaj dështimeve: të dhënat e vendosura në bazën e të dhënave riplikohen automatikisht në disa nyje të rrjetit të shpërndarë, i cili mund të mbulojë zona të ndryshme. qendra të përpunimit të të dhënave. Në rast të një dështimi të nyjës, funksionet e saj kapen në fluks nga nyje të tjera. Shtimi i nyjeve të reja në kluster dhe përditësimi i versionit të Cassandra bëhet në fluks, pa ndërhyrje të tjera manuale dhe riparime të nyjeve të tjera. Të drejtorët me mbështetje për CQL janë përgatitur për gjuhët Python, Java (JDBC/DBAPI2), Ruby, PHP, C++ dhe JavaScript (Node.js).

Novitetet kryesore:

  • Rritet performanca dhe shkallĂ«zueshmĂ«ria. ËshtĂ« rritur efikasiteti i shkĂ«mbimit tĂ« tĂ« dhĂ«nave nĂ« formatin SSTable (Tabela e FjalĂ«ve tĂ« Renditur) midis nyjeve. Protokolli i shkĂ«mbimit tĂ« mesazheve midis nyjeve (Protokolli i Mesazheve NdĂ«rnyjesh) Ă«shtĂ« optimizuar. ShpejtĂ«sia e transferimit tĂ« rrjedhave tĂ« tĂ« dhĂ«nave midis nyjeve Ă«shtĂ« rritur deri nĂ« 5 herĂ« (kryesisht pĂ«r shkak tĂ« pĂ«rdorimit tĂ« teknikĂ«s Zero Copy dhe transferimit tĂ« SSTable-ve nĂ« tĂ«rĂ«si), dhe kapaciteti pĂ«r operacionet e leximit dhe shkrimit deri nĂ« 25%. Procesi i rikuperimit tĂ« inkrementuar Ă«shtĂ« optimizuar. Vonesat pĂ«r shkak tĂ« pezullimit tĂ« ekzekutimit nga mbledhĂ«si i plehrave janĂ« reduktuar nĂ« disa milisekonda.
  • ËshtĂ« shtuar mbĂ«shtetje pĂ«r regjistrin e auditi, i cili lejon tĂ« ndiqen operacionet e autentifikimit tĂ« pĂ«rdoruesve dhe tĂ« gjitha kĂ«rkesat e kryera CQL.
  • ËshtĂ« shtuar mundĂ«sia e mbajtjes sĂ« njĂ« regjistri tĂ« plotĂ« binar tĂ« kĂ«rkesave, i cili lejon ruajtjen e gjithĂ« trafikut tĂ« kĂ«rkesave dhe pĂ«rgjigjeve. PĂ«r menaxhim ofrohen komandat «nodetool enablefullquerylog|disablefullquerylog|resetfullquerylog», dhe pĂ«r analizĂ«n e regjistrit ofrohet utilitari fqltool. JanĂ« ofruar komanda pĂ«r transformimin e regjistrit nĂ« njĂ« formĂ« tĂ« lexueshme (Dump), krahasimin e aktiviteteve (Compare) dhe ripĂ«rsĂ«ritjen (Replay) pĂ«r analizĂ« me riprodhimin e kushteve tipike tĂ« ngarkesĂ«s reale.
  • ËshtĂ« shtuar mbĂ«shtetje pĂ«r tabela virtuale, tĂ« cilat pasqyrojnĂ« jo tĂ« dhĂ«nat e ruajtura nĂ« SSTable, por informacionin e nxjerrĂ« pĂ«rmes API-it (metrikat e performancĂ«s, informacion mbi konfigurimet, pĂ«rmbajtjen e caches, tĂ« dhĂ«na mbi klientĂ«t e lidhur etj.).
  • ËshtĂ« rritur efikasiteti i ruajtjes sĂ« tĂ« dhĂ«nave nĂ« formĂ« tĂ« kompresuar, duke lejuar reduktimin e konsumit tĂ« hapĂ«sirĂ«s sĂ« diskut dhe rritjen e performancĂ«s sĂ« operacioneve tĂ« leximit.
  • TĂ« dhĂ«nat qĂ« i pĂ«rkasin hapĂ«sirĂ«s sĂ« çelĂ«sit tĂ« sistemit (system.*) tani vendosen pĂ«r default nĂ« direktorinĂ« e parĂ« nĂ« vend qĂ« tĂ« shpĂ«rndahen nĂ« tĂ« gjitha direktoritĂ« me tĂ« dhĂ«na, duke lejuar ruajtjen e funksionalitetit tĂ« nyjĂ«s nĂ« rast dĂ«shtimi tĂ« ndonjĂ« prej disqeve shtesĂ«.
  • ËshtĂ« shtuar mbĂ«shtetje eksperimentale pĂ«r replikimin transient dhe kuorumet e lehta. Replikat transient nuk ruajnĂ« tĂ« dhĂ«na tĂ« plota dhe pĂ«rdorin rikuperimin inkremental pĂ«r tĂ« u harmonizuar me replikat e plota. Kuorumet e lehta zbatojnĂ« optimizimin e operacioneve tĂ« shkrimit, ku shkrimi nĂ« replikat transient nuk bĂ«het derisa tĂ« jetĂ« nĂ« dispozicion njĂ« grup i mjaftueshĂ«m i replikave tĂ« plota.
  • ËshtĂ« shtuar mbĂ«shtetje eksperimentale pĂ«r Java 11.
  • ËshtĂ« shtuar njĂ« mundĂ«si eksperimentale pĂ«r krahasimin e tĂ« gjitha pemĂ«ve Merkla. PĂ«r shembull, aktivizimi i opsionit nĂ« njĂ« klaster me 3 nyje, ku dy replikat janĂ« identike dhe njĂ« Ă«shtĂ« e vjetruar, do tĂ« sjellĂ« nĂ« pĂ«rfundimin e rinovimit tĂ« replikĂ«s sĂ« vjetruar duke pĂ«rdorur vetĂ«m njĂ« operacion kopjimi tĂ« replikĂ«s aktuale.
  • JanĂ« shtuar funksione tĂ« reja currentTimestamp, currentDate, currentTime dhe currentTimeUUID.
  • ËshtĂ« shtuar mbĂ«shtetje pĂ«r operacionet aritmetike nĂ« kĂ«rkesat CQL.
  • ËshtĂ« ofruar mundĂ«sia e kryerjes sĂ« operacioneve aritmetike midis tĂ« dhĂ«nave me tipet ‘timestamp’/‘date’ dhe ‘duration’.
  • ËshtĂ« shtuar njĂ« mod pĂ«r parashikimin e rrjedhave tĂ« tĂ« dhĂ«nave tĂ« nevojshme pĂ«r rikuperimin (nodetool repair —preview) dhe mundĂ«sia e verifikimit tĂ« integritetit tĂ« tĂ« dhĂ«nave tĂ« rikuperuara (nodetool repair —validate).
  • NĂ« kĂ«rkesat SELECT Ă«shtĂ« mundĂ«suar pĂ«rpunimi i elementeve Map dhe Set.
  • ËshtĂ« shtuar mbĂ«shtetje pĂ«r paralelizimin e fazĂ«s fillestare tĂ« ndĂ«rtimit tĂ« shfaqjeve tĂ« materializuara (cassandra.yaml:concurrent_materialized_view_builders).
  • NĂ« komandĂ«n ‘nodetool cfstats’ Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r renditjen sipas metrikeve tĂ« caktuara dhe pĂ«r kufizimin e numrit tĂ« rreshtave tĂ« paraqitur.
  • JanĂ« ofruar cilĂ«sime pĂ«r kufizimin e lidhjes sĂ« pĂ«rdoruesit vetĂ«m nĂ« qendra tĂ« dhĂ«nash tĂ« caktuara.
  • ËshtĂ« shtuar mundĂ«sia e kufizimit tĂ« intensitetit (rate limit) tĂ« operacioneve tĂ« krijimit dhe pastrimit tĂ« snapshot-eve.
  • NĂ« cqlsh dhe cqlshlib Ă«shtĂ« realizuar mbĂ«shtetje pĂ«r Python 3 (mbĂ«shtetja pĂ«r Python 2.7 akoma ruhet).
  • ËshtĂ« ndalur mbĂ«shtetja pĂ«r platformĂ«n Windows. PĂ«r tĂ« ekzekutuar Cassandra nĂ« Windows, rekomandohet pĂ«rdorimi i mjediseve Linux tĂ« krijuar mbi nĂ«n-sistemin WSL2 (Windows Subsystem for Linux 2) ose sistemet e virtualizimit.

Luaj videon


Burimi: opennet.ru
Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster