DBMS MongoDB 5.0 berorientasikan dokumen tersedia

Keluaran DBMS MongoDB 5.0 yang berorientasikan dokumen dipersembahkan, yang menduduki ceruk antara sistem pantas dan berskala yang mengendalikan data dalam format kunci/nilai, dan DBMS hubungan yang berfungsi dan mudah untuk membentuk pertanyaan. Kod MongoDB ditulis dalam C++ dan diedarkan di bawah lesen SSPL, yang berdasarkan lesen AGPLv3, tetapi tidak terbuka, kerana ia mengandungi keperluan diskriminasi untuk dihantar di bawah lesen SSPL bukan sahaja kod aplikasi itu sendiri, tetapi juga sumber kod semua komponen yang terlibat dalam penyediaan perkhidmatan awan.

MongoDB menyokong penyimpanan dokumen dalam format seperti JSON, mempunyai bahasa yang agak fleksibel untuk menjana pertanyaan, boleh mencipta indeks untuk pelbagai atribut yang disimpan, menyediakan penyimpanan objek binari yang besar dengan cekap, menyokong pengelogan operasi untuk menukar dan menambah data ke pangkalan data, boleh bekerja mengikut paradigma Map/Reduce, menyokong replikasi dan pembinaan konfigurasi toleran kesalahan.

MongoDB mempunyai alatan terbina dalam untuk menyediakan sharding (mengedarkan satu set data merentas pelayan berdasarkan kunci tertentu), dalam kombinasi dengan replikasi, membolehkan anda membina kelompok storan berskala mendatar di mana tiada titik kegagalan tunggal (kegagalan mana-mana nod tidak menjejaskan operasi pangkalan data), pemulihan automatik selepas kegagalan dan pemindahan beban daripada nod yang gagal. Mengembangkan kluster atau menukar satu pelayan kepada kluster dilakukan tanpa menghentikan pangkalan data dengan hanya menambah mesin baharu.

