Lëshohet versioni i sistemit të menaxhimit të dokumenteve Apache CouchDB 3.0

U zhvillua lëshimi i një baze të dhënash dokumentesh të shpërndara Apache CouchDB 3.0, që i përket klasës së sistemeve NoSQL. Kodet burimore të projektit distribuohen nën licencën Apache 2.0.

Përmirësime, të zbatuara në Apache CouchDB 3.0:

  • Forcimi i mbrojtjes nĂ« konfigurimin e parazgjedhur Ă«shtĂ« pĂ«rforcuar.
    Tani, kur ndizni serverin, duhet të përcaktohet përdoruesi admin, pa të cilin serveri do të dalë me një gabim (kjo zgjidh problemet e nisjes së serverëve, duke lënë aksese pa autentifikim nga moskujdesi). Tani kërkohet që të keni të drejta administratori për të bërë thirrje në " /_all_dbs", dhe të gjitha bazat e të dhënave krijohen të aksesueshme vetëm për përdoruesin admin (parametrat e aksesit mund të ndryshohen përmes objektit "_security"). Redaktimi i objekteve në bazën e të dhënave _users është i ndaluar nga parazgjedhja;
  • Shtuar mundĂ«sia e krijimit tĂ« bazave tĂ« dhĂ«nash tĂ« segmentuara nga pĂ«rdoruesi, qĂ« lejon pĂ«rcaktimin e rregullave tĂ« veta pĂ«r shpĂ«rndarjen e dokumenteve sipas segmenteve (shard range). Optimizime tĂ« veçanta janĂ« shtuar nĂ« pamjet dhe indekset Mango pĂ«r bazat e dhĂ«nash tĂ« segmentuara;
  • Ă«shtĂ« realizuar rezhimi automatik i ndarjes gjatĂ« segmentimit. Tani nĂ« bazĂ«n e dhĂ«nash Ă«shtĂ« e mundur rishpĂ«rndarja e tĂ« dhĂ«nave sipas segmenteve duke marrĂ« parasysh rritjen e faktorĂ«ve q, tĂ« aplikuar pĂ«r tĂ« pĂ«rcaktuar nivelin e ndarjes;
  • Shtuar nsubsystemi ken pĂ«r indeksimin automatik nĂ« sfond dhe pĂ«r tĂ« mbajtur nĂ« pĂ«rditĂ«sim indekset sekondare (JavaScript, Mango, indekset pĂ«r kĂ«rkimin e tekstit) pa e nxjerrĂ« shprehimisht nĂ« veprim operacionet e ndĂ«rtimit tĂ« tyre;
  • Procesi i smoosh Ă«shtĂ« shkruar plotĂ«sisht nga fillimi, i pĂ«rdorur pĂ«r paketimin automatik tĂ« bazĂ«s sĂ« dhĂ«nash;
  • NjĂ« nĂ«n sistem i ri Ă«shtĂ« propozuar IO Queue, i aplikuar pĂ«r tĂ« ndryshuar prioritetin e hyrjes/daljes pĂ«r disa operacione;
  • NjĂ« sistem testimi regresiv Ă«shtĂ« zbatuar;
  • Shtohet mbĂ«shtetje zyrtare pĂ«r platformat arm64v8 (aarch64) dhe ppc64le (ppc64el);
  • Shtohet mbĂ«shtetje pĂ«r lidhjen me motorin JavaScript SpiderMonkey 1.8.5 (dega ESR e Firefox 60) me mbĂ«shtetje tĂ« pĂ«rmirĂ«suar pĂ«r ES5, ES6 dhe ES2016+;
  • NĂ« pĂ«rbĂ«rje Ă«shtĂ« pĂ«rfshirĂ« motori i kĂ«rkimit Dreyfus bazuar nĂ« Lucene, qĂ« thjeshton ndjeshĂ«m implementimin e sistemit tĂ« kĂ«rkimit tĂ« bazuar nĂ« CouchDB;
  • Shtohet njĂ« backend pĂ«r mbajtjen e logeve duke pĂ«rdorur systemd-journald;
  • Shtohet konfigurimi "[couchdb] single_node" kur instalohet, duke krijuar automatikisht bazat e dhĂ«nash tĂ« sistemit tĂ« nevojshme, nĂ«se ato mungojnĂ«;
  • Optimizimi i performancĂ«s sĂ« procesit couch_server Ă«shtĂ« kryer;
  • Instaluesi pĂ«r platformĂ«n Windows Ă«shtĂ« pĂ«rmirĂ«suar ndjeshĂ«m;
  • MadhĂ«sia e paraqitjeve Ă«shtĂ« e kufizuar nĂ« 2^28 (268435456) rezultate. Ky kufizim mund tĂ« konfigurohet ndaras pĂ«r paraqitjet e zakonshme dhe tĂ« segmentuara me opsionet query_limit dhe partition_query_limit nĂ« seksionin «[query_server_config]»;
  • Interfaci i veçantĂ« HTTP pĂ«r menaxhimin e nyjĂ«s lokale, i nisur nĂ« portin rrjetor 5986, Ă«shtĂ« hequr, ndĂ«rsa funksionaliteti i tij tani Ă«shtĂ« i disponueshĂ«m pĂ«rmes ndĂ«rfaqes sĂ« pĂ«rbashkĂ«t tĂ« menaxhimit tĂ« klastereve;
  • Maksimumi i madhĂ«sisĂ« sĂ« dokumentit Ă«shtĂ« reduktuar nĂ« 8 MB, qĂ« mund tĂ« sjellĂ« probleme me replikimin e tĂ« dhĂ«nave nga serverĂ« tĂ« vjetĂ«r pas pĂ«rditĂ«simit nĂ« CouchDB 3.0. PĂ«r tĂ« rritur kĂ«tĂ« kufizim mund tĂ« pĂ«rdoret cilĂ«simi «[couchdb] max_document_size»;
  • ËshtĂ« bĂ«rĂ« njĂ« pastrim i madh i mundĂ«sive tĂ« vjetra, si thirrjet _replicator dhe _external, fushat disk_size dhe data_size, si dhe opsioni delayed_commits;
  • PĂ«r tĂ« ekzekutuar CouchDB tani kĂ«rkohet Erlang/OTP 20.3.8.11+, 21.2.3+ ose 22.0.5. Teorikisht Ă«shtĂ« ruajtur funksionaliteti me degĂ«n Erlang/OTP 19, por kjo Ă«shtĂ« testuar.

KujtojmĂ« se CouchDB ruan tĂ« dhĂ«nat nĂ« njĂ« format tĂ« renditur dhe lejon replikimin e pjesshĂ«m tĂ« tĂ« dhĂ«nave midis disa DB-ve nĂ« modin «master-master» me zbulimin dhe zgjidhjen e situatave konfliktuale. Çdo server ruan grupin e vet lokal tĂ« tĂ« dhĂ«nave, i sinkronizuar me serverĂ« tĂ« tjerĂ«, tĂ« cilĂ«t mund tĂ« kalojnĂ« nĂ« modin offline dhe periodikisht tĂ« replikojnĂ« ndryshimet. Kjo mundĂ«si e bĂ«n CouchDB njĂ« zgjidhje tĂ«rheqĂ«se pĂ«r organizimin e sinkronizimit tĂ« cilĂ«simeve tĂ« programeve midis kompjuterĂ«ve tĂ« ndryshĂ«m. Zgjidhjet e bazuara nĂ« CouchDB janĂ« implementuar nĂ« kompani si BBC, Apple dhe CERN.

Kërkesat ndaj CouchDB dhe indeksimi i të dhënave mund të realizohen sipas paradigmës MapReduce, duke përdorur gjuhën JavaScript për të formuar logjikën e selektimit të të dhënave. Niveli i sistemit është shkruar në gjuhën Erlang, e optimizuar për krijimin e shërbimeve që trajtojnë shumë kërkesa paralele në sisteme të shpërndara. Serveri i Pamjeve është shkruar në gjuhën C dhe bazohet në motorin JavaScript nga projekti Mozilla. Qasja në DB bëhet përmes protokollit HTTP duke përdorur RESTful JSON API, që lejon aksesin në të dhëna edhe nga aplikacione të ekzekutuara në shfletues.

Si një njësi ruajtjeje, shërben një dokument që ka një identifikues unik, version dhe përmban një grup të rastësishëm fushash të emëruara në formatin çelës/vlerë. Për të organizuar një grup të dhënash pseudo-strukturuar nga dokumente të rastësishme (mbledhjeje dhe formimin e mostrave) aplikohet koncepti i formimit të pamjeve (view), për përcaktimin e të cilave përdoret gjuha JavaScript. Në JavaScript gjithashtu mund të përcaktohen funksione për të verifikuar saktësinë e të dhënave kur shtohen dokumente të reja brenda një pamjeje të caktuar.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster