Saya tidak tahu sama ada pelaksanaan di dalam adalah satu-benang, tetapi jika ia adalah persekitaran pengeluaran, adalah lebih baik untuk tidak mengakses terus hasil mapReduce setiap kali Bergantung pada saiz data, ia masih akan mengambil masa jangka masa tertentu. Data kami berjumlah berpuluh-puluh juta, dan setiap pelaksanaan mapReduce mengambil masa kira-kira 5-6 saat Mujurlah, aplikasi kami bukan masa nyata. Jadi pada asasnya data dicache selama 2 jam, dan kemudian mapReduce dilaksanakan untuk mendapatkan hasil terkini.
Saya telah melakukan perkara yang sama sebelum menggunakan MapReduce Kerana ia memakan masa, saya kemudiannya mengubah suai untuk menggunakan pertanyaan agregat untuk statistik adalah seperti berikut:
Nampaknya telah mencapai kesan kami. Saya hanya menggunakan sedikit data 10W untuk melakukan ujian di atas semasa proses pelaksanaan, ia akan mengeluarkan:
Oleh kerana data olok-olok saya agak mudah dan teratur, dapat dilihat bahawa bilangan pengiraan adalah hampir dua kali ganda daripada jumlah dokumen yang diimbas Kemudian, saya menggunakan data rawak untuk ujian dan mendapati keputusannya lebih teruk. Saya dengan tegas melepaskan pelaksanaan MapReduce dan menukar Gunakan pelaksanaan lain.
Saya tidak tahu sama ada pelaksanaan di dalam adalah satu-benang, tetapi jika ia adalah persekitaran pengeluaran, adalah lebih baik untuk tidak mengakses terus hasil mapReduce setiap kali Bergantung pada saiz data, ia masih akan mengambil masa jangka masa tertentu. Data kami berjumlah berpuluh-puluh juta, dan setiap pelaksanaan mapReduce mengambil masa kira-kira 5-6 saat Mujurlah, aplikasi kami bukan masa nyata. Jadi pada asasnya data dicache selama 2 jam, dan kemudian mapReduce dilaksanakan untuk mendapatkan hasil terkini.
Saya rasa artikel ini akan menerangkan isu prestasi mongodb!
http://stackoverflow.com/questions/39...
Saya telah melakukan perkara yang sama sebelum menggunakan MapReduce Kerana ia memakan masa, saya kemudiannya mengubah suai untuk menggunakan pertanyaan agregat untuk statistik adalah seperti berikut:
Model dokumen asas adalah seperti di atas, saya mengindeks pada accountId dan teg
Kini ia dikehendaki mengira teg di bawah pengguna direka bentuk seperti berikut:
Keputusan:
Nampaknya telah mencapai kesan kami. Saya hanya menggunakan sedikit data 10W untuk melakukan ujian di atas semasa proses pelaksanaan, ia akan mengeluarkan:
Oleh kerana data olok-olok saya agak mudah dan teratur, dapat dilihat bahawa bilangan pengiraan adalah hampir dua kali ganda daripada jumlah dokumen yang diimbas Kemudian, saya menggunakan data rawak untuk ujian dan mendapati keputusannya lebih teruk. Saya dengan tegas melepaskan pelaksanaan MapReduce dan menukar Gunakan pelaksanaan lain.