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

MongoDB:Miliaran dokumen dalam koleksi

Sulit untuk mengatakan apa penyisipan massal yang optimal -- ini sebagian tergantung pada ukuran objek yang Anda masukkan dan faktor tak terukur lainnya. Anda dapat mencoba beberapa rentang dan melihat apa yang memberi Anda performa terbaik. Sebagai alternatif, beberapa orang suka menggunakan mongoimport, yang cukup cepat, tetapi data impor Anda harus json atau csv. Jelas ada mongodrestore, jika datanya dalam format BSON.

Mongo dapat dengan mudah menangani miliaran dokumen dan dapat memiliki miliaran dokumen dalam satu koleksi, tetapi ingat bahwa ukuran dokumen maksimum adalah 16mb . Ada banyak orang dengan miliaran dokumen di MongoDB dan ada banyak diskusi tentangnya di Grup Pengguna Google MongoDB . Berikut dokumen tentang penggunaan sejumlah besar koleksi yang mungkin ingin Anda baca, jika Anda berubah pikiran dan ingin memiliki lebih dari satu koleksi. Semakin banyak koleksi yang Anda miliki, semakin banyak pula indeks yang akan Anda miliki, yang mungkin bukan yang Anda inginkan.

Berikut presentasi dari Craigslist tentang memasukkan miliaran dokumen ke dalam MongoDB dan postingan blog .

Sepertinya sharding akan menjadi solusi yang baik untuk Anda, tetapi biasanya sharding digunakan untuk penskalaan di beberapa server dan banyak orang melakukannya karena mereka ingin menskalakan tulisan mereka atau mereka tidak dapat mempertahankan set kerja mereka (data dan indeks) dalam RAM. Sangat masuk akal untuk memulai dengan satu server dan kemudian pindah ke shard atau kumpulan replika saat data Anda bertambah atau Anda membutuhkan redundansi dan ketahanan ekstra.

Namun, ada pengguna lain yang menggunakan banyak mongod untuk mengatasi batas penguncian satu mongod dengan banyak penulisan. Sudah jelas tetapi masih layak dikatakan tetapi pengaturan multi-mongod lebih kompleks untuk dikelola daripada satu server. Jika IO atau cpu Anda tidak maksimal di sini, set kerja Anda lebih kecil dari RAM dan data Anda mudah dijaga keseimbangannya (cukup terdistribusi secara acak), Anda akan melihat peningkatan (dengan sharding pada satu server). Sebagai FYI, ada potensi pertikaian memori dan IO. Dengan 2.2 telah meningkatkan konkurensi dengan db mengunci , saya menduga bahwa akan ada lebih sedikit alasan untuk penerapan seperti itu.

Anda perlu merencanakan perpindahan Anda ke sharding dengan benar, yaitu pikirkan baik-baik tentang memilih kunci shard Anda. Jika Anda pergi dengan cara ini maka yang terbaik adalah melakukan pra-split dan mematikan penyeimbang. Akan menjadi kontra-produktif untuk memindahkan data untuk menjaga keseimbangan yang berarti Anda harus memutuskan terlebih dahulu bagaimana membaginya. Selain itu, terkadang penting untuk mendesain dokumen Anda dengan gagasan bahwa beberapa bidang akan berguna untuk sharding, atau sebagai kunci utama.

Ini beberapa tautan bagus -



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Perbarui bidang dengan nilai dari bidang bersarang

  2. Operator Agregasi MongoDB untuk Bagian Tanggal Pengembalian

  3. Bisakah MongoDB Mengisi Dokumen Kosong

  4. Bagaimana cara mengonfigurasi mongo untuk dijalankan di buruh pelabuhan untuk menggunakan drive eksternal di windows

  5. Dapatkan ID dokumen yang terakhir dimasukkan dalam mongoDB dengan driver Java