DBMS berorientasi dokumen MongoDB 5.0 tersedia

Rilis DBMS MongoDB 5.0 berorientasi dokumen disajikan, yang menempati ceruk antara sistem cepat dan terukur yang mengoperasikan data dalam format kunci/nilai, dan DBMS relasional yang fungsional dan mudah untuk membentuk kueri. Kode MongoDB ditulis dalam C++ dan didistribusikan di bawah lisensi SSPL, yang didasarkan pada lisensi AGPLv3, tetapi tidak terbuka, karena mengandung persyaratan diskriminatif untuk dikirimkan di bawah lisensi SSPL tidak hanya kode aplikasi itu sendiri, tetapi juga kode sumbernya. kode semua komponen yang terlibat dalam penyediaan layanan cloud.

MongoDB mendukung penyimpanan dokumen dalam format mirip JSON, memiliki bahasa yang cukup fleksibel untuk menghasilkan kueri, dapat membuat indeks untuk berbagai atribut yang disimpan, secara efisien menyediakan penyimpanan objek biner besar, mendukung pencatatan operasi untuk mengubah dan menambahkan data ke database, dapat bekerja sesuai dengan paradigma Map/Reduce, mendukung replikasi dan konstruksi konfigurasi toleransi kesalahan.

MongoDB memiliki alat bawaan untuk menyediakan sharding (mendistribusikan sekumpulan data ke seluruh server berdasarkan kunci tertentu), dikombinasikan dengan replikasi, memungkinkan Anda membangun cluster penyimpanan yang dapat diskalakan secara horizontal di mana tidak ada satu pun titik kegagalan (kegagalan dari node mana pun tidak mempengaruhi pengoperasian database), pemulihan otomatis setelah kegagalan dan transfer beban dari node yang gagal. Memperluas cluster atau mengubah satu server menjadi cluster dilakukan tanpa menghentikan database hanya dengan menambahkan mesin baru.

