Apache Cassandra 4.0 DBMS í boði

Apache Software Foundation kynnti útgáfu dreifðu DBMS Apache Cassandra 4.0, sem tilheyrir flokki noSQL kerfa og er hannað til að búa til mjög stigstærða og áreiðanlega geymslu á gríðarlegu magni af gögnum sem eru geymd í formi tengdrar fylkis (hash). Cassandra 4.0 útgáfan er talin tilbúin til framleiðsluútfærslu og hefur þegar verið prófuð í innviðum Amazon, Apple, DataStax, Instaclustr, iland og Netflix með klösum með meira en 1000 hnútum. Verkefniskóðinn er skrifaður í Java og er dreift undir Apache 2.0 leyfinu.

Cassandra DBMS var upphaflega þróað af Facebook og árið 2009 flutt undir verndarvæng Apache Foundation. Iðnaðarlausnir byggðar á Cassöndru hafa verið notaðar til að afla þjónustu frá fyrirtækjum eins og Apple, Adobe, CERN, Cisco, IBM, HP, Comcast, Disney, eBay, Huawei, Netflix, Sony, Rackspace, Reddit og Twitter. Til dæmis, Apache Cassandra-undirstaða geymsluinnviði, sem Apple hefur notað, hefur meira en þúsund klasa, þar á meðal 160 þúsund hnúta og geymir meira en 100 petabæta af gögnum. Huawei notar meira en 300 Apache Cassandra klasa, sem samanstanda af 30 þúsund hnútum, og Netflix notar meira en 100 klasa, sem nær yfir 10 þúsund hnúta og vinnur úr meira en trilljón beiðnum á dag.

Cassandra DBMS sameinar að fullu dreifðu Dynamo kjötkássakerfi, sem veitir nánast línulegan sveigjanleika eftir því sem gagnamagn eykst. Cassandra notar gagnageymslulíkan sem byggir á dálkafjölskyldu (ColumnFamily), sem er frábrugðið kerfum eins og memcachedb, sem geymir gögn aðeins í lykil-/virðiskeðju, með því að skipuleggja geymslu kjötkássa með nokkrum stigum hreiður. Til að einfalda samskipti við gagnagrunninn er skipulagt fyrirspurnarmálið CQL (Cassandra Query Language) stutt, sem minnir á SQL, en minnkar í virkni. Eiginleikar fela í sér stuðning við nafnrými og dálkafjölskyldur, og stofnun vísitölu með því að nota „CREATE INDEX“ tjáninguna.

DBMS gerir þér kleift að búa til bilunarþolna geymslu: gögn sem eru sett í gagnagrunninn eru sjálfkrafa afrituð í nokkra hnúta á dreifðu neti, sem getur spannað mismunandi gagnaver. Þegar hnútur bilar, eru aðgerðir hans teknar upp á flugi af öðrum hnútum. Að bæta nýjum hnútum við þyrpinguna og uppfæra Cassandra útgáfuna er gert á flugi, án frekari handvirkrar inngrips eða endurstillingar annarra hnúta. Reklar með CQL stuðningi eru útbúnir fyrir Python, Java (JDBC/DBAPI2), Ruby, PHP, C++ og JavaScript (Node.js).

