Баримт бичигт чиглэсэн DBMS Apache CouchDB 3.0 хувилбар

болсон тараасан баримт бичигт чиглэсэн мэдээллийн санг гаргах Apache CouchDB 3.0, NoSQL системийн ангилалд хамаарах. Төслийн эх сурвалжууд тархалт Apache 2.0 дагуу лицензтэй.

СайжруулалтApache CouchDB 3.0 дээр хэрэгжүүлсэн:

  • Өгөгдмөл тохиргоог сайжруулсан.
    Эхлэх үед админ хэрэглэгчийг тодорхойлох шаардлагатай бөгөөд үүнгүйгээр сервер алдаа гаргаснаар дуусгавар болно (танилцуулгагүйгээр санамсаргүйгээр хандалтыг орхисон серверүүдийг эхлүүлэхтэй холбоотой асуудлыг шийдвэрлэх боломжийг танд олгоно). "/_all_dbs" руу залгах нь одоо администраторын эрхийг шаарддаг бөгөөд бүх мэдээллийн санг анхдагчаар үүсгэсэн бөгөөд зөвхөн админ хэрэглэгч хандах боломжтой (хандах параметрүүдийг "_security" объектоор дамжуулан өөрчлөх боломжтой). Анхдагч байдлаар, _users мэдээллийн сан дахь объектуудыг засварлахыг хориглоно;

  • Нэмсэн Хэрэглэгчийн тодорхойлсон сегментчилсэн (хуваасан) өгөгдлийн санг үүсгэх чадвар нь сегментүүдэд баримт бичгийг түгээх өөрийн дүрмийг тодорхойлох боломжийг олгодог (хэсэг хүрээ). Mango-н харагдац болон индексүүдэд хуваасан мэдээллийн сангийн тусгай оновчлолыг нэмсэн;
  • Хэрэгжүүлсэн сегментчилэл (хэсэглэх) үед автомат хуваах горим. Мэдээллийн санд задаргааны түвшинг тодорхойлоход ашигласан q хүчин зүйлийн үнэ цэнийн өсөлтийг харгалзан сегментүүдийн хооронд өгөгдлийг дахин хуваарилах боломжтой болсон;
  • Нэмсэн ken дэд систем нь автоматаар дэвсгэр индексжүүлэлт хийх, хоёрдогч индексүүдийг (JavaScript, Mango, текст хайлтын индексүүд) барилгын үйл ажиллагааг тодорхой эхлүүлэхгүйгээр шинэчилж байлгах;
  • Өгөгдлийн сангийн автомат савлагаанд ашигладаг smoosh процессыг бүрэн дахин бичсэн;
  • Шинэ дэд системийг санал болгож байна IO дараалал, тодорхой үйлдлүүдийн оролт/гаралтын тэргүүлэх чиглэлийг өөрчлөхөд ашигладаг;
  • Регрессийн тестийн системийг нэвтрүүлсэн;
  • arm64v8 (aarch64) болон ppc64le (ppc64el) платформуудад албан ёсны дэмжлэг нэмсэн;
  • ES1.8.5, ES60 болон ES5+-ийн сайжруулсан дэмжлэгтэйгээр SpiderMonkey 6 (Firefox 2016-ийн ESR салбар) JavaScript хөдөлгүүртэй холбох дэмжлэг нэмэгдсэн;
  • Хайлтын систем багтсан Dreyfus Lucene дээр үндэслэсэн бөгөөд энэ нь CouchDB дээр суурилсан хайлтын системийг байршуулахыг ихээхэн хялбаршуулдаг;
  • systemd-journald ашиглан бүртгэл хийх арын хэсгийг нэмсэн;
  • “[couchdb] single_node” тохиргоог нэмсэн бөгөөд тохируулах үед CouchDB байхгүй тохиолдолд системийн мэдээллийн санг автоматаар үүсгэх болно;
  • couch_server процессын гүйцэтгэлийг оновчтой болгосон;
  • Windows платформд зориулсан суулгагчийг мэдэгдэхүйц сайжруулсан;
  • Үзэлтийн тоо 2^28 (268435456) илэрцээр хязгаарлагддаг. Энэ хязгаарыг “[query_server_config]” хэсгийн query_limit болон partition_query_limit сонголтуудыг ашиглан ердийн болон сегментчилсэн харагдацад тусад нь тохируулж болно;
  • Сүлжээний порт 5986 дээр эхлүүлсэн тусдаа HTTP дотоод зангилааны удирдлагын интерфэйсийг устгасан бөгөөд функцийг нь кластерын удирдлагын нийтлэг интерфейсээр ашиглах боломжтой болсон;
  • Баримт бичгийн хамгийн дээд хэмжээг 8 МБ хүртэл багасгасан бөгөөд энэ нь CouchDB 3.0 руу шинэчилсэний дараа хуучин серверүүдээс өгөгдлийг хуулбарлахад асуудал үүсгэж болзошгүй юм. Хязгаарыг нэмэгдүүлэхийн тулд та “[couchdb] max_document_size” тохиргоог ашиглаж болно;
  • Хуулбарлагч болон гадаад дуудлага, дискний хэмжээ болон өгөгдлийн_хэмжээний талбарууд, хоцрогдсон_commits сонголт зэрэг хуучирсан функцүүдийн томоохон цэвэрлэгээ хийгдсэн;
  • CouchDB-г ажиллуулахад одоо Erlang/OTP 20.3.8.11+, 21.2.3+ эсвэл 22.0.5 шаардлагатай. Онолын хувьд Erlang/OTP 19 салбарын функциональ байдал хадгалагдан үлдсэн боловч туршилтаар хамрагдсан.

