I-Apache Cassandra 4.0 DBMS iyatholakala

I-Apache Software Foundation yethule ukukhishwa kwe-DBMS Apache Cassandra 4.0 esabalalisiwe, engeyesigaba sezinhlelo ze-noSQL futhi yakhelwe ukudala isitoreji esiyingozi kakhulu nesinokwethenjelwa senani elikhulu ledatha egcinwe ngendlela ye-associative array (hashi). Ukukhishwa kweCassandra 4.0 kuthathwa njengokulungele ukuqaliswa kokukhiqiza futhi sekuhloliwe kakade kungqalasizinda ye-Amazon, Apple, DataStax, Instaclustr, iland kanye ne-Netflix ngamaqoqo angaphezu kuka-1000 node. Ikhodi yephrojekthi ibhalwe nge-Java futhi isakazwa ngaphansi kwelayisensi ye-Apache 2.0.

I-Cassandra DBMS yasungulwa okokuqala ngabakwa-Facebook kwathi ngo-2009 yadluliselwa ngaphansi kwe-Apache Foundation. Izixazululo zezimboni ezisuselwe ku-Cassandra zithunyelwe ezinsizeni zamandla ezivela ezinkampanini ezifana ne-Apple, Adobe, CERN, Cisco, IBM, HP, Comcast, Disney, eBay, Huawei, Netflix, Sony, Rackspace, Reddit kanye ne-Twitter. Isibonelo, ingqalasizinda yokugcina esekelwe ku-Apache Cassandra esetshenziswe i-Apple inamaqoqo angaphezu kwenkulungwane, okuhlanganisa ama-node ayizinkulungwane ezingu-160 futhi igcina ama-petabytes angaphezu kuka-100 wedatha. I-Huawei isebenzisa amaqoqo e-Apache Cassandra angaphezu kuka-300, ahlanganisa ama-node ayizinkulungwane ezingu-30, futhi i-Netflix isebenzisa amaqoqo angaphezu kwe-100, ehlanganisa ama-node ayizinkulungwane eziyi-10 futhi icubungula izicelo ezingaphezu kwe-trillion ngosuku.

I-Cassandra DBMS ihlanganisa isistimu ye-Dynamo hashi esatshalaliswe ngokugcwele, enikeza cishe ukukala komugqa njengoba umthamo wedatha ukhula. I-Cassandra isebenzisa imodeli yesitoreji sedatha esekelwe kumndeni wekholomu (IkholomuUmndeni), ehlukile kumasistimu afana ne-memcachedb, egcina idatha kuphela kuchungechunge lokhiye/inani, ngekhono lokuhlela isitoreji samaheshi ngamaleveli amaningana okuzalela. Ukwenza kube lula ukusebenzisana nesizindalwazi, ulimi lombuzo oluhlelekile lwe-CQL (Cassandra Query Language) luyasekelwa, olusikhumbuza i-SQL, kodwa luncishiswe ekusebenzeni. Izici zifaka phakathi ukusekelwa kwezikhala zamagama nemindeni yamakholomu, nokudalwa kwezinkomba kusetshenziswa isisho esithi “DALA INKOMBA”.

I-DBMS ikuvumela ukuthi udale isitoreji esimelana nokwehluleka: idatha ebekwe kusizindalwazi iphindaphindwa ngokuzenzakalelayo kumanodi amaningana enethiwekhi esabalalisiwe, engahlanganisa izikhungo zedatha ezahlukahlukene. Uma i-node ihluleka, imisebenzi yayo ithathwa empukane ngamanye ama-node. Ukwengeza ama-node amasha kuqoqo kanye nokubuyekeza inguqulo ye-Cassandra kwenziwa ngokundiza, ngaphandle kokungenelela okungeziwe okwenziwa ngesandla noma ukulungisa kabusha amanye ama-node. Abashayeli abanokusekelwa kwe-CQL balungiselwe i-Python, i-Java (JDBC/DBAPI2), i-Ruby, i-PHP, i-C++ ne-JavaScript (Node.js).

