Ho lokolloa ha DBMS Apache CouchDB 3.0 e shebaneng le litokomane

etsahetse tokollo ya polokelongtshedimosetso e abilweng e sekametseng ditokomaneng Apache CouchDB 3.0, ea sehlopha sa litsamaiso tsa NoSQL. Mehloli ea morero ho jaleha e nang le tumello tlas'a Apache 2.0.

Lintlafatsoe sebelisitsoe ho Apache CouchDB 3.0:

  • Tokiso ea kamehla e ntlafalitsoe.
    Ha o qala, mosebelisi oa admin o tlameha ho hlalosoa joale, ntle le moo seva e tla emisa ka phoso (e u lumella ho rarolla mathata ka ho qala li-server tse tlohelang phihlello ntle le netefatso). Mehala e eang ho "/_all_dbs" joale e hloka litokelo tsa batsamaisi, 'me li-database tsohle li entsoe ka mokhoa oa kamehla tse fumanehang ho mosebelisi oa admin (mekhahlelo ea phihlello e ka fetoloa ka ntho ea "_security"). Ka ho sa feleng, ho haneloa ho hlophisa lintho ho _users database;

  • E kentsoe bokhoni ba ho theha li-database tse hlalositsoeng ke basebelisi (tse arotsoeng), ho etsa hore ho khonehe ho hlalosa melao ea hau ea ho aba litokomane ho pholletsa le likarolo (shard range). E kenyellelitse lintlafatso tse khethehileng bakeng sa database tse sharded ho maikutlo a Mango le li-index;
  • E kentswe tshebetsong mokhoa oa karohano o itekanetseng nakong ea ho arola (ho sharding). Setsing sa polokelo ea litaba, hona joale hoa khoneha ho arolelana lintlha hape har'a likarolo, ho nahanoa ka keketseho ea boleng ba q-factor e sebelisetsoang ho fumana boemo ba ho senyeha;
  • E kentsoe ken subsystem bakeng sa indexing ea morao-rao ea othomathike le ho boloka li-index tsa bobeli (JavaScript, Mango, index search indexes) e le morao-rao ntle le ho qala ts'ebetso ea bona ea kaho ka ho hlaka;
  • Ts'ebetso e boreleli e sebelisoang bakeng sa ho paka ka boits'oaro ba database e ngotsoe bocha ka botlalo;
  • Subsystem e ncha e hlahisitsoe Lethathamo la IO, e sebelisetsoang ho fetola I/O ea bohlokoa bakeng sa ts'ebetso e itseng;
  • E kenyelelitse mokhoa oa ho hlahloba ho fokotseha;
  • E ekelitse tšehetso ea semmuso bakeng sa sethala sa arm64v8 (aarch64) le ppc64le (ppc64el);
  • Tšehetso e ekelitsoeng bakeng sa ho hokahanya le enjene ea JavaScript SpiderMonkey 1.8.5 (ESR lekala la Firefox 60) ka tšehetso e ntlafalitsoeng bakeng sa ES5, ES6 le ES2016+;
  • Enjene ea ho batla e kenyelelitsoe Dreyfus e thehiloe ho Lucene, e nolofatsang haholo phepelo ea enjine ea ho batla e thehiloeng ho CouchDB;
  • E kenyellelitsoe morao-rao bakeng sa ho rema lifate u sebelisa systemd-journald;
  • E kentse "setting" ea "single_node", ha e setiloe, CouchDB e tla iketsetsa li-database tsa tsamaiso haeba li le sieo;
  • Ts'ebetso ea couch_server process e ntlafalitsoe;
  • Sesebelisoa sa sethala sa Windows se ntlafalitsoe haholo;
  • Maikutlo a lekanyelitsoe ho liphetho tse 2^28 (268435456). Moeli ona o ka hlophisoa ka thoko bakeng sa lipono tse tloaelehileng le tse arohaneng ho sebelisoa khetho ea query_limit le partition_query_limit karolong ea "[query_server_config]";
  • Sebopeho se arohaneng sa tsamaiso ea node ea sebaka sa HTTP, se qalileng ho marang-rang a marang-rang 5986, se tlositsoe, ts'ebetso ea eona e se e fumaneha ka sebopeho se tloaelehileng sa tsamaiso ea lihlopha;
  • Boholo ba boholo ba tokomane bo theotsoe ho 8 MB, e ka bakang mathata ka phetisetso ea data ho tsoa ho li-server tsa khale kamora ho ntlafatsoa ho CouchDB 3.0. Ho eketsa moeli, o ka sebelisa "setting ea "couchdb] max_document_size";
  • Ho entsoe tlhoekiso e kholo ea likarolo tse seng li sa sebetse, joalo ka _replicator le _external call, masimo a disk_size le data_size, le khetho ea delayed_commits;
  • Ho sebetsa CouchDB hona joale ho hloka Erlang/OTP 20.3.8.11+, 21.2.3+ kapa 22.0.5. Ka khopolo, ts'ebetso le lekala la Erlang/OTP 19 e bolokiloe, empa e koahetsoe ke liteko.

A re hopoleng hore CouchDB e boloka datha ka mokhoa o hlophisitsoeng oa lethathamo mme e lumella ho pheta-pheta ha karolo ea data lipakeng tsa li-database tse 'maloa ka mokhoa oa master-master ka ho lemoha ka nako e le' ngoe le ho rarolla maemo a likhohlano. Seva e 'ngoe le e' ngoe e boloka data ea eona ea lehae, e hokahaneng le li-server tse ling, e ka tlosoang ntle le marang-rang ebe e pheta liphetoho nako le nako. Haholo-holo, tšobotsi ena e etsa CouchDB tharollo e khahlehang bakeng sa ho hokahanya litlhophiso tsa lenaneo lipakeng tsa likhomphutha tse fapaneng. Litharollo tse thehiloeng ho CouchDB li kentsoe tšebetsong lik'hamphaning tse kang BBC, Apple le CERN.

Lipotso tsa CouchDB le indexing ea data li ka etsoa ho latela paradigm 'Mapa Fokotsa, e sebelisa JavaScript ho hlahisa lintlha tsa mohlala oa data. Sistimi ea mantlha e ngotsoe ho Erlang, e ntlafalitsoeng bakeng sa ho theha lits'ebetso tse ajoang tse sebeletsang likopo tse ngata tse tšoanang. Seva ea pono e ngotsoe ka C mme e thehiloe ho enjine ea JavaScript ho tsoa ho projeke ea Mozilla. Ho fihlella database ho etsoa ho sebelisoa protocol ea HTTP ho sebelisa RESTful JSON API, e u lumellang ho fumana data, ho kenyelletsa le lits'ebetso tsa webo tse sebetsang ho sebatli.

Setsi sa polokelo ea data ke tokomane e nang le sekhetho se ikhethileng, mofuta 'me e na le sete e ikemetseng ea likarolo tse rehelletsoeng ka sebopeho sa senotlolo / boleng. Ho hlophisa boitsebiso bo hlophisitsoeng ba maiketsetso bo tsoang litokomaneng tse sa lumellaneng (ho kopanya le ho khetha), ho sebelisoa khopolo ea ho theha maikutlo (maikutlo), ho hlalosa hore na puo ea JavaScript e sebelisoa hokae. JavaScript e ka boela ea hlalosa lits'ebetso ho netefatsa data ha o kenya litokomane tse ncha ka har'a pono e itseng.

Source: opennet.ru

Eketsa ka tlhaloso