เบเบฒเบ™เบ›เปˆเบญเบเป€เบญเบเบฐเบชเบฒเบ™ DBMS Apache CouchDB 3.0

เป„เบ”เป‰เบˆเบฑเบ”เบ‚เบถเป‰เบ™ เบเบฒเบ™เบ›เปˆเบญเบเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบญเบตเบ‡เปƒเบชเปˆเป€เบญเบเบฐเบชเบฒเบ™เบ—เบตเปˆเปเบˆเบเบขเบฒเบ Apache CouchDB 3.0, เป€เบ›เบฑเบ™เบ‚เบญเบ‡เบซเป‰เบญเบ‡เบฎเบฝเบ™เบ‚เบญเบ‡เบฅเบฐเบšเบปเบš NoSQL. เปเบซเบผเปˆเบ‡เป‚เบ„เบ‡เบเบฒเบ™ เปเบœเปˆโ€‹เบเบฐโ€‹เบˆเบฒเบโ€‹เป€เบŠเบทเป‰เบญ เบญเบฐเบ™เบธเบเบฒเบ”เบžเบฒเบเปƒเบ•เป‰ Apache 2.0.

เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™ Apache CouchDB 3.0:

  • เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡.
    เป€เบกเบทเปˆเบญเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เบœเบนเป‰เปƒเบŠเป‰ admin เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบเปเบฒเบ™เบปเบ”เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™, เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบ—เบตเปˆเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบˆเบฐเบขเบธเบ”เป€เบŠเบปเบฒเบ”เป‰เบงเบเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ” (เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบเบฑเบšเบเบฒเบ™เป€เบ›เบตเบ”เบ•เบปเบงเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ—เบตเปˆเบญเบญเบเบˆเบฒเบเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เป‚เบ”เบเบšเปเปˆเป„เบ”เป‰เบ•เบฑเป‰เบ‡เปƒเบˆเป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบขเบทเบ™เบขเบฑเบ™). เบเบฒเบ™เป‚เบ—เบซเบฒ "/_all_dbs" เบ”เบฝเบงเบ™เบตเป‰เบ•เป‰เบญเบ‡เบเบฒเบ™เบชเบดเบ”เบ—เบดเปƒเบ™เบเบฒเบ™เบšเปเบฅเบดเบซเบฒเบ™, เปเบฅเบฐเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบžเบฝเบ‡เปเบ•เปˆเป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบœเบนเป‰เปƒเบŠเป‰ admin (เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบซเบฒเบชเบฒเบกเบฒเบ”เบ›เปˆเบฝเบ™เปเบ›เบ‡เป„เบ”เป‰เป‚เบ”เบเบœเปˆเบฒเบ™ "_security" object). เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เบเบฒเบ™เปเบเป‰เป„เบ‚เบงเบฑเบ”เบ–เบธเปƒเบ™เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™ _users เบ–เบทเบเบซเป‰เบฒเบก;

  • เป€เบžเบตเปˆเบกเปเบฅเป‰เบง เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบชเป‰เบฒเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™ segmented (partitioned) เบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เป‚เบ”เบเบœเบนเป‰เปƒเบŠเป‰, เป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเบเปเบฒเบ™เบปเบ”เบเบปเบ”เบฅเบฐเบšเบฝเบšเบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เปเบˆเบเบขเบฒเบเป€เบญเบเบฐเบชเบฒเบ™เปƒเบ™เบ—เบปเปˆเบง segments (shard range). เป€เบžเบตเปˆเบกเบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบžเบดเป€เบชเบ”เบชเปเบฒเบฅเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™ sharded เบเบฑเบšเบกเบธเบกเป€เบšเบดเปˆเบ‡ Mango เปเบฅเบฐเบ”เบฑเบ”เบชเบฐเบ™เบต;
  • เบ›เบฐเบ•เบดเบšเบฑเบ” เบฎเบนเบšเปเบšเบšเบเบฒเบ™เปเบšเปˆเบ‡เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เปเบšเปˆเบ‡เบชเปˆเบงเบ™ (sharding). เปƒเบ™เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™, เบ›เบฐเบˆเบธเบšเบฑเบ™เบชเบฒเบกเบฒเบ”เปเบˆเบเบขเบฒเบเบ‚เปเป‰เบกเบนเบ™เบ„เบทเบ™เปƒเบซเบกเปˆเบฅเบฐเบซเบงเปˆเบฒเบ‡ segments, เป‚เบ”เบเบ„เปเบฒเบ™เบถเบ‡เป€เบ–เบดเบ‡เบเบฒเบ™เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เบ‚เบญเบ‡เบกเบนเบ™เบ„เปˆเบฒเบ‚เบญเบ‡ q-factor เบ—เบตเปˆเปƒเบŠเป‰เปƒเบ™เบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบฅเบฐเบ”เบฑเบšเบ‚เบญเบ‡เบเบฒเบ™เปเบšเปˆเบ‡เบชเปˆเบงเบ™;
  • เป€เบžเบตเปˆเบกเปเบฅเป‰เบง เบฅเบฐเบšเบปเบšเบเปˆเบญเบ ken เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ”เบฑเบ”เบชเบฐเบ™เบตเบžเบทเป‰เบ™เบซเบฅเบฑเบ‡เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เปเบฅเบฐเบฎเบฑเบเบชเบฒเบ”เบฑเบ”เบชเบฐเบ™เบตเบฎเบญเบ‡ (JavaScript, Mango, เบ”เบฑเบ”เบชเบฐเบ™เบตเบ„เบปเป‰เบ™เบซเบฒเบ‚เปเป‰เบ„เบงเบฒเบก) เบˆเบปเบ™เป€เบ–เบดเบ‡เบงเบฑเบ™เบ—เบตเป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เป€เบ›เบตเบ”เบ•เบปเบงเบขเปˆเบฒเบ‡เบˆเบฐเปเบˆเป‰เบ‡เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡;
  • เบ‚เบฐเบšเบงเบ™เบเบฒเบ™ smoosh เบ—เบตเปˆเปƒเบŠเป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบซเบธเป‰เบกเบซเปเปˆเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เป„เบ”เป‰เบ–เบทเบเบ‚เบฝเบ™เบ„เบทเบ™เปƒเบซเบกเปˆเบขเปˆเบฒเบ‡เบชเบปเบกเบšเบนเบ™;
  • เบฅเบฐเบšเบปเบšเบเปˆเบญเบเปƒเบซเบกเปˆเบชเบฐเป€เบซเบ™เบต IO เบ„เบดเบง, เบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบ›เปˆเบฝเบ™เบšเบนเบฅเบดเบกเบฐเบชเบดเบ” I/O เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบชเบฐเป€เบžเบฒเบฐเปƒเบ”เบซเบ™เบถเปˆเบ‡;
  • เบ›เบฐเบ•เบดเบšเบฑเบ”เบฅเบฐเบšเบปเบšเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบเบฒเบ™เบ–เบปเบ”เบ–เบญเบ;
  • เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบขเปˆเบฒเบ‡เป€เบ›เบฑเบ™เบ—เบฒเบ‡เบเบฒเบ™เบชเปเบฒเบฅเบฑเบšเปเบžเบฅเบฐเบ•เบฐเบŸเบญเบก arm64v8 (aarch64) เปเบฅเบฐ ppc64le (ppc64el);
  • เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบ JavaScript SpiderMonkey 1.8.5 (ESR เบชเบฒเบ‚เบฒเบ‚เบญเบ‡ Firefox 60) เบ”เป‰เบงเบเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ ES5, ES6 เปเบฅเบฐ ES2016+;
  • เป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบเบŠเบญเบเบซเบฒเบฅเบงเบก Dreyfus เบญเบตเบ‡เปƒเบชเปˆ Lucene, เป€เบŠเบดเปˆเบ‡เป€เบฎเบฑเบ”เปƒเบซเป‰เบ‡เปˆเบฒเบเบ”เบฒเบเบซเบผเบฒเบเปƒเบ™เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบเบŠเบญเบเบซเบฒเป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ CouchDB;
  • เป€เบžเบตเปˆเบก backend เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบšเบฑเบ™เบ—เบถเบเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ systemd-journald;
  • เป€เบžเบตเปˆเบกเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ โ€œ[couchdb] single_nodeโ€, เป€เบกเบทเปˆเบญเบ•เบฑเป‰เบ‡, CouchDB เบˆเบฐเบชเป‰เบฒเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบฅเบฐเบšเบปเบšเป‚เบ”เบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบ–เป‰เบฒเบžเบงเบเบกเบฑเบ™เบ‚เบฒเบ”;
  • เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เบ‚เบฐเบšเบงเบ™เบเบฒเบ™ couch_server เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš;
  • เบ•เบปเบงเบ•เบดเบ”เบ•เบฑเป‰เบ‡เบชเปเบฒเบฅเบฑเบšเป€เบงเบ—เบต Windows เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบ;
  • เบเบฒเบ™เป€เบšเบดเปˆเบ‡เบ–เบทเบเบˆเบณเบเบฑเบ”เบขเบนเปˆเบ—เบตเปˆ 2^28 (268435456) เบœเบปเบ™เบเบฒเบ™เบ„เบปเป‰เบ™เบซเบฒ. เบ‚เบตเบ”เบˆเปเบฒเบเบฑเบ”เบ™เบตเป‰เบชเบฒเบกเบฒเบ”เบ–เบทเบเบ•เบฑเป‰เบ‡เบ„เปˆเบฒเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบšเบดเปˆเบ‡เปเบšเบšเบ›เบปเบเบเบฐเบ•เบดเปเบฅเบฐเปเบšเปˆเบ‡เบชเปˆเบงเบ™เป‚เบ”เบเปƒเบŠเป‰เบ•เบปเบงเป€เบฅเบทเบญเบ query_limit เปเบฅเบฐ partition_query_limit เปƒเบ™เบžเบฒเบ โ€œ[query_server_config]โ€;
  • เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™ node เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™ HTTP เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ, เป€เบ›เบตเบ”เบ•เบปเบงเปƒเบ™เบžเบญเบ”เป€เบ„เบทเบญเบ‚เปˆเบฒเบ 5986, เป„เบ”เป‰เบ–เบทเบเป‚เบเบเบเป‰เบฒเบเบญเบญเบ, เบซเบ™เป‰เบฒเบ—เบตเปˆเบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เป‚เบ”เบเบœเปˆเบฒเบ™เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบเบธเปˆเบกเบ—เบปเปˆเบงเป„เบ›;
  • เบ‚เบฐเบซเบ™เบฒเบ”เป€เบญเบเบฐเบชเบฒเบ™เบชเบนเบ‡เบชเบธเบ”เป„เบ”เป‰เบ–เบทเบเบซเบผเบธเบ”เบฅเบปเบ‡เป€เบ›เบฑเบ™ 8 MB, เป€เบŠเบดเปˆเบ‡เบญเบฒเบ”เบˆเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบเบตเบ”เบšเบฑเบ™เบซเบฒเบเบฑเบšเบเบฒเบ™เบˆเปเบฒเบฅเบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบˆเบฒเบเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเป€เบเบปเปˆเบฒเบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบญเบฑเบšเป€เบเบฃเบ”เป€เบ›เบฑเบ™ CouchDB 3.0. เป€เบžเบทเปˆเบญเป€เบžเบตเปˆเบกเบ‚เบตเบ”เบˆเบณเบเบฑเบ”, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ โ€œ[couchdb] max_document_sizeโ€;
  • เบเบฒเบ™เป€เบฎเบฑเบ”เบ„เบงเบฒเบกเบชเบฐเบญเบฒเบ”เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบ‚เบญเบ‡เบฅเบฑเบเบชเบฐเบ™เบฐเบ—เบตเปˆเบฅเป‰เบฒเบชเบฐเป„เบซเบกเป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”, เป€เบŠเบฑเปˆเบ™: _replicator เปเบฅเบฐ _external calls, disk_size เปเบฅเบฐ data_size fields, เปเบฅเบฐเบ—เบฒเบ‡เป€เบฅเบทเบญเบ delayed_commits;
  • เบเบฒเบ™เปเบฅเปˆเบ™ CouchDB เบ•เบญเบ™เบ™เบตเป‰เบ•เป‰เบญเบ‡เบเบฒเบ™ Erlang/OTP 20.3.8.11+, 21.2.3+ เบซเบผเบท 22.0.5. เปƒเบ™เบ—เบฒเบ‡เบ—เบดเบ”เบชเบฐเบ”เบต, เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบชเบฒเบ‚เบฒ Erlang / OTP 19 เปเบกเปˆเบ™เบ–เบทเบเบฎเบฑเบเบชเบฒเป„เบงเป‰, เปเบ•เปˆเบกเบฑเบ™เบ–เบทเบเบ„เบธเป‰เบกเบ„เบญเบ‡เป‚เบ”เบเบเบฒเบ™เบ—เบปเบ”เบชเบญเบš.

เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเบˆเบทเปˆเป„เบงเป‰เบงเปˆเบฒ CouchDB เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ‚เปเป‰เบกเบนเบ™เปƒเบ™เบฎเบนเบšเปเบšเบšเบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ„เปเบฒเบชเบฑเปˆเบ‡เปเบฅเบฐเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบเบฒเบ™เบˆเปเบฒเบฅเบญเบ‡เบšเบฒเบ‡เบชเปˆเบงเบ™เบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบˆเปเบฒเบ™เบงเบ™เบซเบ™เบถเปˆเบ‡เปƒเบ™เบฎเบนเบšเปเบšเบšเบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบšเบ—เบตเปˆเบกเบตเบเบฒเบ™เบเบงเบ”เบชเบญเบšเปเบฅเบฐเบเบฒเบ™เปเบเป‰เป„เบ‚เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ‚เบฑเบ”เปเบเป‰เบ‡. เปเบ•เปˆเบฅเบฐเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบŠเบธเบ”เบ‚เปเป‰เบกเบนเบ™เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡, synchronized เบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบญเบทเปˆเบ™เป†, เป€เบŠเบดเปˆเบ‡เบชเบฒเบกเบฒเบ”เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ” offline เปเบฅเบฐ replicate เปเบ•เปˆเบฅเบฐเป„เบฅเบเบฐเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡. เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐ, เบ„เบธเบ™เบ™เบฐเบชเบปเบกเบšเบฑเบ”เบ™เบตเป‰เป€เบฎเบฑเบ”เปƒเบซเป‰ CouchDB เป€เบ›เบฑเบ™เบเบฒเบ™เปเบเป‰เป„เบ‚เบ—เบตเปˆเบซเบ™เป‰เบฒเบชเบปเบ™เปƒเบˆเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™ synchronizing เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป‚เบ„เบ‡เบเบฒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบ„เบญเบกเบžเบดเบงเป€เบ•เบตเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™. เบงเบดเบ—เบตเปเบเป‰เป„เบ‚เบ—เบตเปˆเบญเบตเบ‡เปƒเบชเปˆ CouchDB เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบขเบนเปˆเปƒเบ™เบšเปเบฅเบดเบชเบฑเบ”เป€เบŠเบฑเปˆเบ™ BBC, Apple เปเบฅเบฐ CERN.

เบเบฒเบ™เบชเบญเบšเบ–เบฒเบก CouchDB เปเบฅเบฐเบเบฒเบ™เบ”เบฑเบ”เบชเบฐเบ™เบตเบ‚เปเป‰เบกเบนเบ™เบชเบฒเบกเบฒเบ”เบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบ”เป‰เบ•เบฒเบกเปเบšเบšเปเบœเบ™ เบซเบผเบธเบ”เปเบœเบ™เบ—เบตเปˆ, เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ JavaScript เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เป€เบซเบ”เบœเบปเบ™เบเบฒเบ™เป€เบเบฑเบšเบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เปเป‰เบกเบนเบ™. เบซเบผเบฑเบเบฅเบฐเบšเบปเบšเปเบกเปˆเบ™เบ‚เบฝเบ™เปƒเบ™ Erlang, เป€เบŠเบดเปˆเบ‡เบ–เบทเบเบ›เบฑเบšเบ›เบธเบ‡เปƒเบซเป‰เป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเป‰เบฒเบ‡เบฅเบฐเบšเบปเบšเปเบˆเบเบขเบฒเบเบ—เบตเปˆเปƒเบซเป‰เบšเปเบฅเบดเบเบฒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบ‚เบฐเบซเบ™เบฒเบ™เบซเบผเบฒเบ. เป€เบŠเบตเบšเป€เบงเบตเป€เบšเบดเปˆเบ‡เปเบกเปˆเบ™เบ‚เบฝเบ™เปƒเบ™ C เปเบฅเบฐเปเบกเปˆเบ™เบญเบตเบ‡เปƒเบชเปˆเป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบ JavaScript เบˆเบฒเบเป‚เบ„เบ‡เบเบฒเบ™ Mozilla. เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เปเบกเปˆเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เป‚เบ”เบเปƒเบŠเป‰ HTTP protocol เป‚เบ”เบเปƒเบŠเป‰ RESTful JSON API, เป€เบŠเบดเปˆเบ‡เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ‚เปเป‰เบกเบนเบ™, เบฅเบงเบกเบ—เบฑเบ‡เบˆเบฒเบเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เป€เบงเบฑเบšเบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบš.