Okuqanjiwe okuyinhloko:

  • Ukusebenza okuthuthukisiwe nokulinganisa. Ukusebenza kahle kokushintshisana kwedatha ngefomethi ye-SSTable (Ithebula Lezintambo Ezihluziwe) phakathi kwamanodi kuthuthukisiwe. I-Internode Messaging Protocol ithuthukisiwe. Isivinini sokudlulisa imifudlana yedatha phakathi kwama-node senyuke safinyelela ezikhathini ezi-5 (ikakhulukazi ngenxa yokusetshenziswa kwendlela ye-Zero Copy kanye nokudluliselwa kwawo wonke ama-SSTables), kanti ukukhishwa komsebenzi wokufunda nokubhala kukhuphuke kwafinyelela ku-25%. Inqubo yokutakula eyengeziwe ithuthukisiwe. Ukubambezeleka ngenxa yokumiswa kokuqoqwa kukadoti kuyehliswa kube ama-millisecond ambalwa.
  • Ukwesekwa okungeziwe kwelogi yokuhlola ekuvumela ukuthi ulandelele imisebenzi yokuqinisekisa yomsebenzisi kanye nayo yonke imibuzo ekhishiwe ye-CQL.
  • Kwengezwe amandla okugcina ilogu yesicelo kanambambili egcwele, okukuvumela ukuthi ulondoloze zonke izicelo nezimpendulo. Kubaphathi, imiyalo ethi “nodetool enablefullquerylog|disablefullquerylog|resetfullquerylog” iyaphakanyiswa, futhi insiza ye-fqltool inikezwa ukuze kuhlaziywe ilogu. Imiyalo inikezwa ukuze kuguqulwe ilogu ibe ifomu elifundekayo (Lahla), ukuqhathanisa izingcezu zomsebenzi (Qhathanisa) kanye nokusebenzisa kabusha (Ukudlala kabusha) ukuze kuhlaziywe ukukhiqiza kabusha izimo ezikhona emthwalweni wangempela.
  • Ukusekelwa okwengeziwe kwamathebula abonakalayo angabonisi idatha egcinwe kuma-SSTables, kodwa okukhipha ulwazi nge-API (amamethrikhi okusebenza, ulwazi lwezilungiselelo, okuqukethwe kwenqolobane, ulwazi olumayelana namaklayenti axhunyiwe, njll.).
  • Ukusebenza kahle kokugcinwa kwedatha okucindezelwe kuye kwathuthukiswa, kunciphisa ukusetshenziswa kwesikhala sediski nokuthuthukisa ukusebenza kokufunda.
  • Idatha ehlobene nesikhala sokhiye sesistimu (isistimu.*) manje isifakwa kuhla lwemibhalo lokuqala ngokuzenzakalelayo esikhundleni sokusatshalaliswa kuzo zonke izinkomba zedatha, okuvumela inodi ukuthi ihlale isebenza uma elinye lamadiski engeziwe lihluleka.
  • Kwengezwe usekelo lokuhlola lwe-Transient Replication kanye ne-Cheap Quorums. Izifaniso zesikhashana azigcini yonke idatha futhi zisebenzisa ukubuyisela okukhulayo ukuze kuhambisane nezifaniso ezigcwele. Amakhoramu akhanyayo asebenzisa ukulungiselelwa kokubhala lapho kungabhalwa khona okukopishwayo kwesikhashana kuze kutholakale isethi eyanele yezifaniso ezigcwele.
  • Kwengezwe usekelo lokuhlola lwe-Java 11.
  • Kwengezwe inketho yokuhlola yokuqhathanisa zonke Izihlahla ze-Merkle. Isibonelo, ukunika amandla inketho kuqoqo lamanodi angu-3 lapho izifaniso ezimbili zifana futhi eyodwa yindala kuzophumela ekubuyekezweni kwesithombe esidala kusetshenziswa ukusebenza kwekhophi eyodwa kuphela yekhophi yamanje.
  • Kwengezwe imisebenzi emisha yamanjeIsitembu sesikhathi, i-currentDate, currentTime kanye ne-currentTimeUUID.
  • Ukwesekwa okwengeziwe kokusebenza kwe-arithmetic kumibuzo ye-CQL.
  • Ikhono lokwenza imisebenzi ye-arithmetic phakathi kwedatha enezinhlobo "zesitembu sesikhathi"/"idethi" kanye "nobude besikhathi" linikeziwe.
  • Kwengezwe imodi yokuhlola kuqala imifudlana yedatha edingekayo ukuze kutholakale (ukulungiswa kwe-nodetool -ukubuka kuqala) kanye nekhono lokuhlola ubuqotho bedatha ebuyiselwayo (ukulungiswa kwe-nodetool -qinisekisa).
  • KHETHA imibuzo manje inamandla okucubungula Imephu kanye Nokusetha izici.
  • Ukwesekwa okwengeziwe kokuhambisana nesigaba sokuqala sokwakha semibono eguquliwe (cassandra.yaml:concurrent_materialized_view_builders).
  • Umyalo we-"nodetool cfstats" wengeze usekelo lokuhlunga ngamamethrikhi athile futhi ukhawulele inani lemigqa ebonisiwe.
  • Izilungiselelo zinikezwa ukukhawulela ukuxhumeka komsebenzisi ezikhungweni ezithile zedatha kuphela.
  • Kwengezwe amandla okukhawulela ukushuba (umkhawulo wesilinganiso) wokudala isifinyezo kanye nemisebenzi yokusula.
  • I-cqlsh ne-cqlshlib manje isekela i-Python 3 (i-Python 2.7 isasekelwa).
  • Ukusekela inkundla yeWindows kunqanyuliwe. Ukuze usebenzise i-Cassandra ku-Windows, kunconywa ukusebenzisa izindawo ze-Linux ezidalwe ngesisekelo sesistimu engaphansi ye-WSL2 (i-Windows Subsystem ye-Linux 2) noma amasistimu okubona.



Source: opennet.ru

Engeza amazwana