Ukukhutshwa kwe-DBMS ejolise kuxwebhu ye-Apache CouchDB 3.0

yathatha indawo ukukhutshwa kwesiseko sedatha esisasazwe kuxwebhu Apache CouchDB 3.0, eyeklasi yeenkqubo ze-NoSQL. Imithombo yeprojekthi usasazeko ilayisenisi phantsi kweApache 2.0.

Uphuculoisetyenziswe kwi-Apache CouchDB 3.0:

  • Ubumbeko oluhlala lukhona lwandisiwe.
    Xa uqala, umsebenzisi we-admin kufuneka achazwe ngoku, ngaphandle kokuba umncedisi uya kuphelisa ngempazamo (ikuvumela ukuba usombulule iingxaki ngokuqalisa iiseva ezishiya ukufikelela ngaphandle kokuqinisekisa). Iifowuni eziya ku-"/_all_dbs" ngoku zifuna amalungelo olawulo, kwaye zonke ii-database zenziwe ngokungagqibekanga zifikeleleke kuphela kumsebenzisi womlawuli (iiparamitha zokufikelela zingatshintshwa ngento ethi "_security"). Ngokungagqibekanga, ukuhlela izinto kuluhlu lwabasebenzisi akuvumelekanga;

  • Yongeziwe ukukwazi ukwenza i-database echazwe ngumsebenzisi-ezahluliwe (zahlulwe), okwenza kube lula ukuchaza imithetho yakho yokusasaza amaxwebhu kumacandelo (uluhlu lwe-shard). Ukongezwa okukhethekileyo kogcino-lwazi olwabiweyo kwiimboniselo zeMango kunye nezalathisi;
  • Iphunyeziwe imowudi yokwahlula ngokuzenzekelayo ngexesha lokwahlulahlula (ukwahlula). Kwisiseko sedatha, ngoku kunokwenzeka ukusabalalisa kwakhona idatha phakathi kwamacandelo, ngokuqwalasela ukunyuka kwexabiso le-q-factor esetyenziselwa ukugqiba inqanaba lokuphuka;
  • Yongeziwe ken inkqubo esezantsi yesalathiso sangasemva esizenzekelayo kunye nokugcina izalathisi zesibini (iJavaScript, iMango, izalathisi zophendlo lokubhaliweyo) zihlaziywe ngaphandle kokuzisa ngokuphandle imisebenzi yazo yokwakha;
  • Inkqubo ye-smoosh esetyenziselwa ukupakishwa kwedatha ezenzekelayo ibhalwe ngokutsha ngokupheleleyo;
  • Inkqubo esezantsi ecetyiweyo Umgca we-IO, esetyenziselwa ukutshintsha i-I/O ephambili kwimisebenzi ethile;
  • Kuphunyezwe inkqubo yovavanyo lokuhlehla;
  • Inkxaso esemthethweni eyongeziweyo yeeplatifti ze-arm64v8 (aarch64) kunye ne-ppc64le (ppc64el);
  • Inkxaso eyongeziweyo yokudibanisa ne-injini yeJavaScript SpiderMonkey 1.8.5 (ESR isebe leFirefox 60) ngenkxaso ephuculweyo ye-ES5, ES6 kunye ne-ES2016 +;
  • Injini yokukhangela ifakiwe Dreyfus ngokusekelwe kwiLucene, eyenza lula kakhulu ukuthunyelwa kwenjini yokukhangela esekelwe kwi-CouchDB;
  • I-backend eyongeziweyo yokuloga usebenzisa i-systemd-journald;
  • Yongeza i-[couchdb] i-single_node yokucwangcisa, xa isetyenzisiwe, i-CouchDB iya kudala ngokuzenzekelayo i-database yenkqubo ukuba ilahlekile;
  • Ukusebenza kwenkqubo ye-couch_server iye yalungiswa;
  • Isifakeli seqonga leWindows siphuculwe kakhulu;
  • Iimbono zilinganiselwe kwiziphumo ezi-2^28 (268435456). Lo mda unokuqwalaselwa ngokwahlukeneyo ukuba ube neemboniselo eziqhelekileyo kunye nezahlulo kusetyenziswa i-query_limit kunye ne-partition_query_limit iinketho kwi-[query_server_config] icandelo;
  • I-interface ehlukeneyo ye-HTTP yolawulo lwe-node yendawo, eqaliswe kwi-port yenethiwekhi ye-5986, isusiwe, ukusebenza kwayo ngoku kufumaneka ngokusetyenziswa kwe-interface yolawulo lwe-cluster;
  • Ubungakanani boxwebhu oluphezulu luncitshisiwe ukuya kwi-8 MB, enokubangela iingxaki ngokuphindaphindwa kwedatha ukusuka kumaseva amadala emva kokunyuselwa kwi-CouchDB 3.0. Ukwandisa umda, ungasebenzisa i[couchdb] max_document_size useto;
  • Ucoceko olukhulu lweempawu eziphelelwe lixesha, njenge-_replicator kunye _yangaphandle iminxeba, imimandla yediski_yesayizi kunye nedatha_yedatha, kunye nenketho yokulibaziseka;
  • Ukuqhuba i-CouchDB ngoku kufuna i-Erlang/OTP 20.3.8.11+, 21.2.3+ okanye 22.0.5. Ngokwethiyori, ukusebenza kunye nesebe le-Erlang/OTP 19 ligciniwe, kodwa ligutyungelwe luvavanyo.

Masikhumbule ukuba i-CouchDB igcina idatha kwifomathi yoluhlu olucwangcisiweyo kwaye ivumela ukuphindaphinda inxalenye yedatha phakathi kwedatha eninzi kwimowudi ye-master-master kunye nokufumanisa ngaxeshanye kunye nesisombululo seemeko zengxabano. Umncedisi ngamnye ugcina eyakhe idatha yendawo, edityaniswa nezinye iiseva, ezinokuthi zithathwe ngaphandle kweintanethi kwaye ngamanye amaxesha ziphindaphinde utshintsho. Ngokukodwa, eli nqaku lenza i-CouchDB ibe sisisombululo esinomtsalane sokulungelelanisa useto lwenkqubo phakathi kweekhompyuter ezahlukeneyo. Izisombululo ezisekelwe kwi-CouchDB ziye zaphunyezwa kwiinkampani ezifana ne-BBC, i-Apple kunye ne-CERN.

Imibuzo ye-CouchDB kunye ne-indexing data inokwenziwa ngokweparadigm ImephuLungisa, usebenzisa iJavaScript ukuvelisa ingqiqo yeesampuli zedatha. Undoqo wenkqubo ubhalwe kwi-Erlang, elungiselelwe ukwenza iinkqubo ezisasazwayo ezikhonza izicelo ezininzi ezifanayo. Umncedisi wokujonga ubhalwe kwi-C kwaye usekwe kwinjini yeJavaScript evela kwiprojekthi yeMozilla. Ukufikelela kwisiseko sedatha kwenziwa ngokusebenzisa i-HTTP protocol usebenzisa i-RESTful JSON API, evumela ukuba ufikelele kwidatha, kubandakanywa nezicelo zewebhu ezisebenza kwisiphequluli.

Iyunithi yogcino lwedatha luxwebhu olunesichongi esisodwa, inguqulelo kwaye iqulethe iseti engaqondakaliyo yemimandla enegama kwisitshixo/ifomathi yexabiso. Ukuququzelela isethi yedatha ye-pseudo-structured data kumaxwebhu angabonakaliyo (ukuhlanganiswa kunye nokukhethwa), ingcamango yokwenza iimbono (imibono) isetyenzisiweyo, ukuchaza ukuba ulwimi lweJavaScript lusetyenziswe. IJavaScript inokuphinda ichaze imisebenzi yokuqinisekisa idatha xa ufaka amaxwebhu amatsha kumbono othile.

umthombo: opennet.ru

Yongeza izimvo