Apache Cassandra 4.0 DBMS waa la heli karaa

Aasaaska Software-ka Apache ayaa soo bandhigtay siideynta DBMS Apache Cassandra 4.0, oo ka tirsan fasalka nidaamyada noSQL waxaana loogu talagalay in lagu abuuro kaydin heer sare ah oo la isku halayn karo oo la isku halleyn karo oo ah tiro badan oo xog ah oo lagu kaydiyay qaab urursan (xash). Siideynta Cassandra 4.0 waxaa loo arkaa inay diyaar u tahay hirgelinta wax soo saarka waxaana mar hore lagu tijaabiyay kaabayaasha Amazon, Apple, DataStax, Instaclustr, iland iyo Netflix oo leh kooxo ka badan 1000 qanjidhada. Xeerka mashruuca wuxuu ku qoran yahay Java waxaana lagu qaybiyaa shatiga Apache 2.0.

Cassandra DBMS waxaa asal ahaan soo saaray Facebook waxaana 2009 lagu wareejiyay hoosta Apache Foundation. Xalalka warshadaha ee ku saleysan Cassandra ayaa la geeyay adeegyada korantada ee shirkadaha sida Apple, Adobe, CERN, Cisco, IBM, HP, Comcast, Disney, eBay, Huawei, Netflix, Sony, Rackspace, Reddit iyo Twitter. Tusaale ahaan, kaabayaasha kaydinta ee ku salaysan Apache Cassandra ee ay geysay Apple waxa ay leedahay in ka badan kun kooxood, oo ay ku jiraan 160 kun oo nood iyo kaydinta in ka badan 100 petabytes oo xog ah. Huawei waxay isticmaashaa in ka badan 300 Apache Cassandra rucubood, oo ka kooban 30 kun oo noodood, Netflix waxay isticmaashaa in ka badan 100 rucub, oo daboolaya 10 kun oo noodood iyo socodsiinta in ka badan trillion codsiyo maalintii.

Cassandra DBMS wuxuu isku daraa nidaamka hash Dynamo oo si buuxda loo qaybiyay, kaas oo bixiya ku dhawaad ​​miisaan toosan marka mugga xogtu korodho. Cassandra waxay isticmaashaa qaabka kaydinta xogta ee ku salaysan qoyska tiirka (ColumnFamily), kaas oo ka duwan nidaamyada sida memcachedb, kaas oo ku kaydiya xogta kaliya silsilad muhiim ah/qiimaha, iyada oo awood u leh in ay habayso kaydinta xashiishyada leh heerar kala duwan oo buul ah. Si loo fududeeyo la dhexgalka xogta xogta, luuqada habaysan ee weydiinta CQL (Cassandra Query Language) waa la taageerayaa, taas oo xasuusinaysa SQL, laakiin hoos u dhac ku yimid shaqaynteeda. Tilmaamaha waxaa ka mid ah taageerada meelaha magacyada iyo qoysaska tiirarka, iyo abuurista tusmooyinka iyadoo la isticmaalayo "CREATE INDEX".

DBMS waxay kuu ogolaanaysaa inaad abuurto kayd u ​​adkaysta fashilka: xogta lagu meeleeyay kaydka xogta si toos ah ayaa loogu celceliyaa dhowr nood oo shabakad la qaybiyay, taas oo ku dherersan karta xarumo xogeed oo kala duwan. Marka noodhku xumaado, hawshiisa waxaa qaadaya duullimaadyada qanjidhada kale. Ku darista qanjidhada cusub ee kutlada iyo cusboonaysiinta nooca Cassandra ayaa lagu sameeyaa duullimaad, iyada oo aan faragelin gacanta ah oo dheeraad ah la samayn ama dib loo habayn noono kale. Darawalada leh taageerada CQL waxaa loo diyaariyey Python, Java (JDBC/DBAPI2), Ruby, PHP, C++ iyo JavaScript (Node.js).

