Hoʻokuʻu ʻia o ka DBMS Apache CouchDB 3.0

ua hanaia ka hoʻokuʻu ʻana i kahi waihona palapala i hoʻolaha ʻia ʻO Apache CouchDB 3.0, no ka papa o nā ʻōnaehana NoSQL. Nā kumu papahana pālahalaha aku laikini ma lalo o Apache 2.0.

Nā hoʻomaikaʻihoʻokō ʻia ma Apache CouchDB 3.0:

  • Ua hoʻonui ʻia ka hoʻonohonoho paʻamau.
    I ka hoʻomaka ʻana, pono e wehewehe ʻia ka mea hoʻohana admin, me ka ʻole o ka mea e hoʻopau ai ke kikowaena me kahi hewa (e ʻae iā ʻoe e hoʻoponopono i nā pilikia me ka wehe ʻana i nā kikowaena e haʻalele ʻole i ke komo me ka ʻole o ka hōʻoia). Pono nā kelepona i "/_all_dbs" i kēia manawa i nā kuleana hoʻomalu, a ua hana ʻia nā ʻikepili āpau ma ka paʻamau i hiki ke loaʻa i ka mea hoʻohana (hiki ke hoʻololi ʻia nā ʻāpana komo ma o ka mea "_security"). Ma ka maʻamau, pāpā ʻia ka hoʻoponopono ʻana i nā mea i loko o ka waihona _users;

  • Hoʻohui ʻia ka hiki ke hana i ka mea hoʻohana-defined segmented (partitioned) database, e hiki ai ke wehewehe i kāu mau lula no ka hāʻawi ʻana i nā palapala ma nā ʻāpana (shard range). Hoʻohui i nā loiloi kūikawā no nā ʻikepili sharded i nā manaʻo Mango a me nā kuhikuhi;
  • Hoʻokō ʻia ʻano hoʻokaʻawale ʻokoʻa i ka wā o ka hoʻokaʻawale ʻana (sharding). I loko o ka waihona, hiki i kēia manawa ke hāʻawi hou i ka ʻikepili ma waena o nā ʻāpana, e noʻonoʻo ana i ka piʻi ʻana o ka waiwai o ka q-factor i hoʻohana ʻia e hoʻoholo i ke kiʻekiʻe o ka haki;
  • Hoʻohui ʻia ken subsystem no ka hoʻopaʻa inoa ʻokoʻa hope a me ka mālama ʻana i nā ʻōlelo kuhikuhi kiʻekiʻe (JavaScript, Mango, nā huaʻōlelo hulina kikokikona) i kēia lā me ka ʻole o ka hoʻomaka ʻana i kā lākou hana kūkulu;
  • Ua kākau hou ʻia ke kaʻina hana smoosh i hoʻohana ʻia no ka hōkeo waihona waihona;
  • Manaʻo ʻia ka subsystem hou IO Queue, hoʻohana ʻia e hoʻololi i ka mea nui I/O no kekahi mau hana;
  • Hoʻokō ʻia kahi ʻōnaehana hoʻāʻo regression;
  • Hoʻohui i ke kākoʻo kūhelu no arm64v8 (aarch64) a me ppc64le (ppc64el) platform;
  • Kākoʻo hoʻohui ʻia no ka hoʻopili ʻana me ka mīkini JavaScript SpiderMonkey 1.8.5 (lalana ESR o Firefox 60) me ke kākoʻo hoʻomaikaʻi no ES5, ES6 a me ES2016+;
  • Loaʻa ka ʻenekini huli 'O Dreyfus ma muli o Lucene, ka mea i maʻalahi loa i ka hoʻokomo ʻana i kahi ʻenekini huli e pili ana iā CouchDB;
  • Hoʻohui ʻia i hope no ka hoʻopaʻa inoa ʻana me ka systemd-journald;
  • Hoʻohui ʻia ka hoʻonohonoho "[couchdb] single_node", i ka wā i hoʻonohonoho ʻia, e hoʻokumu ʻo CouchDB i nā ʻikepili ʻōnaehana inā nalo lākou;
  • Ua hoʻonui ʻia ka hana o ke kaʻina hana couch_server;
  • Ua hoʻomaikaʻi nui ʻia ka mea hoʻonohonoho no ka paepae Windows;
  • Ua kaupalena ʻia nā ʻike i 2^28 (268435456). Hiki ke hoʻonohonoho kaʻawale ʻia kēia palena no nā manaʻo maʻamau a māhele ʻia me ka hoʻohana ʻana i nā koho query_limit a me partition_query_limit ma ka ʻāpana "[query_server_config]";
  • Ua wehe ʻia kahi kikowaena hoʻokele node node HTTP ʻokoʻa, i hoʻokuʻu ʻia ma ke awa pūnaewele 5986, a ua loaʻa ka hana i kēia manawa ma o ke kikowaena hoʻokele cluster maʻamau;
  • Ua hōʻemi ʻia ka nui o ka palapala i 8 MB, hiki ke hoʻopilikia i ka hoʻopili ʻana i ka ʻikepili mai nā kikowaena kahiko ma hope o ka hoʻonui ʻana iā CouchDB 3.0. No ka hoʻonui i ka palena, hiki iā ʻoe ke hoʻohana i ka hoʻonohonoho "[couchdb] max_document_size";
  • Ua hana ʻia kahi hoʻomaʻemaʻe nui o nā hiʻohiʻona kahiko, e like me ka _replicator a me _external calls, ka disk_size a me data_size kahua, a me ke koho delayed_commits;
  • Pono ka holo ʻana o CouchDB iā Erlang/OTP 20.3.8.11+, 21.2.3+ a i ʻole 22.0.5. ʻO ke kumu, mālama ʻia ka hana me ka lālā Erlang / OTP 19, akā ua uhi ʻia e nā hoʻokolohua.