Ciri keluaran baharu:

  • Koleksi tambahan untuk data dalam bentuk siri masa (koleksi siri masa), dioptimumkan untuk menyimpan kepingan nilai parameter yang direkodkan pada selang tertentu (masa dan satu set nilai yang sepadan dengan masa ini). Keperluan untuk menyimpan data sedemikian timbul dalam sistem pemantauan, platform kewangan dan sistem untuk keadaan sensor undian. Bekerja dengan data siri masa dijalankan seperti pengumpulan dokumen biasa, tetapi indeks dan kaedah penyimpanan untuk mereka dioptimumkan dengan mengambil kira rujukan masa, yang boleh mengurangkan penggunaan ruang cakera dengan ketara, mengurangkan kelewatan dalam melaksanakan pertanyaan dan membolehkan data masa nyata analisis.

    MongoDB menganggap koleksi tersebut sebagai paparan boleh ditulis dan tidak terwujud yang dibina pada koleksi dalaman yang, apabila dimasukkan, secara automatik mengumpulkan data siri masa ke dalam format storan yang dioptimumkan. Dalam kes ini, setiap rekod berasaskan masa dianggap sebagai dokumen berasingan apabila diminta. Data disusun secara automatik dan diindeks mengikut masa (tidak perlu membuat indeks masa secara eksplisit).

  • Sokongan tambahan untuk pengendali tetingkap (fungsi analisis) yang membolehkan anda melakukan tindakan dengan set dokumen tertentu dalam koleksi. Tidak seperti fungsi agregat, fungsi tetingkap tidak meruntuhkan set terkumpul, sebaliknya mengagregat berdasarkan kandungan "tetingkap" yang merangkumi satu atau lebih dokumen daripada set hasil. Untuk memanipulasi subset dokumen, peringkat $setWindowFields baharu dicadangkan, yang mana anda boleh, contohnya, menentukan perbezaan antara dua dokumen dalam koleksi, mengira kedudukan jualan dan menganalisis maklumat dalam siri masa yang kompleks.
  • Sokongan tambahan untuk versi API, yang membolehkan anda mengikat aplikasi kepada keadaan API tertentu dan menghapuskan risiko yang berkaitan dengan kemungkinan pelanggaran keserasian ke belakang apabila berhijrah ke keluaran DBMS baharu. Versi API memisahkan kitaran hayat aplikasi daripada kitaran hayat DBMS dan membenarkan pembangun membuat perubahan pada aplikasi apabila terdapat keperluan untuk menggunakan ciri baharu dan bukannya apabila berhijrah ke versi baharu DBMS.
  • Sokongan tambahan untuk mekanisme Live Resharding, yang membolehkan anda menukar kekunci shard yang digunakan untuk segmentasi dengan cepat tanpa menghentikan DBMS.
  • Kemungkinan untuk menyulitkan medan pada bahagian klien telah diperluaskan (Penyulitan Tahap Medan Sebelah Pelanggan). Ia kini boleh mengkonfigurasi semula penapis audit dan memutar sijil x509 tanpa menghentikan DBMS. Menambah sokongan untuk mengkonfigurasi suite sifir untuk TLS 1.3.
  • Shell baris arahan baharu, MongoDB Shell (mongosh), dicadangkan, yang sedang dibangunkan sebagai projek berasingan, ditulis dalam JavaScript menggunakan platform Node.js dan diedarkan di bawah lesen Apache 2.0. MongoDB Shell membolehkan anda menyambung ke DBMS, menukar tetapan dan menghantar pertanyaan. Menyokong autolengkap pintar untuk memasukkan kaedah, arahan dan ungkapan MQL, penyerlahan sintaks, bantuan kontekstual, menghurai mesej ralat dan keupayaan untuk mengembangkan fungsi melalui alat tambah. Pembalut CLI "mongo" lama telah ditamatkan dan akan dialih keluar dalam keluaran akan datang.
    DBMS MongoDB 5.0 berorientasikan dokumen tersedia
  • Pengendali baharu telah ditambah: $count, $dateAdd, $dateDiff, $dateSubtract, $sampleRate dan $rand.
  • Memastikan bahawa indeks digunakan apabila menggunakan pengendali $eq, $lt, $lte, $gt dan $gte dalam ungkapan $expr.
  • Perintah agregat, cari, findAndModify, kemas kini, padam dan kaedah db.collection.aggregate(), db.collection.findAndModify(), db.collection.update() dan db.collection.remove() kini menyokong kaedah β€œlet ” pilihan untuk menentukan senarai pembolehubah yang menjadikan arahan lebih mudah dibaca dengan memisahkan pembolehubah daripada badan permintaan.
  • Operasi Cari, kira, bezakan, agregat, mapReduce, listCollections dan listIndexes tidak lagi disekat jika operasi yang mengambil kunci eksklusif pada koleksi dokumen berjalan secara selari.
  • Sebagai sebahagian daripada inisiatif untuk mengalih keluar istilah politik yang tidak betul, perintah isMaster dan kaedah db.isMaster() telah dinamakan semula hello dan db.hello().
  • Skim penomboran keluaran telah diubah dan peralihan telah dibuat kepada jadual keluaran yang boleh diramal. Sekali setahun akan ada keluaran penting (5.0, 6.0, 7.0), setiap tiga bulan keluaran pertengahan dengan ciri baharu (5.1, 5.2, 5.3) dan, jika perlu, kemas kini pembetulan dengan pembetulan pepijat dan kelemahan (5.1.1, 5.1.2 .5.1.3 , 5.1). Keluaran interim akan membina fungsi untuk keluaran utama seterusnya, i.e. MongoDB 5.2, 5.3 dan 6.0 akan menyediakan ciri baharu untuk keluaran MongoDB XNUMX.

Sumber: opennet.ru

Tambah komen