Hal-abuurka ugu muhiimsan:

  • Waxqabadka oo la hagaajiyay iyo miisaanka. Wax ku oolnimada xog iswaydaarsiga qaabka SSTable (Sarted Strings Table) ee u dhexeeya qanjidhada ayaa la hagaajiyay. Habka Farriinta Internode waa la hagaajiyay. Xawaaraha wareejinta xogta dhexda u dhaxaysa qanjidhada ayaa kor u kacday ilaa 5 jeer (badanaa iyadoo ay ugu wacan tahay adeegsiga farsamada Zero Copy iyo wareejinta SSTables oo dhan), wax soo saarka akhriska iyo qorista ayaa kordhay ilaa 25%. Habka soo kabashada korodhka ayaa la hagaajiyay. Daah-furnaanta ay sabab u tahay joojinta ururinta qashinka ayaa lagu dhimay dhowr millise seconds.
  • Taageerada lagu daray ee diiwaanka hantidhawrka oo kuu ogolaanaysa inaad la socoto hawlgalada xaqiijinta isticmaalaha iyo dhammaan weydiimaha CQL ee la fuliyay.
  • Lagu daray awoodda lagu hayo diiwaanka codsiga binary-ga oo buuxa, taasoo kuu oggolaanaysa inaad kaydiso dhammaan codsiyada iyo taraafikada jawaabta. Maamulka, amarrada "nodetool enablefullquerylog|disablefullquerylog|resetfullquerylog" ayaa la soo jeediyay, iyo utility fqltool waxaa loo keenay falanqaynta log. Awaamiirta waxaa la bixiyaa si loogu beddelo log-ka qaab la akhriyi karo (Qaadi), isbarbardhigga jeexjeexyada dhaqdhaqaaqa (Is barbar dhig) iyo dib-u-fulinta (dib-u-celinta) si loo falanqeeyo dib-u-soo-saarka xaaladaha dhabta ah ee culeyska dhabta ah.
  • Taageero lagu daray miisaska casriga ah ee ka tarjumaya xogta aan lagu kaydin SSTables, laakiin soo saarista macluumaadka API-ka (cabbirka waxqabadka, macluumaadka habaynta, waxyaabaha kaydka ah, macluumaadka ku saabsan macaamiisha ku xidhan, iwm.).
  • Waxtarka kaydinta xogta cufan ayaa la hagaajiyay, hoos u dhigista isticmaalka booska diskka iyo hagaajinta waxqabadka akhrinta.
  • Xogta la xidhiidha goobta furaha nidaamka (nidaamka.*) hadda waxa lagu meeleeyaa tusaha ugu horreeya si caadi ah halkii lagu qaybin lahaa dhammaan hagaha xogta, taas oo u oggolaanaysa noodhka inuu sii shaqeeyo haddii mid ka mid ah saxanadaha dheeraadka ah uu ku guuldareysto.
  • Taageero tijaabo ah oo lagu daray Ku-noqoshada Ku-meel-gaadhka ah iyo Kooramyada jaban. Nuqullada ku meel gaadhka ah ma kaydiyaan dhammaan xogta waxayna isticmaalaan soo celinta kordhinta si ay ula socdaan nuqullo buuxa. Kooramyada fudud waxa ay fuliyaan qorista wanaajinta taas oo aan wax qoraal ah lagu samayn nuqulo ku meel gaadh ah ilaa tiro ku filan oo nuqulo buuxda laga helayo.
  • Taageero tijaabo ah oo lagu daray Java 11.
  • Doorasho tijaabo ah oo lagu daray si loo barbardhigo dhammaan Geedaha Merkle. Tusaale ahaan, awoodsiinta ikhtiyaarka kutlada 3-noodka kaas oo laba nuqul ay isku mid yihiin midna uu taagan yahay waxay keeni doontaa in dib loo cusboonaysiiyo nuqulka duugoobay iyadoo la adeegsanayo hal nuqul oo nuqul ah nuqulka hadda jira.
  • Waxaa lagu daray hawlo cusub currentTimestamp, currentDate, currentTime iyo currentTimeUUID.
  • Taageero lagu daray hawlgallada xisaabta ee ku jira weydiimaha CQL.
  • Awoodda lagu sameeyo hawlaha xisaabaadka ee u dhexeeya xogta leh noocyada "timestamp"/"taariikhda" iyo "muddada" ayaa la bixiyay.
  • Waxaa lagu daray qaabka dib u eegida xogta durdurrada looga baahan yahay soo kabashada (nodetool dayactir β€” horudhac) iyo awoodda lagu hubinayo daacadnimada xogta dib loo soo celiyay (nodetool repair β€”validate).
  • Xulashada weydiimaha hadda waxay awood u leeyihiin inay habeeyaan Khariidadda oo dejiyaan walxaha.
  • Taageero lagu daray isbarbar-dhigga marxaladda dhismaha bilowga ah ee aragtiyaha la rumeeyey (cassandra.yaml:concurrent_materialized_view_builders).
  • Amarka "nodetool cfstats" ayaa ku daray taageerada kala soocida cabbirro gaar ah oo xaddidaya tirada safafka la soo bandhigay.
  • Dejinta waxaa la bixiyaa si loo xaddido xidhiidhka isticmaalaha xarumaha xogta qaarkood oo keliya.
  • Waxaa lagu daray awoodda lagu xaddidayo xoojinta (xadka xadka) ee abuurista sawir-qaadista iyo nadiifinta hawlgallada.
  • cqlsh iyo cqlshlib hadda waxay taageeraan Python 3 (Python 2.7 wali waa la taageeray).
  • Taageerada madal Windows waa la joojiyay. Si Cassandra loogu socodsiiyo Windows, waxaa lagu talinayaa in la isticmaalo bay'ada Linux ee lagu sameeyay nidaamka hoosaadka WSL2 (Windows Subsystem for Linux 2) ama nidaamyada wax qabadka.



Source: opennet.ru

Add a comment