Fitur rilis baru:

  • Ditambahkan koleksi data dalam bentuk deret waktu (time series collections), dioptimalkan untuk menyimpan irisan nilai parameter yang dicatat pada interval tertentu (waktu dan kumpulan nilai yang sesuai dengan waktu ini). Kebutuhan untuk menyimpan data tersebut muncul dalam sistem pemantauan, platform keuangan, dan sistem negara sensor jajak pendapat. Bekerja dengan data deret waktu dilakukan seperti halnya kumpulan dokumen biasa, tetapi indeks dan metode penyimpanannya dioptimalkan dengan mempertimbangkan referensi waktu, yang secara signifikan dapat mengurangi konsumsi ruang disk, mengurangi penundaan dalam mengeksekusi kueri, dan mengaktifkan data real-time analisis.

    MongoDB memperlakukan koleksi tersebut sebagai tampilan yang dapat ditulisi dan tidak berwujud yang dibangun di atas koleksi internal yang, ketika dimasukkan, secara otomatis mengelompokkan data deret waktu ke dalam format penyimpanan yang dioptimalkan. Dalam hal ini, setiap catatan berbasis waktu diperlakukan sebagai dokumen terpisah saat diminta. Data secara otomatis diurutkan dan diindeks berdasarkan waktu (tidak perlu membuat indeks waktu secara eksplisit).

  • Menambahkan dukungan untuk operator jendela (fungsi analitis) yang memungkinkan Anda melakukan tindakan dengan sekumpulan dokumen tertentu dalam koleksi. Tidak seperti fungsi agregat, fungsi jendela tidak menciutkan kumpulan yang dikelompokkan, melainkan mengagregasi berdasarkan konten β€œjendela” yang menyertakan satu atau lebih dokumen dari kumpulan hasil. Untuk memanipulasi subset dokumen, tahap $setWindowFields baru diusulkan, yang dengannya Anda dapat, misalnya, menentukan perbedaan antara dua dokumen dalam suatu koleksi, menghitung peringkat penjualan, dan menganalisis informasi dalam rangkaian waktu yang kompleks.
  • Menambahkan dukungan untuk pembuatan versi API, yang memungkinkan Anda mengikat aplikasi ke status API tertentu dan menghilangkan risiko yang terkait dengan kemungkinan pelanggaran kompatibilitas mundur saat bermigrasi ke rilis DBMS baru. Pembuatan versi API memisahkan siklus hidup aplikasi dari siklus hidup DBMS dan memungkinkan pengembang membuat perubahan pada aplikasi ketika ada kebutuhan untuk menggunakan fitur baru, dan bukan ketika bermigrasi ke versi DBMS yang baru.
  • Menambahkan dukungan untuk mekanisme Live Resharding, yang memungkinkan Anda mengubah kunci shard yang digunakan untuk segmentasi dengan cepat tanpa menghentikan DBMS.
  • Kemungkinan untuk mengenkripsi bidang di sisi klien telah diperluas (Enkripsi Tingkat Bidang Sisi Klien). Sekarang dimungkinkan untuk mengkonfigurasi ulang filter audit dan merotasi sertifikat x509 tanpa menghentikan DBMS. Menambahkan dukungan untuk mengonfigurasi cipher suite untuk TLS 1.3.
  • Shell baris perintah baru, MongoDB Shell (mongosh), diusulkan, yang sedang dikembangkan sebagai proyek terpisah, ditulis dalam JavaScript menggunakan platform Node.js dan didistribusikan di bawah lisensi Apache 2.0. MongoDB Shell memungkinkan untuk terhubung ke DBMS, mengubah pengaturan dan mengirim pertanyaan. Mendukung pelengkapan otomatis cerdas untuk memasukkan metode, perintah dan ekspresi MQL, penyorotan sintaksis, bantuan kontekstual, penguraian pesan kesalahan, dan kemampuan untuk memperluas fungsionalitas melalui add-on. Pembungkus CLI "mongo" yang lama sudah tidak digunakan lagi dan akan dihapus pada rilis mendatang.
    DBMS berorientasi dokumen MongoDB 5.0 tersedia
  • Operator baru telah ditambahkan: $count, $dateAdd, $dateDiff, $dateSubtract, $sampleRate dan $rand.
  • Memastikan indeks digunakan saat menggunakan operator $eq, $lt, $lte, $gt, dan $gte dalam ekspresi $expr.
  • Perintah agregat, find, findAndModify, update, delete dan metode db.collection.aggregate(), db.collection.findAndModify(), db.collection.update() dan db.collection.remove() kini mendukung β€œlet ” opsi untuk menentukan daftar variabel yang membuat perintah lebih mudah dibaca dengan memisahkan variabel dari isi permintaan.
  • Operasi temukan, hitung, bedakan, agregat, mapReduce, listCollections, dan listIndexes tidak lagi diblokir jika operasi yang mengambil kunci eksklusif pada kumpulan dokumen berjalan secara paralel.
  • Sebagai bagian dari inisiatif untuk menghapus istilah yang salah secara politis, perintah isMaster dan metode db.isMaster() telah diganti namanya menjadi hello dan db.hello().
  • Skema penomoran rilis telah diubah dan transisi telah dilakukan ke jadwal rilis yang dapat diprediksi. Setahun sekali akan ada rilis signifikan (5.0, 6.0, 7.0), setiap tiga bulan rilis menengah dengan fitur baru (5.1, 5.2, 5.3) dan, jika diperlukan, pembaruan korektif dengan perbaikan bug dan kerentanan (5.1.1, 5.1.2 .5.1.3 , 5.1). Rilis sementara akan membangun fungsionalitas untuk rilis besar berikutnya, yaitu. MongoDB 5.2, 5.3, dan 6.0 akan menyediakan fitur baru untuk rilis MongoDB XNUMX.

Sumber: opennet.ru

Tambah komentar