MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

MongoDB di 2018 - Setahun dalam Review

MongoDB sejauh ini merupakan pilihan paling populer di dunia NoSQL karena arsitektur terdistribusinya memungkinkan skalabilitas yang lebih besar dan model data dokumennya memberikan fleksibilitas yang baik bagi pengembang. Hampir setiap tahun, versi utama MongoDB dirilis dan 2018 tidak terkecuali. MongoDB 4.0 dirilis pada Juli 2018, diikuti oleh beberapa rilis kecil lainnya juga. Dengan MongoDB versi 4.0, transaksi multi-dokumen dan konversi jenis didukung sekarang. MongoDB memperkenalkan alat baru yang disebut bagan MongoDB (beta) dan menambahkan dukungan untuk pembuat pipa agregasi di kompas MongoDB juga pada tahun 2018. Dalam artikel ini, kita akan membahas beberapa fitur menarik dari MongoDB yang dirilis pada tahun 2018.

Transaksi ACID Multi-Dokumen

Ini adalah fitur yang paling ditunggu di MongoDB. Mulai dari versi 4.0, transaksi asam multi-dokumen terhadap set replika sudah siap produksi dan didukung oleh MongoDB. Semua transaksi MongoDB sekarang memperluas properti ACID yang memastikan integritas data. Sangat mudah untuk menambahkan transaksi asam dalam aplikasi apa pun yang membutuhkannya dan tidak memengaruhi operasi lain yang tidak memerlukannya. Dengan dukungan transaksi asam multi-dokumen, setiap operasi tulis yang dilakukan di dalam transaksi, tidak akan terlihat di luar transaksi. Berikut adalah beberapa perintah yang berguna untuk menambahkan transaksi asam multi-dokumen di dalam aplikasi Anda.

Fungsi Deskripsi
Session.startTransaction() Mulai transaksi baru
Session.commitTransaction() Melakukan transaksi
Session.abortTransaction() Membatalkan transaksi

Berikut adalah contoh kecil untuk menambahkan operasi transaksi menggunakan shell Mongo:

akashk:PRIMARY> use mydb
akashk:PRIMARY> db.createCollection(“newColl”)
akashk:PRIMARY> session = db.getMongo().startSession()
akashk:PRIMARY> session { "id" : UUID("62525323-1cd1-4ee8-853f-b78e593b46ba") }
akashk:PRIMARY> session.startTransaction()
akashk:PRIMARY> session.getDatabase("mydb").newColl.insert({name : 'hello'})
akashk:PRIMARY> WriteResult({ "nInserted" : 1 })
akashk:PRIMARY> session.commitTransaction()

Semua transaksi memberikan tampilan data yang konsisten di satu atau banyak koleksi dalam database menggunakan isolasi snapshot. MongoDB tidak akan mendorong perubahan yang tidak dikomit ke node/replika sekunder. Setelah transaksi dilakukan, semua perubahan akan diterapkan ke node sekunder.

Ada banyak contoh di mana kita dapat menggunakan transaksi asam multi-dokumen MongoDB seperti,

  • Transfer dana antar rekening bank
  • Sistem pembayaran
  • Sistem perdagangan
  • Sistem rantai pasokan
  • Sistem penagihan

Hal yang Perlu Dipertimbangkan Saat Menambahkan Transaksi

  1. MongoDB akan membatalkan semua transaksi yang berjalan lebih dari 60 detik.
  2. Tidak lebih dari 1000 dokumen harus diubah dalam satu transaksi. Tidak ada batasan untuk operasi baca.
  3. Setiap transaksi harus berukuran kurang dari 16MB karena MongoDb menyimpan transaksi apa pun sebagai satu entri di oplog.
  4. Saat Anda membatalkan transaksi apa pun, semua perubahan akan dibatalkan.

Operator Konversi Jenis Baru di Agregasi Pipeline

Untuk mendapatkan wawasan data secara real-time dan menulis kueri yang kompleks, pengembang MongoDB umumnya lebih suka membuat saluran agregasi. Dalam versi MongoDB 4.0, beberapa operator konversi tipe agregasi baru telah ditambahkan untuk kueri data tanpa pembersihan bidang individual.

