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

Memahami batas ukuran Dokumen MongoDB BSON

Pertama, ini sebenarnya sedang dinaikkan di versi berikutnya menjadi 8MB atau 16MB ... tapi saya pikir untuk menempatkan ini dalam perspektif, Eliot dari 10gen (yang mengembangkan MongoDB) memberikan yang terbaik:

EDIT: Ukuran telah resmi 'dibesarkan' menjadi 16MB

Jadi, pada contoh blog Anda, 4MB sebenarnya sangat banyak.. Misalnya, teks lengkap "War of the Worlds" yang tidak terkompresi hanya 364k (html):http://www.gutenberg.org/etext/36

Jika posting blog Anda sepanjang itu dengan banyak komentar, saya tidak akan membacanya :)

Untuk trackback, jika Anda mendedikasikan 1MB untuknya, Anda dapat dengan mudah mendapatkan lebih dari 10rb (mungkin mendekati 20rb)

Jadi kecuali untuk situasi yang benar-benar aneh, itu akan bekerja dengan baik. Dan dalam kasus pengecualian atau spam, saya benar-benar tidak berpikir Anda menginginkan objek 20mb. Saya pikir membatasi trackback sebagai 15k atau lebih masuk akal terlepas dari apa untuk kinerja. Atau setidaknya casing khusus jika itu terjadi.

-Eliot

Saya pikir Anda akan kesulitan mencapai batas ... dan seiring waktu, jika Anda meningkatkan ... Anda tidak perlu khawatir lagi.

Inti dari batasan ini adalah agar Anda tidak menggunakan semua RAM di server Anda (karena Anda perlu memuat semua MB s dokumen ke dalam RAM saat Anda menanyakannya.)

Jadi batasnya adalah beberapa % dari RAM normal yang dapat digunakan pada sistem umum ... yang akan terus bertambah dari tahun ke tahun.

Catatan tentang Menyimpan File di MongoDB

Jika Anda perlu menyimpan dokumen (atau file) yang lebih besar dari 16MB Anda dapat menggunakan API GridFS yang secara otomatis akan memecah data menjadi beberapa segmen dan mengalirkannya kembali kepada Anda (sehingga menghindari masalah dengan batas ukuran/RAM.)

Alih-alih menyimpan file dalam satu dokumen, GridFS membagi file menjadi beberapa bagian, atau potongan, dan menyimpan setiap potongan sebagai dokumen terpisah.

GridFS menggunakan dua koleksi untuk menyimpan file. Satu koleksi menyimpan potongan file, dan yang lainnya menyimpan metadata file.

Anda dapat menggunakan metode ini untuk menyimpan gambar, file, video, dll dalam database sebanyak mungkin dalam database SQL. Saya telah menggunakan ini bahkan untuk menyimpan file video multi gigabyte.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bisakah mongorestore mengambil argumen url tunggal alih-alih argumen terpisah?

  2. Menyimpan aliran data dari permintaan POST di GridFS, express, mongoDB, node.js

  3. Bagaimana cara memanggil db.Collection.stats() dari driver Java Mongo

  4. Memantau &Mengamankan MongoDB dengan ClusterControl Advisors

  5. MongoDB dan CodeIgniter