CouchDB нь өгөгдлийг эрэмбэлэгдсэн жагсаалтын хэлбэрээр хадгалж, зөрчилдөөнтэй нөхцөл байдлыг нэгэн зэрэг илрүүлж, шийдвэрлэхийн тулд мастер-мастер горимд хэд хэдэн мэдээллийн сангийн хооронд өгөгдлийг хэсэгчлэн хуулбарлах боломжийг олгодог гэдгийг санацгаая. Сервер бүр өөр серверүүдтэй синхрончлогдсон өөрийн дотоод мэдээллийн багцыг хадгалдаг бөгөөд үүнийг офлайнаар авч, өөрчлөлтүүдийг үе үе давтаж болно. Ялангуяа энэ функц нь CouchDB-ийг өөр өөр компьютеруудын хооронд програмын тохиргоог синхрончлоход тохиромжтой шийдэл болгодог. CouchDB-д суурилсан шийдлүүдийг BBC, Apple, CERN зэрэг компаниудад хэрэгжүүлсэн.

CouchDB асуулга болон өгөгдлийн индексжүүлэлтийг парадигмын дагуу хийж болно MapReduce, өгөгдлийн түүвэрлэлтийн логикийг үүсгэхийн тулд JavaScript ашиглан. Системийн цөм нь олон зэрэгцээ хүсэлтэд үйлчлэх тархсан системийг бий болгоход оновчтой болсон Erlang хэл дээр бичигдсэн. Харах сервер нь C хэл дээр бичигдсэн бөгөөд Mozilla төслийн JavaScript хөдөлгүүр дээр суурилдаг. Өгөгдлийн санд хандах хандалтыг RESTful JSON API ашиглан HTTP протокол ашиглан гүйцэтгэдэг бөгөөд энэ нь хөтөч дээр ажиллаж байгаа вэб программуудаас өгөгдөлд хандах боломжийг олгодог.

Өгөгдөл хадгалах нэгж нь өвөрмөц танигч, хувилбартай, түлхүүр/утга форматаар дурын нэрлэсэн талбаруудыг агуулсан баримт бичиг юм. Дурын баримт бичгүүдээс псевдо-бүтэцтэй өгөгдлийн багцыг зохион байгуулахын тулд (нэгтгэх, сонгох) үзэл бодол (харагдах байдал) үүсгэх ойлголтыг ашиглан JavaScript хэлийг ашигладаг. JavaScript нь тодорхой харагдац дотор шинэ баримт нэмэх үед өгөгдлийг баталгаажуулах функцуудыг тодорхойлж болно.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх