Tukunga o te DBMS Apache CouchDB 3.0 e hāngai ana ki te tuhinga

i tupu te tukunga o te putunga korero kua tohatohahia Apache CouchDB 3.0, no te akomanga o nga punaha NoSQL. Puna kaupapa horapa kua raihanatia i raro i te Apache 2.0.

Whakapai akei whakatinanahia i Apache CouchDB 3.0:

  • Kua whakareia te whirihoranga taunoa.
    I te wa e timata ana, me tautuhi te kaiwhakamahi kaiwhakahaere inaianei, me te kore ka mutu te tūmau me te hapa (ka taea e koe te whakaoti rapanga me te whakarewa i nga kaitoro e whakarere pohehe ana i te uru me te kore motuhēhēnga). Ko nga waea ki te "/_all_dbs" inaianei me whai mana kaiwhakahaere, a ka hangaia nga papaunga raraunga katoa ma te taunoa ka uru ki te kaiwhakamahi whakahaere anake (ka taea te whakarereke i nga tawhā uru ma te ahanoa "_security"). Ma te taunoa, ka rahuitia te whakatika i nga mea kei te _users database;

  • Kua tapirihia te kaha ki te hanga i nga papaa raraunga kua wehea (wehea) kua tautuhia e te kaiwhakamahi, kia taea ai te tautuhi i o ake ture mo te tohatoha tuhinga puta noa i nga waahanga (awhe shard). Kua taapirihia nga arotautanga motuhake mo nga putunga putunga ki nga tirohanga Mango me nga tohu tohu;
  • Kua whakatinanahia aratau wehenga aunoa i te wa o te wehenga (sharding). I roto i te papaaarangi, ka taea te tohatoha ano i nga raraunga i waenga i nga waahanga, me te whakaaro ki te piki ake o te uara o te q-factor i whakamahia hei whakatau i te taumata o te pakaru;
  • Kua tapirihia ken subsystem mo te tuhi papamuri aunoa me te pupuri i nga tohu tuarua (JavaScript, Mango, tuhinga rapu tohu) ki te waa me te kore e tino whakarewahia a raatau mahi hanga;
  • Ko te tukanga smoosh e whakamahia ana mo te putunga raraunga aunoa kua tuhia ano;
  • He puunaharoto hou i whakaarohia Tūtira IO, whakamahia hei huri i te kaupapa matua I/O mo etahi mahi;
  • I whakatinanahia he punaha whakamatautau whakamuri;
  • Kua taapirihia he tautoko mana mo nga papaaapapa arm64v8 (aarch64) me ppc64le (ppc64el);
  • He tautoko taapiri mo te hono ki te miihini JavaScript SpiderMonkey 1.8.5 (manga ESR o Firefox 60) me te tautoko pai ake mo ES5, ES6 me ES2016+;
  • Kei roto te miihini rapu Dreyfus i runga i a Lucene, e tino ngawari ana te whakatakotoranga o te miihini rapu i runga i te CouchDB;
  • Kua taapirihia te tuara mo te takiuru ma te whakamahi i te systemd-journald;
  • Kua taapirihia te tautuhinga "[couchdb] single_node", ka whakatauhia, ka hanga aunoa a CouchDB i nga papaunga punaha mena kei te ngaro;
  • Ko te mahinga o te tukanga couch_server kua pai ake;
  • Ko te kaiwhakauru mo te papaaho Windows kua tino pai ake;
  • He iti nga tirohanga ki te 2^28 (268435456) nga kitenga. Ka taea te whirihora motuhake tenei tepe mo nga tirohanga auau me te wehewehe ma te whakamahi i nga whiringa_query_limit me partition_query_limit i te waahanga "[query_server_config]";
  • He atanga whakahaere node node HTTP motuhake, i whakarewahia i runga i te tauranga whatunga 5986, kua tangohia, ko te mahi kei te waatea inaianei ma te atanga whakahaere huinga noa;
  • Kua whakahekehia te rahi o te tuhinga ki te 8 MB, ka raru pea i te tukuruatanga o nga raraunga mai i nga kaitoro tawhito i muri i te whakahou ki te CouchDB 3.0. Hei whakanui ake i te tepe, ka taea e koe te whakamahi i te tautuhinga “[couchdb] max_document_size”;
  • Kua mahia he mahinga nui o nga ahuatanga tawhito, penei i te _replicator me te _waho waea, te kōpae_te rahi me te rahi_raraunga, me te kōwhiringa delayed_commits;
  • Ko te Rere CouchDB inaianei e hiahia ana ki a Erlang/OTP 20.3.8.11+, 21.2.3+ ranei 22.0.5. Ko te tikanga, ko te mahi me te peka Erlang/OTP 19 ka tiakina, engari ka hipokina e nga whakamatautau.

Kia maumahara tatou kei te rongoa a CouchDB i nga raraunga i roto i te whakatakotoranga rarangi raupapa me te tuku i te tukuruatanga o nga raraunga i waenga i te maha o nga papaa raraunga i roto i te aratau rangatira-ariki me te kitenga tukutahi me te whakatau i nga ahuatanga pakanga. Ka penapenahia e ia tūmau tana ake huinga raraunga o te rohe, ka tukutahi me etahi atu tūmau, ka taea te tango tuimotu me te huri i nga huringa i ia wa. Ina koa, ko tenei ahuatanga ka waiho a CouchDB hei otinga ataahua mo te tukutahi i nga tautuhinga papatono i waenga i nga rorohiko rereke. Kua whakatinanahia nga otinga a CouchDB i roto i nga kamupene penei i te BBC, Apple me CERN.

Ko nga patai a CouchDB me te tohu tohu raraunga ka taea te mahi i runga i te tauira MahereMarama, te whakamahi i te JavaScript hei whakaputa i te arorau whakatauira raraunga. Ko te matua o te punaha kua tuhia ki Erlang, he mea tino pai mo te hanga i nga punaha toha e mahi ana i nga tono whakarara maha. Ko te tūmau tirohanga kua tuhia ki te C me te mea i runga i te miihini JavaScript mai i te kaupapa Mozilla. Ko te uru ki te papaaarangi ka mahia ma te whakamahi i te kawa HTTP ma te whakamahi i te RESTful JSON API, e taea ai e koe te uru ki nga raraunga, tae atu ki nga tono tukutuku e rere ana i te tirotiro.

Ko te wae rokiroki raraunga he tuhinga kei a ia he tautohu ahurei, he putanga me nga huinga o nga mara kua whakaingoatia ki te whakatakotoranga matua/uara. Hei whakarite i te huinga pseudo-hanganga o nga raraunga mai i nga tuhinga noa (te whakahiato me te kowhiringa), ka whakamahia te kaupapa o te hanga tirohanga (tirohanga), hei tautuhi ko wai te reo JavaScript e whakamahia ana. Ka taea hoki e JavaScript te tautuhi i nga mahi hei whakamana i nga raraunga ina taapiri tuhinga hou i roto i tetahi tirohanga.

Source: opennet.ru

Tāpiri i te kōrero