เปœเปˆเบงเบเป€เบเบฑเบšเบ‚เปเป‰เบกเบนเบ™เปเบกเปˆเบ™เป€เบญเบเบฐเบชเบฒเบ™เบ—เบตเปˆเบกเบตเบ•เบปเบงเบฅเบฐเบšเบธ, เป€เบงเบตเบŠเบฑเบ™ เปเบฅเบฐเบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบŠเบธเบ”เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบกเบตเบŠเบทเปˆเบ•เบฒเบกเบฅเบณเบ”เบฑเบšเปƒเบ™เบฎเบนเบšเปเบšเบšเบ„เบต/เบ„เปˆเบฒ. เป€เบžเบทเปˆเบญเบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบŠเบธเบ”เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบกเบตเป‚เบ„เบ‡เบชเป‰เบฒเบ‡ pseudo เบˆเบฒเบเป€เบญเบเบฐเบชเบฒเบ™เบ—เบตเปˆเบกเบฑเบ (เบเบฒเบ™เบฅเบงเบšเบฅเบงเบกเปเบฅเบฐเบเบฒเบ™เบ„เบฑเบ”เป€เบฅเบทเบญเบ), เปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เบ‚เบญเบ‡เบเบฒเบ™เบชเป‰เบฒเบ‡เบกเบธเบกเป€เบšเบดเปˆเบ‡ (เบกเบธเบกเป€เบšเบดเปˆเบ‡) เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰, เป€เบžเบทเปˆเบญเบเปเบฒเบ™เบปเบ”เบงเปˆเบฒเบžเบฒเบชเบฒ JavaScript เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰. JavaScript เบเบฑเบ‡เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เบซเบ™เป‰เบฒเบ—เบตเปˆเป€เบžเบทเปˆเบญเบเบงเบ”เบชเบญเบšเบ‚เปเป‰เบกเบนเบ™เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเป€เบžเบตเปˆเบกเป€เบญเบเบฐเบชเบฒเบ™เปƒเบซเบกเปˆเบžเบฒเบเปƒเบ™เบกเบธเบกเป€เบšเบดเปˆเบ‡เบชเบฐเป€เบžเบฒเบฐ.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™