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

Pro dan kontra dari MongoDB?

Beberapa poin umum di MongoDB

Kelebihan:

  • tanpa skema. Jika Anda memiliki skema yang fleksibel, ini sangat ideal untuk penyimpanan dokumen sepertiMongoDB. Ini sulit untuk diimplementasikan dengan cara yang baik di RDBMS
  • kemudahan peningkatan skala. Skala membaca dengan menggunakan set replika. Skala menulis dengan menggunakan sharding (auto balancing). Jalankan saja mesin lain dan pergilah. Menambahkan lebih banyak mesin =menambahkan lebih banyak RAM untuk mendistribusikan perangkat kerja Anda.
  • biaya. Tergantung pada RDBMS mana, tetapi MongoDB gratis dan dapat berjalan di Linux, ideal untuk dijalankan pada kit komoditas yang lebih murah.
  • Anda dapat memilih tingkat konsistensi yang Anda inginkan tergantung pada nilai data (misalnya, kinerja yang lebih cepat =mengaktifkan dan melupakan penyisipan ke MongoDB, kinerja yang lebih lambat =menunggu hingga penyisipan telah direplikasi ke beberapa node sebelum kembali)

Kekurangan:

  • Ukuran data di MongoDB biasanya lebih tinggi karena mis. setiap dokumen memiliki nama bidang yang disimpan
  • lebih sedikit fleksibilitas dengan kueri (mis. tidak ada GABUNG)
  • tidak ada dukungan untuk transaksi - operasi atom tertentu didukung, pada tingkat dokumen tunggal
  • saat ini Memetakan/Mengurangi (misalnya untuk melakukan agregasi/analisis data) boleh saja, tetapi tidak terlalu cepat. Jadi jika itu diperlukan, sesuatu seperti Hadoop mungkin perlu ditambahkan ke dalam campuran
  • informasi terbaru yang tersedia/produk yang berkembang pesat

Saya baru-baru ini mencatat pemikiran saya di MongoDB sebagai seseorang yang berasal dari latar belakang SQL Server, jadi Anda mungkin tertarik dengan itu (di atas hanya beberapa poin utama).

Jika Anda mencari jawaban "Apakah MongoDB lebih baik daripada RDBMS" - maka IMHO tidak ada jawaban. Teknologi NoSQL seperti MongoDB memberikan alternatif, yang melengkapi teknologi RDBMS. Satu mungkin lebih cocok untuk tujuan tertentu daripada yang lain, jadi ini semua tentang membuat panggilan tentang apa yang terbaik untuk Anda untuk persyaratan tertentu.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana saya bisa mengatasi masalah penskalaan dengan tanpa server dan MongoDB?

  2. Memanggil Prosedur Tersimpan di MongoDB melalui C#

  3. Agregat Mongoose/Mongodb - grup dan rata-rata beberapa bidang

  4. Deferensiasi mongoengine terjadi setelah menggunakan select_related()

  5. Mongodb TTL kedaluwarsa dokumen lebih awal