Operator agregasi Deskripsi
$konversi Mengonversi nilai ke tipe tertentu
$toDate Mengonversi nilai ke Tanggal
$toDesimal Mengonversi nilai ke Desimal
$toDouble Mengubah nilai menjadi Ganda
$toLong Mengonversi nilai menjadi Panjang
$toInt Mengonversi nilai menjadi Integer
$toObjectId Mengonversi nilai menjadi ObjectId
$toString Mengonversi nilai menjadi String
$ltrim Hapus karakter yang tidak perlu dari awal string
$rtrim Hapus karakter yang tidak perlu dari akhir string
$trim Hapus karakter yang tidak perlu dari kedua sisi string
Beberapa Sembilan Menjadi DBA MongoDB - Membawa MongoDB ke ProduksiPelajari tentang apa yang perlu Anda ketahui untuk menerapkan, memantau, mengelola, dan menskalakan MongoDBUnduh secara Gratis

Fungsi yang Diperluas dari Aliran Perubahan

Fungsi aliran perubahan yang menyediakan pembaruan perubahan data waktu nyata tanpa pengaturan yang rumit telah diperkenalkan di versi 3.6. Dengan versi 4.0, aliran perubahan dapat melacak perubahan seluruh database atau cluster, bukan hanya satu koleksi sekarang. Selain itu, sekarang, aliran perubahan juga mengembalikan stempel waktu cluster yang terkait dengan peristiwa yang dapat berguna untuk aplikasi server.

Migrasi Data Lebih Cepat

Saat database Anda di-sharding di seluruh cluster, menambahkan dan menghapus node secara elastis dari cluster yang di-shard dapat memakan waktu di beberapa waktu. Penyeimbang cluster sharded yang bertanggung jawab untuk mendistribusikan data di semua shard, mendapat peningkatan besar di versi 4.0. Sekarang, ia dapat menyelesaikan migrasi data dengan kecepatan 40% lebih cepat.

Bacaan Sekunder Tanpa Blokir

Sebelumnya, MongoDB digunakan untuk memblokir semua pembacaan sekunder saat entri oplog diterapkan ke node sekunder. Ini menyebabkan latensi variabel dari pembacaan sekunder. Dari MongoDB 4.0, pembacaan sekunder menjadi non-pemblokiran karena peningkatan throughput set replika dan peningkatan latensi baca.

Pembuat Pipa Agregasi di Kompas

Kompas MongoDB adalah alat GUI untuk MongoDB untuk memvisualisasikan dan meminta data. Tahun ini, kompas MongoDB mendapat fitur baru dari pipa agregasi. Ini menyediakan editor kueri visual untuk membangun saluran agregasi multi-tahap. Berikut cuplikannya:

Pembuat kueri agregasi di Kompas

Selain fitur ini, kompas juga memiliki kemampuan untuk mengekspor kueri Anda ke bahasa kode asli pilihan Anda sekarang.

Grafik MongoDB

Bagan MongoDB adalah alat baru yang memungkinkan pengguna dengan cepat membuat visualisasi waktu nyata dari data MongoDB. Alat ini dibangun untuk model data dokumen dengan dukungan penanganan tipe, pengurangan array dan dokumen bersarang juga. Alat ini memungkinkan pengguna untuk membuat dasbor bagan dan membaginya dengan pengguna lain. Grafik MongoDB sekarang terintegrasi penuh dengan MongoDB Atlas.

Fitur MongoDB Baru Lainnya

  • MongoDB Stitch:Platform tanpa server untuk pengembangan aplikasi klien yang dapat mengakses layanan Mongo dengan aman.
  • MongoDB Kubernetes:Untuk men-deploy MongoDB dalam cluster Kubernetes.
  • MongoDB Mobile:Memberikan fleksibilitas dan kekuatan MongoDB dalam bentuk yang ringkas sehingga dapat digunakan di perangkat IoT.
  • Layanan Cloud Pemantauan MongoDB:Untuk mendorong metadata pemantauan ke awan pemantauan MongoDB secara gratis.

Masa Depan MongoDB

MongoDB juga berencana untuk meluncurkan beberapa fitur baru dengan versi 4.2 yang meliputi,

  • Mesin WiredTiger yang lebih ekstensif
  • Manajer transaksi
  • Transaksi di seluruh penerapan sharding
  • Pembacaan titik waktu global

  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. simpan luwak vs sisipkan vs buat

  2. Bagaimana cara menghapus bidang sepenuhnya dari dokumen MongoDB?

  3. PyMongo upsert melempar upsert harus menjadi contoh kesalahan bool

  4. Buat $elemMatch (proyeksi) mengembalikan semua objek yang cocok dengan kriteria

  5. Pengaturan mongodb bidang unik