Apache Cassandra 4.0 DBMS disponibbli

Il-Fondazzjoni tas-Softwer Apache ppreżentat ir-rilaxx tad-DBMS distribwit Apache Cassandra 4.0, li jappartjeni għall-klassi ta 'sistemi noSQL u hija mfassla biex toħloq ħażna skalabbli ħafna u affidabbli ta' ammonti kbar ta 'dejta maħżuna fil-forma ta' firxa assoċjattiva (hash). Ir-rilaxx Cassandra 4.0 huwa meqjus lest għall-implimentazzjoni tal-produzzjoni u diġà ġie ttestjat fl-infrastrutturi ta 'Amazon, Apple, DataStax, Instaclustr, iland u Netflix b'raggruppamenti ta' aktar minn 1000 nodu. Il-kodiċi tal-proġett huwa miktub bil-Java u huwa mqassam taħt il-liċenzja Apache 2.0.

Il-Cassandra DBMS kien oriġinarjament żviluppat minn Facebook u fl-2009 trasferit taħt l-awspiċi tal-Fondazzjoni Apache. Soluzzjonijiet industrijali bbażati fuq Cassandra ġew skjerati għal servizzi ta 'enerġija minn kumpaniji bħal Apple, Adobe, CERN, Cisco, IBM, HP, Comcast, Disney, eBay, Huawei, Netflix, Sony, Rackspace, Reddit u Twitter. Pereżempju, l-infrastruttura tal-ħażna bbażata fuq Apache Cassandra skjerata minn Apple għandha aktar minn elf raggruppament, inklużi 160 elf nodu u taħżen aktar minn 100 petabytes ta 'dejta. Huawei juża aktar minn 300 cluster Apache Cassandra, inklużi 30 elf nodu, u Netflix juża aktar minn 100 cluster, li jkopru 10 elf nodu u jipproċessa aktar minn triljun talba kuljum.

Il-Cassandra DBMS jgħaqqad sistema Dynamo hash distribwita bis-sħiħ, li tipprovdi skalabbiltà kważi lineari hekk kif il-volum tad-dejta jiżdied. Cassandra tuża mudell ta 'ħażna tad-dejta bbażat fuq familja ta' kolonni (ColumnFamily), li hija differenti minn sistemi bħal memcachedb, li jaħżnu d-dejta biss f'katina ta 'ċavetta/valur, bil-kapaċità li torganizza ħażna ta' hashes b'diversi livelli ta 'bejta. Biex tissimplifika l-interazzjoni mad-database, hija appoġġjata l-lingwa strutturata tal-mistoqsijiet CQL (Cassandra Query Language), li tfakkar fl-SQL, iżda mnaqqsa fil-funzjonalità. Il-karatteristiċi jinkludu appoġġ għall-ispazji tal-ismijiet u l-familji tal-kolonni, u l-ħolqien ta’ indiċi bl-użu tal-espressjoni “CREATE INDEX”.

Id-DBMS jippermettilek li toħloq ħażna reżistenti għall-fallimenti: id-data mqiegħda fid-database hija awtomatikament replikata għal diversi nodi ta 'netwerk distribwit, li jista' jkopri ċentri tad-data differenti. Meta node jonqos, il-funzjonijiet tiegħu jinġabru fuq il-fly minn nodi oħra. Iż-żieda ta 'nodi ġodda mal-cluster u l-aġġornament tal-verżjoni Cassandra isir fuq il-fly, mingħajr intervent manwali addizzjonali jew rikonfigurazzjoni ta' nodi oħra. Is-sewwieqa b'appoġġ CQL huma ppreparati għal Python, Java (JDBC/DBAPI2), Ruby, PHP, C++ u JavaScript (Node.js).

