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

Apa artinya menyesuaikan set kerja ke dalam RAM untuk MongoDB?

"Working set" pada dasarnya adalah jumlah data DAN indeks yang akan aktif/digunakan oleh sistem Anda.

Jadi misalnya, Anda memiliki data senilai 1 tahun. Untuk mempermudah, setiap bulan berkaitan dengan 1GB data yang memberikan total 12GB, dan untuk menutupi data setiap bulan, Anda memiliki indeks senilai 1GB lagi dengan total 12GB untuk tahun tersebut.

Jika Anda selalu mengakses data senilai 12 bulan terakhir, maka set kerja Anda adalah:12GB (data) + 12GB (indeks) =24GB.

Namun, jika Anda sebenarnya hanya mengakses data selama 3 bulan terakhir, maka set kerja Anda adalah:3GB (data) + 3GB (indeks) =6GB. Dalam skenario ini, jika Anda memiliki RAM 8GB dan kemudian Anda mulai mengakses data selama 6 bulan terakhir secara teratur, maka perangkat kerja Anda akan mulai melebihi RAM yang tersedia dan berdampak pada kinerja.

Namun secara umum, jika Anda memiliki RAM yang cukup untuk menutupi jumlah data/indeks yang Anda harapkan akan sering diakses, maka Anda akan baik-baik saja.

Edit:Tanggapan atas pertanyaan dalam komentar
Saya tidak yakin saya cukup mengikuti, tetapi saya akan mencoba menjawab. Pertama, perhitungan untuk working set adalah "angka taman bola". Kedua, jika Anda memiliki (misalnya) indeks 1GB pada user_id, maka hanya sebagian dari indeks yang umum diakses yang perlu berada di RAM (misalnya, 50% pengguna tidak aktif, maka indeks 0,5GB akan lebih sering diperlukan/diperlukan dalam RAM). Secara umum, semakin banyak RAM yang Anda miliki, semakin baik terutama karena set kerja cenderung bertambah seiring waktu karena peningkatan penggunaan. Di sinilah sharding masuk - membagi data menjadi beberapa node dan Anda dapat menghemat biaya secara efektif. Perangkat kerja Anda kemudian dibagi ke beberapa mesin, yang berarti semakin banyak yang dapat disimpan dalam RAM. Butuh lebih banyak RAM? Tambahkan mesin lain untuk di-shard.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Berapa ukuran maksimal operasi batch MongoDB?

  2. MongoDB $nin Operator Kueri

  3. Memasukkan data ke array bersarang di mongodb

  4. Kueri MongoDB dengan ekspresi regex terhadap ObjectId

  5. Apakah ada fungsi lantai dalam kerangka agregasi Mongodb?