Ապրանքային Միավորական Դիսկային համակարգի Apache CouchDB 3.0 թողարկում

կայացավ Distributed document-oriented database release Apache CouchDB 3.0, belonging to the NoSQL system class. The source texts of the project վարակվում են Apache 2.0 անձեռնմխելիության պայմանագրի ներքո։

Improvements, implemented in Apache CouchDB 3.0:

  • Enhanced security has been implemented in the default configuration.
    Now, an admin user must be defined at startup, without which the server will terminate with an error (this resolves issues with server startups that inadvertently leave access unauthenticated). Access rights are now required for calling " /_all_dbs", and all databases are default created accessible only to the admin user (access parameters can be changed through the "_security" object). Editing objects in the _users database is prohibited by default;
  • Ավելացել է the ability to create user-defined segmented (partitioned) databases, allowing users to define their own document distribution rules across segments (shard range). Special optimizations for segmented databases have been added to Mango views and indexes;
  • օպերատոր «^» այն ծրագրավորումների համար՝ նշված ամսաթվից ավելի հին, կատարում է գործողություն, որը հակառակ է «~» օպերատորին։ Օրինակ, automatic splitting mode during segmentation (sharding). It is now possible to redistribute data across segments in the database, taking into account the increase in the q-factor value used for determining the splitting level;
  • Ավելացել է a ken subsystem for automatic background indexing and maintaining secondary indexes (JavaScript, Mango, text search indexes) without explicit operation initiation;
  • The smoosh process, used for automatic database packaging, has been completely rewritten;
  • A new subsystem has been proposed IO Queue, used to change the input/output priority for specific operations;
  • A regression testing system has been implemented;
  • Official support for the arm64v8 (aarch64) and ppc64le (ppc64el) platforms has been added;
  • Support for binding with the SpiderMonkey 1.8.5 (ESR branch of Firefox 60) JavaScript engine has been added, with improved ES5, ES6, and ES2016+ support;
  • The search engine Dreyfus based on Lucene has been included, allowing significantly easier deployment of a search system based on CouchDB;
  • A backend for logging using systemd-journald has been added;
  • The configuration option "[couchdb] single_node" has been added, which, when installed, automatically creates system databases if they are absent;
  • The performance of the couch_server process has been optimized;
  • The installer for the Windows platform has been significantly improved;
  • The size of views is limited to 2^28 (268435456) results. This limit can be independently configured for regular and segmented views using the query_limit and partition_query_limit options in the "[query_server_config]" section;
  • Ալեգուն դարձավ HTTP կառավարման միջերեսը, որը գործարկվում էր ցանցային պորտ 5986-ում, որի գործառույթները այժմ հասանելի են բջխացվող կլաստերի կառավարման ընդհանուր միջերեսի միջոցով;
  • Աղբյուրը սահմանվել է փաստաթղթի առավելագույն չափը 8 ՄԲ, ինչը կարող է հանգեցնել տվյալների կրկնապատկման խնդիրների հին սերվերներից CouchDB 3.0-ին անցնելուց հետո: Ավելացնելու սահմանը կարելի է օգտագործելով կարգավորումը «[couchdb] max_document_size»;
  • Կատարվել է մեծ մաքրություն հին հնարավորությունների, ինչպիսիք են _replicator և _external հրավերները, disk_size և data_size տողերը, delayed_commits տարբերակը;
  • Հիմաստվում է, որ CouchDB իմաստավորելու համար այժմ պահանջում է Erlang/OTP 20.3.8.11+, 21.2.3+ կամ 22.0.5: Теоретически сохранена работоспособность с веткой Erlang/OTP 19, но она охвачена тестами.

Հիշեցնենք, որ CouchDB-ը պահում է տվյալները դասակարգված ցանկի ձևաչափով և թույլ է տալիս իրականացնել մասնակի կրկնապատկում տարբեր տվյալների ռազմավարություններով, ուղղված «մայր-մայր» ռեժիմում, համաժամանակյա ճանաչում և հակասությունների լուծում: Յուրաքանչյուր սերվեր պահում է իր տեղական տվյալների հավաքածուն, որը համաժամանակյա է մյուս սերվերների հետ, որոնք կարող են տեղափոխվել offline ռեժիմ և ժամանակ առ ժամանակ կրկնապատկել փոփոխությունները: Ընդհանուր առմամբ, այս հնարավորությունը դարձնում է CouchDB-ն գրավիչ լուծում տվյալների համաժամանակեցում ծրագրային պարամետրերի համար տարբեր համակարգիչների միջև: CouchDB բազավորված լուծումները ներդրված են BBC, Apple և CERN ընկերություններում:

CouchDB-ին հարցումներ տարածել և տվյալները դասակարգել կարող են իրականացվել MapReduce, օգտագործելով տվյալների ընտրության տրամաբանությունը կազմելու համար JavaScript լեզուն: Համակարգի կորիզը գրված է Erlang լեզվով, առավելագույնն օպտիմիզացված է բազմաթիվ զուգորդված հարցումների սպասարկման համար բաշխված համակարգերում: View-սերվերը գրված է C լեզվով և հիմնված է Mozilla նախագծի JavaScript շարժիչի վրա: Մետատվյալ տվյալներին հասանելիությունը կատարվում է HTTP պրոտոքոլի միջոցով, օգտագործելով RESTful JSON API, որը թույլ է տալիս մուտք կտրել տվյալներին, այդ թվում՝ բրաուզերում կատարվող web հավելվածներից:

Ի որպես տվյալների պահոցի միավոր հանդես է գալիս փաստաթուղթ, որը ունի յուրահատուկ նույնականիչ, տարբերակ և պարունակում է ստացված անվանված դաշտերի մայրություն, որոնց գտնվածը հանդիպում է անվան/արժեք կարգով: Թվացանկային կառույցի կազմակերպման համար դասակարգիչների ձևավորմանն անհրաժեշտ է մշակված ֆունկցիաներ (view), որոնց համար օգտագործվում է JavaScript լեզուն: JavaScript լեզվով կարելի է սահմանել նաև գործառույթներ՝ նոր փաստաթղթերի ավելացման համար տվյալների իրավորության ստուգման համար որոշակի ներկայացման շրջանակներում:

Ընտանիք: opennet.ru

Գնել հուսալի հյուրընկալում DDoS պաշտպանությամբ, VPS VDS սերվերներով 🔥 Գնել հուսալի հյուրընկալում DDoS պաշտպանությամբ, VPS VDS սերվերներով | ProHoster