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

Alasan untuk dan menentang pindah dari SQL server ke MongoDB

Menurut pendapat saya, format data Anda harus menjadi perhatian utama ketika memilih backend penyimpanan. Apakah Anda memiliki data yang bersifat relasional? Jika demikian, dapatkah dan apakah merupakan ide yang baik untuk memodelkan data dalam dokumen? Pemodelan data sama pentingnya dalam database dokumen seperti dalam database relasional, hanya saja dilakukan secara berbeda. Berapa banyak jenis objek yang Anda miliki dan bagaimana hubungannya? Bisakah DBrefs di Mongodb melakukan trik atau Anda akan kehilangan kunci asing begitu banyak sehingga akan menyakitkan? Apa pola akses Anda untuk data? Apakah Anda hanya mengambil data dari satu jenis yang difilter berdasarkan nilai bidang, atau apakah Anda memiliki mode pengambilan yang rumit?

Apakah Anda memerlukan integritas transaksi ACID? Apakah domain memberlakukan banyak batasan pada data? Apakah Anda memerlukan faktor skalabilitas dari database dokumen atau itu hanya hal yang "keren" untuk dimiliki?

Apa persyaratan konsistensi dan integritas data Anda? Beberapa solusi NoSQL dan MongoDB khususnya cukup longgar pada konsistensi penulisan untuk mendapatkan kinerja. NoSQL bukanlah lanskap seragam dan produk lainnya, mis. CouchDB memiliki karakteristik lain di departemen ini. Beberapa juga bisa disetel.

Ini semua adalah pertanyaan yang harus masuk ke pilihan penyimpanan.

Beberapa Pengalaman

  • Melakukan pelaporan ekstensif pada data yang disimpan bisa lebih sulit saat menggunakan MongoDB atau database dokumen apa pun dan beberapa kasus penggunaan telah menggabungkan RDBMS dan document-db untuk tujuan itu.
  • (Sangat) Model kueri berbeda. MongoDB juga berbeda dari dokumen-db lainnya.
  • Fleksibel untuk mengubah format/skema data selama pengembangan
  • Wilayah tidak dikenal
  • berbagai tingkat kematangan dalam driver dan kerangka kerja
  • Cepat
  • Alat manajemen dan produk yang lebih sederhana (dalam banyak hal) (dibandingkan dengan banyak produk RDBMS)
  • Tidak ada lagi ketidakcocokan impedansi. Penyimpanan sesuai dengan data, bukan sebaliknya.
  • Lebih sedikit gesekan dan lebih banyak akses langsung ke data.
  • Domain lebih terikat pada kegigihan (bergantung pada "level" ORM dari NoRM, seberapa jauh abstrak dari backend. Saya belum pernah menggunakan NoRM jadi saya tidak bisa menjawabnya.)


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Driver Mongodb C# hanya mengembalikan sub dokumen yang cocok dalam array

  2. Memulai dengan Driver MongoDB Go

  3. Terjemahkan Queryable<T> kembali ke IMongoQuery

  4. GSSException:Tidak ada kredensial valid yang diberikan (Tingkat mekanisme:Gagal menemukan Kerberos tgt)

  5. Sisipan batch luwak (mongodb)?