E hoʻomanaʻo kākou ua mālama ʻo CouchDB i ka ʻikepili ma kahi ʻano papa inoa i kauoha ʻia a ʻae i ka hana hou ʻana o ka ʻikepili ma waena o kekahi mau waihona ma ke ʻano master-master me ka ʻike like a me ka hoʻonā ʻana i nā kūlana hakakā. Mālama kēlā me kēia kikowaena i kāna pūʻulu ʻikepili kūloko, i hoʻonohonoho pū ʻia me nā kikowaena ʻē aʻe, hiki ke lawe ʻia ma waho a hoʻololi i nā loli. ʻO ka mea kūikawā, hana kēia hiʻohiʻona iā CouchDB i mea hoʻonā maikaʻi no ka hoʻonohonoho ʻana i nā hoʻonohonoho papahana ma waena o nā kamepiula like ʻole. Ua hoʻokō ʻia nā hoʻonā e pili ana i ka CouchDB i nā hui e like me BBC, Apple a me CERN.

Hiki ke hana ʻia nā nīnau CouchDB a me ka helu ʻikepili e like me ka paradigm MapReduce, me ka hoʻohana ʻana i ka JavaScript no ka hoʻohua ʻana i ka loiloi sampling data. Ua kākau ʻia ka ʻōnaehana kumu ma Erlang, kahi i hoʻopaʻa ʻia no ka hana ʻana i nā ʻōnaehana puʻupuʻu e lawelawe ana i nā noi like ʻole. Ua kākau ʻia ke kikowaena nānā ma C a ua hoʻokumu ʻia ma ka mīkini JavaScript mai ka papahana Mozilla. Hoʻohana ʻia ke komo ʻana i ka waihona me ka hoʻohana ʻana i ka protocol HTTP me ka RESTful JSON API, kahi e hiki ai iā ʻoe ke komo i ka ʻikepili, me nā noi pūnaewele e holo ana i ka polokalamu kele pūnaewele.

ʻO ka ʻāpana mālama ʻikepili he palapala i loaʻa kahi ʻike kūʻokoʻa, mana a loaʻa kahi pūʻulu manaʻo o nā kahua i kapa ʻia ma ke ʻano kī/waiwai. No ka hoʻonohonoho ʻana i kahi pūʻulu pseudo-structured o nā ʻikepili mai nā palapala arbitrary (hui a koho ʻia), hoʻohana ʻia ka manaʻo o ka hoʻokumu ʻana i nā manaʻo (nānā), e wehewehe i ka ʻōlelo JavaScript i hoʻohana ʻia. Hiki iā JavaScript ke wehewehe i nā hana e hōʻoia i ka ʻikepili i ka wā e hoʻohui ai i nā palapala hou i loko o kahi ʻike.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka