Kutulutsidwa kwa DBMS Apache CouchDB 3.0

chinachitika kutulutsidwa kwa database yogawidwa yokhazikika pamakalata Apache CouchDB 3.0, omwe ali m'gulu la machitidwe a NoSQL. Magwero a polojekiti kufalitsa zololedwa pansi pa Apache 2.0.

Zosinthayakhazikitsidwa mu Apache CouchDB 3.0:

  • Kusintha kosasintha kwawonjezeredwa.
    Poyambira, wogwiritsa ntchito admin ayenera kufotokozedwa, popanda zomwe seva idzathetsa ndi cholakwika (imakupatsani mwayi wothana ndi mavuto poyambitsa ma seva omwe amasiya mwayi popanda kutsimikizika). Kuyimba ku "/_all_dbs" tsopano kumafuna ufulu wotsogolera, ndipo nkhokwe zonse zimapangidwa mwachisawawa zomwe zimangopezeka kwa wogwiritsa ntchito (zolowera zingathe kusinthidwa kupyolera mu "_security") chinthu). Mwachikhazikitso, kusintha zinthu mu _users database ndikoletsedwa;

  • Zowonjezedwa kuthekera kopanga nkhokwe zotsatiridwa ndi ogwiritsa ntchito (zogawika), kupangitsa kuti zitheke kufotokozera malamulo anu ogawa zikalata m'magawo (shard range). Anawonjezera kukhathamiritsa kwapadera kwa nkhokwe zosungidwa ku mawonedwe a Mango ndi ma index;
  • Zakhazikitsidwa magawano odziwikiratu panthawi yogawa (sharding). Mu database, tsopano ndizotheka kugawanso deta pakati pa magawo, poganizira kuwonjezeka kwa mtengo wa q-factor yomwe imagwiritsidwa ntchito kuti mudziwe kuchuluka kwa kuwonongeka;
  • Zowonjezedwa ken subsystem yolondolera zakumbuyo ndikusunga ma index achiwiri (JavaScript, Mango, zolemba zosaka mawu) mpaka pano popanda kuyambitsa ntchito yawo yomanga;
  • Njira yosalala yomwe imagwiritsidwa ntchito pakuyika pawokha achinsinsi idalembedwanso;
  • Dongosolo latsopano lakonzedwa Mtengo wa IO, zomwe zimagwiritsidwa ntchito kusintha I/O patsogolo pa ntchito zina;
  • Anakhazikitsa njira yoyezera kuyambiranso;
  • Thandizo lovomerezeka la nsanja za arm64v8 (aarch64) ndi ppc64le (ppc64el);
  • Thandizo lowonjezera lolumikizana ndi injini ya JavaScript SpiderMonkey 1.8.5 (ESR nthambi ya Firefox 60) ndi chithandizo chowongolera cha ES5, ES6 ndi ES2016+;
  • Injini yosaka ikuphatikizidwa Dreyfus kutengera Lucene, yomwe imathandizira kwambiri kutumiza kwa injini yosakira kutengera CouchDB;
  • Zowonjezera zakumbuyo zodula mitengo pogwiritsa ntchito systemd-journald;
  • Powonjezera "[couchdb] single_node", ikakhazikitsidwa, CouchDB imangopanga nkhokwe ngati ikusowa;
  • Kuchita kwa couch_server process kwakonzedwa;
  • The okhazikitsa kwa Mawindo nsanja wakhala kwambiri bwino;
  • Mawonedwe amangokhala 2^28 (268435456) zotsatira. Malirewa atha kukhazikitsidwa padera kuti aziwonera pafupipafupi komanso m'magawo pogwiritsa ntchito zosankha za query_limit ndi partition_query_limit mugawo la "[query_server_config]";
  • Mawonekedwe osiyana a HTTP amtundu wa node, omwe adakhazikitsidwa pa doko la network 5986, achotsedwa, ntchito yomwe ilipo tsopano kudzera mu mawonekedwe wamba kasamalidwe kamagulu;
  • Kukula kwakukulu kwa zikalata kwachepetsedwa kukhala 8 MB, zomwe zingayambitse mavuto ndi kubwereza kwa data kuchokera ku maseva akale mutatha kukweza ku CouchDB 3.0. Kuti muwonjezere malire, mutha kugwiritsa ntchito [couchdb] max_document_size makonda;
  • Kuyeretsa kwakukulu kwa zinthu zosatha kwachitika, monga _replicator ndi _mayimbidwe akunja, disk_size ndi data_size minda, ndi delayed_commits njira;
  • Kuthamanga kwa CouchDB tsopano kumafuna Erlang/OTP 20.3.8.11+, 21.2.3+ kapena 22.0.5. Mwachidziwitso, magwiridwe antchito ndi nthambi ya Erlang/OTP 19 amasungidwa, koma amayesedwa ndi mayeso.

Tikumbukire kuti CouchDB imasunga zidziwitso mumndandanda wolamulidwa ndipo imalola kubwereza pang'ono kwa data pakati pa nkhokwe zingapo munjira ya master-master ndikuzindikira munthawi yomweyo ndikuthetsa mikangano. Seva iliyonse imasunga deta yake yam'deralo, yolumikizidwa ndi ma seva ena, omwe amatha kuchotsedwa pa intaneti ndikubwereza zosintha nthawi ndi nthawi. Makamaka, izi zimapangitsa CouchDB kukhala yankho lokongola pakulunzanitsa makonda apulogalamu pakati pamakompyuta osiyanasiyana. Mayankho a CouchDB akhazikitsidwa m'makampani monga BBC, Apple ndi CERN.

Mafunso a CouchDB ndi indexing ya data zitha kuchitidwa molingana ndi paradigm MapaZida, pogwiritsa ntchito JavaScript kupanga zitsanzo za data. Dongosolo loyambira limalembedwa ku Erlang, lomwe limakonzedwa kuti lipange makina ogawa omwe amapereka zopempha zingapo zofanana. Seva yowonera imalembedwa mu C ndipo imachokera ku injini ya JavaScript kuchokera ku polojekiti ya Mozilla. Kufikira ku database kumachitika pogwiritsa ntchito protocol ya HTTP pogwiritsa ntchito RESTful JSON API, yomwe imakulolani kuti mupeze deta, kuphatikizapo kuchokera ku mapulogalamu a pa intaneti omwe akuyenda mumsakatuli.

Chigawo chosungiramo deta ndi chikalata chomwe chili ndi chozindikiritsa chapadera, mtundu ndipo chimakhala ndi magawo osasinthika a minda yotchulidwa mumtundu wa kiyi / mtengo. Kukonzekera deta yopangidwa ndi pseudo-structured seti kuchokera ku zolemba zosawerengeka (kuphatikiza ndi kusankha), lingaliro la kupanga malingaliro (mawonedwe) amagwiritsidwa ntchito, kutanthauzira chinenero cha JavaScript chikugwiritsidwa ntchito. JavaScript imathanso kutanthauzira magwiridwe antchito kuti atsimikizire deta powonjezera zikalata zatsopano pamawonekedwe ena.

Source: opennet.ru

Kuwonjezera ndemanga