Rilaxx tad-DBMS Apache CouchDB 3.0 orjentat lejn id-dokument

seħħet rilaxx ta' database mqassma orjentata lejn id-dokumenti Apache CouchDB 3.0, li jappartjenu għall-klassi tas-sistemi NoSQL. Sorsi tal-proġett jinfirex liċenzjat taħt Apache 2.0.

Titjibimplimentat f'Apache CouchDB 3.0:

  • Il-konfigurazzjoni default ġiet imtejba.
    Meta tibda, l-utent amministratur issa għandu jiġi definit, li mingħajru s-server se jintemm bi żball (jippermettilek issolvi problemi bit-tnedija ta 'servers li involontarjament iħallu aċċess mingħajr awtentikazzjoni). Is-sejħiet għal "/_all_dbs" issa jeħtieġu drittijiet ta' amministratur, u d-databases kollha huma maħluqa awtomatikament aċċessibbli biss għall-utent amministratur (il-parametri tal-aċċess jistgħu jinbidlu permezz tal-oġġett "_security"). B'mod awtomatiku, l-editjar ta' oġġetti fid-database _users huwa pprojbit;

  • Miżjud l-abbiltà li toħloq databases segmentati (diviżorji) definiti mill-utent, li tagħmilha possibbli li tiddefinixxi r-regoli tiegħek għad-distribuzzjoni ta 'dokumenti f'segmenti (firxa ta' shard). Żieda ottimizzazzjonijiet speċjali għal databases sharded għal fehmiet u indiċi Mango;
  • Implimentati modalità ta 'diviżjoni awtomatika waqt is-segmentazzjoni (sharding). Fid-database, issa huwa possibbli li tiddistribwixxi d-dejta fost is-segmenti, b'kont meħud ta 'żieda fil-valur tal-fattur q użat biex jiddetermina l-livell ta' tqassim;
  • Miżjud Subsistema ken għall-indiċjar awtomatiku tal-isfond u ż-żamma ta' indiċi sekondarji (JavaScript, Mango, indiċi ta' tfittxija ta' test) aġġornati mingħajr ma jniedu espliċitament l-operazzjonijiet ta' kostruzzjoni tagħhom;
  • Il-proċess smoosh użat għall-ippakkjar awtomatiku tad-database ġie kompletament miktub mill-ġdid;
  • Sottosistema ġdida proposta Kju IO, użat biex jibdel il-prijorità I/O għal ċerti operazzjonijiet;
  • Implimenta sistema ta' ttestjar ta' rigressjoni;
  • Miżjud appoġġ uffiċjali għall-pjattaformi arm64v8 (aarch64) u ppc64le (ppc64el);
  • Appoġġ miżjud għall-konnessjoni mal-magna JavaScript SpiderMonkey 1.8.5 (fergħa ESR ta 'Firefox 60) b'appoġġ imtejjeb għal ES5, ES6 u ES2016+;
  • Search engine inkluża Dreyfus ibbażat fuq Lucene, li jissimplifika bil-kbir l-iskjerament ta 'magna tat-tiftix ibbażata fuq CouchDB;
  • Backend miżjud għall-illoggjar bl-użu ta 'systemd-journald;
  • Miżjud l-issettjar "[couchdb] single_node", meta ssettjat, CouchDB awtomatikament joħloq databases tas-sistema jekk ikunu neqsin;
  • Il-prestazzjoni tal-proċess couch_server ġiet ottimizzata;
  • L-installatur għall-pjattaforma Windows ġie mtejjeb b'mod sinifikanti;
  • Il-veduti huma limitati għal 2^28 (268435456) riżultati. Dan il-limitu jista 'jiġi kkonfigurat separatament għal veduti regolari u segmentati bl-użu tal-għażliet query_limit u partition_query_limit fit-taqsima "[query_server_config]";
  • Interface separata ta 'ġestjoni ta' nodi lokali HTTP, imnedija fuq il-port tan-netwerk 5986, tneħħiet, li l-funzjonalità tagħha issa hija disponibbli permezz tal-interface komuni ta 'ġestjoni ta' cluster;
  • Id-daqs massimu tad-dokument ġie mnaqqas għal 8 MB, li jista 'jikkawża problemi bir-replikazzjoni tad-dejta minn servers anzjani wara l-aġġornament għal CouchDB 3.0. Biex iżżid il-limitu, tista 'tuża l-issettjar "[couchdb] max_document_size";
  • Twettqet tindif maġġuri ta 'karatteristiċi skaduti, bħas-sejħiet _replicator u _external, il-fields disk_size u data_size, u l-għażla delayed_commits;
  • It-tħaddim ta' CouchDB issa jeħtieġ Erlang/OTP 20.3.8.11+, 21.2.3+ jew 22.0.5. Teoretikament, il-funzjonalità mal-fergħa Erlang/OTP 19 hija ppreservata, iżda hija koperta minn testijiet.

Ejja nfakkru li CouchDB jaħżen id-dejta f'format ta 'lista ordnata u jippermetti replikazzjoni parzjali tad-dejta bejn diversi databases f'modalità master-master b'sejbien u riżoluzzjoni simultanja ta' sitwazzjonijiet ta 'kunflitt. Kull server jaħżen is-sett lokali tiegħu stess ta 'data, sinkronizzat ma' servers oħra, li jistgħu jittieħdu offline u perjodikament jirreplikaw bidliet. B'mod partikolari, din il-karatteristika tagħmel CouchDB soluzzjoni attraenti għas-sinkronizzazzjoni tas-settings tal-programm bejn kompjuters differenti. Soluzzjonijiet ibbażati fuq CouchDB ġew implimentati f'kumpaniji bħall-BBC, Apple u CERN.

Mistoqsijiet CouchDB u indiċjar tad-dejta jistgħu jitwettqu skont il-paradigma MapReduce, billi tuża JavaScript biex tiġġenera loġika ta' kampjunar tad-dejta. Il-qalba tas-sistema hija miktuba f'Erlang, li hija ottimizzata għall-ħolqien ta 'sistemi distribwiti li jservu talbiet paralleli multipli. Is-server tal-vista huwa miktub f'Ċ u huwa bbażat fuq il-magna JavaScript mill-proġett Mozilla. L-aċċess għad-database jitwettaq bl-użu tal-protokoll HTTP bl-użu ta’ RESTful JSON API, li jippermettilek taċċessa dejta, inkluż minn applikazzjonijiet tal-web li jaħdmu fil-browser.

L-unità tal-ħażna tad-dejta hija dokument li għandu identifikatur uniku, verżjoni u fih sett arbitrarju ta' oqsma msemmija fil-format taċ-ċavetta/valur. Biex torganizza sett psewdo-strutturat ta' dejta minn dokumenti arbitrarji (aggregazzjoni u għażla), jintuża l-kunċett ta' formazzjoni ta' fehmiet (veduti), biex jiġi definit liema lingwa JavaScript tintuża. JavaScript jista' wkoll jiddefinixxi funzjonijiet biex jivvalida d-dejta meta żżid dokumenti ġodda f'veduta partikolari.

Sors: opennet.ru

Żid kumment