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

Apakah GridFS cukup cepat dan andal untuk produksi?

Saya menggunakan gridfs di tempat kerja di salah satu server kami yang merupakan bagian dari situs web pembanding harga dengan statistik lalu lintas yang terhormat (sekitar 25 ribu pengunjung per hari). Server tidak memiliki banyak ram, 2gigs, dan bahkan cpu tidak terlalu cepat (Core 2 duo 1.8Ghz) tetapi server memiliki banyak ruang penyimpanan:10TB (sata) dalam konfigurasi raid 0. Pekerjaan yang dilakukan server sangat sederhana:

Setiap produk pada pembanding harga kami memiliki gambar (ada sekitar 10 juta produk menurut db produk kami), dan tugas server adalah mengunduh gambar, mengubah ukurannya, menyimpannya di gridfs, dan mengirimkannya ke browser pengunjung. .. jika tidak ada di grid... atau... kirimkan ke browser pengunjung jika sudah tersimpan di grid. Jadi, ini bisa disebut sebagai 'skema cdn tradisional'.

Kami telah menyimpan dan memproses 4 juta gambar di server ini sejak aktif dan berjalan. Mengubah ukuran dan menyimpan barang dilakukan dengan skrip php sederhana... tapi yang pasti, skrip python, atau sesuatu seperti java bisa lebih cepat.

Ukuran data saat ini :11.23g

Ukuran penyimpanan saat ini:12,5g

Indeks :5

Ukuran indeks :849,65m

Tentang keandalan :Ini sangat dapat diandalkan. Server tidak memuat, ukuran indeks ok, kueri cepat

Tentang kecepatan :Tentu saja, apakah itu tidak secepat penyimpanan file lokal, mungkin 10% lebih lambat, tetapi cukup cepat untuk digunakan secara realtime bahkan ketika gambar perlu diproses, yang dalam kasus kami, sangat bergantung pada php. Waktu pemeliharaan dan pengembangan juga telah dikurangi:menghapus satu atau beberapa gambar menjadi sangat mudah:cukup tanyakan db dengan perintah hapus sederhana. Hal menarik lainnya:ketika kami me-reboot server lama kami, dengan penyimpanan file lokal (berjuta-juta file dalam ribuan folder), terkadang hang selama berjam-jam karena sistem sedang melakukan pemeriksaan integritas file (ini benar-benar memakan waktu berjam-jam ...). Kami tidak memiliki masalah ini lagi dengan gridfs, gambar kami sekarang disimpan dalam potongan mongodb besar (file 2gb)

Jadi... menurut saya... Ya, gridfs cepat dan cukup andal untuk digunakan dalam produksi.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Memecahkan masalah Cluster Sharded MongoDB

  2. Pengaturan mongodb bidang unik

  3. MongoDB dan CodeIgniter

  4. Kecualikan Bidang Tertentu dalam Indeks Wildcard di MongoDB

  5. apakah ada cara untuk menghasilkan ObjectId secara otomatis ketika Model luwak baru?