Innovazzjonijiet ewlenin:

  • Prestazzjoni u skalabbiltà mtejba. L-effiċjenza ta 'skambju ta' data fil-format SSTable (Tabella ta 'Strings Sorted) bejn in-nodi ġiet imtejba. Il-Protokoll tal-Messaġġi Internode ġie ottimizzat. Il-veloċità tat-trasferiment ta 'flussi ta' data bejn in-nodi żdiedet sa 5 darbiet (prinċipalment minħabba l-użu tat-teknika Zero Copy u t-trasferiment ta 'SSTables sħaħ), u l-fluss għal operazzjonijiet ta' qari u kitba żdied għal 25%. Il-proċess ta 'rkupru inkrementali ġie ottimizzat. Latenzi minħabba waqfien fil-ġbir taż-żibel jitnaqqsu għal ftit millisekondi.
  • Appoġġ miżjud għal reġistru tal-verifika li jippermettilek issegwi l-operazzjonijiet tal-awtentikazzjoni tal-utent u l-mistoqsijiet CQL kollha esegwiti.
  • Żid il-ħila li żżomm reġistru binarju sħiħ tat-talbiet, li jippermettilek tiffranka t-traffiku kollu tat-talba u tar-rispons. Għall-ġestjoni, il-kmandi “nodetool enablefullquerylog|disablefullquerylog|resetfullquerylog” huma proposti, u l-utilità fqltool hija fornuta għall-analiżi tal-log. Kmandi huma pprovduti għall-konverżjoni tal-log f'forma li tinqara (Dump), it-tqabbil tal-biċċiet tal-attività (Qabbel) u l-eżekuzzjoni mill-ġdid (Replay) għall-analiżi li tirriproduċi l-kundizzjonijiet inerenti fit-tagħbija reali.
  • Appoġġ miżjud għal tabelli virtwali li jirriflettu mhux data maħżuna f'SSTables, iżda output ta 'informazzjoni permezz tal-API (metriċi tal-prestazzjoni, informazzjoni dwar is-settings, kontenut tal-cache, informazzjoni dwar klijenti konnessi, eċċ.).
  • L-effiċjenza tal-ħażna tad-dejta kkompressata ġiet imtejba, tnaqqas il-konsum tal-ispazju tad-disk u ttejjeb il-prestazzjoni tal-qari.
  • Id-dejta relatata mal-keyspace tas-sistema (sistema.*) issa titqiegħed fl-ewwel direttorju awtomatikament minflok ma titqassam fid-direttorji tad-dejta kollha, li tippermetti li n-nodu jibqa’ operattiv jekk waħda mid-diski addizzjonali tfalli.
  • Miżjud appoġġ sperimentali għal Replikazzjoni Transitorja u Kworum Irħas. Repliki temporanji ma jaħżnux id-dejta kollha u jużaw ir-restawr inkrementali biex ikunu konsistenti mar-repliki sħaħ. Kworums ħfief jimplimentaw ottimizzazzjoni tal-kitba li fiha ma ssir l-ebda kitba għal repliki temporanji sakemm ikun disponibbli sett suffiċjenti ta' repliki sħaħ.
  • Miżjud appoġġ sperimentali għal Java 11.
  • Għażla sperimentali miżjuda biex tqabbel is-Siġar Merkle kollha. Pereżempju, l-attivazzjoni tal-għażla fuq cluster ta' 3 nodi li fih żewġ repliki huma identiċi u waħda hija skaduta tirriżulta f'aġġornament tar-replika skaduta bl-użu ta' operazzjoni ta' kopja waħda biss tar-replika attwali.
  • Miżjud funzjonijiet ġodda currentTimestamp, currentDate, currentTime u currentTimeUUID.
  • Appoġġ miżjud għal operazzjonijiet aritmetiċi f'mistoqsijiet CQL.
  • Il-kapaċità li jitwettqu operazzjonijiet aritmetiċi bejn data bit-tipi "timestamp"/"data" u "duration" hija pprovduta.
  • Żieda mod għall-preview ta' flussi ta' dejta meħtieġa għall-irkupru (tiswija ta' nodetool —preview) u l-abbiltà li tiċċekkja l-integrità tad-dejta li qed tiġi rrestawrata (tiswija ta' nodetool —validate).
  • Mistoqsijiet SELECT issa għandhom il-kapaċità li jipproċessaw elementi ta 'Mappa u Set.
  • Appoġġ miżjud għall-parallelizzazzjoni tal-istadju inizjali tal-kostruzzjoni ta 'veduti mmaterjalizzati (cassandra.yaml:concurrent_materialized_view_builders).
  • Il-kmand "nodetool cfstats" żied appoġġ għall-issortjar b'ċerti metriċi u jillimita n-numru ta 'ringieli murija.
  • Is-settings huma pprovduti biex jillimitaw il-konnessjoni tal-utent għal ċerti ċentri tad-dejta biss.
  • Miżjud il-kapaċità li tillimita l-intensità (limitu tar-rata) tal-ħolqien ta 'snapshot u l-operazzjonijiet tal-ikklerjar.
  • cqlsh u cqlshlib issa jappoġġaw Python 3 (Python 2.7 għadu appoġġjat).
  • L-appoġġ għall-pjattaforma Windows twaqqaf. Biex tħaddem Cassandra fuq Windows, huwa rakkomandat li tuża ambjenti Linux maħluqa fuq il-bażi tas-subsistema WSL2 (Windows Subsystem for Linux 2) jew sistemi ta 'virtwalizzazzjoni.



Sors: opennet.ru

Żid kumment