Helstu nýjungar:

  • Bætt afköst og sveigjanleiki. Skilvirkni gagnaskipta á SSTable (Sorted Strings Table) sniði milli hnúta hefur verið bætt. Internode Messaging Protocol hefur verið fínstillt. Hraðinn við að flytja gagnastrauma á milli hnúta hefur aukist allt að 5 sinnum (aðallega vegna notkunar á Zero Copy tækni og flutningi á heilum SSTables), og afköst fyrir les- og skrifaðgerðir hafa aukist í 25%. Stigvaxandi bataferlið hefur verið fínstillt. Töf vegna hlés á sorphirðu minnkar niður í nokkrar millisekúndur.
  • Bætti við stuðningi við endurskoðunarskrá sem gerir þér kleift að fylgjast með notendavottun og öllum framkvæmdum CQL fyrirspurnum.
  • Bætti við hæfileikanum til að viðhalda fullri tvíundarbeiðnaskrá, sem gerir þér kleift að vista alla beiðni- og svarumferð. Fyrir stjórnun eru skipanirnar „nodetool enablefullquerylog|disablefullquerylog|resetfullquerylog“ lagðar til og fqltool tólið er til staðar fyrir greiningu á annálum. Skipanir eru til staðar til að umbreyta annálnum í læsilegt form (Dyp), bera saman virknisneiðar (Compare) og endurframkvæma (Replay) fyrir greiningu sem endurskapar aðstæður sem felast í raunverulegu álagi.
  • Bætti við stuðningi við sýndartöflur sem endurspegla ekki gögn sem eru geymd í SSTables, heldur upplýsingaútgangi í gegnum API (frammistöðumælingar, stillingarupplýsingar, innihald skyndiminni, upplýsingar um tengda viðskiptavini osfrv.).
  • Skilvirkni þjappaðrar gagnageymslu hefur verið bætt, dregur úr plássnotkun á disknum og bætir afköst lestrar.
  • Gögn sem tengjast lyklarými kerfisins (system.*) eru nú sjálfgefið sett í fyrstu möppu í stað þess að vera dreift yfir allar gagnaskrár, sem gerir hnútnum kleift að vera starfhæfur ef einn af viðbótardiskunum bilar.
  • Bætti við tilraunastuðningi fyrir tímabundna afritun og ódýrar sveitir. Tímabundnar eftirmyndir geyma ekki öll gögn og nota stigvaxandi endurheimt til að vera í samræmi við allar eftirmyndir. Léttar sveitir innleiða fínstillingu skrifa þar sem ekki er skrifað á tímabundnar eftirmyndir fyrr en nægilegt sett af fullum eftirlíkingum er tiltækt.
  • Bætti við tilraunastuðningi fyrir Java 11.
  • Bætti við tilraunavalkosti til að bera saman öll Merkle tré. Til dæmis, ef valmöguleikinn er virkur á 3-hnúta þyrpingu þar sem tvær eftirmyndir eru eins og ein er gömul mun það leiða til uppfærslu á gömlu eftirmyndinni með því að nota aðeins eina afritunaraðgerð af núverandi eftirmynd.
  • Bætt við nýjum aðgerðum currentTimestamp, currentDate, currentTime og currentTimeUUID.
  • Bætti við stuðningi við reikniaðgerðir í CQL fyrirspurnum.
  • Hægt er að framkvæma reikniaðgerðir á milli gagna með gerðunum „tímastimpill“/“dagsetning“ og „tímalengd“.
  • Bætti við stillingu til að forskoða gagnastrauma sem þarf til endurheimtar (nodetool repair —preview) og getu til að athuga heilleika gagna sem verið er að endurheimta (nodetool repair —validate).
  • SELECT-fyrirspurnir hafa nú getu til að vinna úr korta- og settþáttum.
  • Bætti við stuðningi við að samhliða upphafsbyggingarstigi raunhæfra skoðana (cassandra.yaml:concurrent_materialized_view_builders).
  • "nodetool cfstats" skipunin hefur bætt við stuðningi við flokkun eftir ákveðnum mæligildum og takmarka fjölda lína sem birtar eru.
  • Stillingar eru veittar til að takmarka tengingu notandans við ákveðin gagnaver eingöngu.
  • Bætti við hæfileikanum til að takmarka styrk (hlutfallstakmörk) myndatöku og hreinsunaraðgerða.
  • cqlsh og cqlshlib styðja nú Python 3 (Python 2.7 er enn stutt).
  • Stuðningur við Windows vettvang hefur verið hætt. Til að keyra Cassandra á Windows er mælt með því að nota Linux umhverfi sem búið er til á grundvelli WSL2 undirkerfisins (Windows undirkerfi fyrir Linux 2) eða sýndarvæðingarkerfi.



Heimild: opennet.ru

Bæta við athugasemd