Di perusahaan kami, kami memiliki database MongoDB yang berisi banyak data tidak terstruktur, di mana kami perlu menjalankan algoritma pengurangan peta untuk menghasilkan laporan dan analisis lainnya. Kami memiliki dua pendekatan untuk dipilih untuk mengimplementasikan analisis yang diperlukan:
Salah satu pendekatan adalah mengekstraksi data dari MongoDB ke cluster Hadoop dan melakukan analisis sepenuhnya di platform Hadoop. Namun, ini membutuhkan investasi besar untuk menyiapkan platform (perangkat lunak dan perangkat keras) dan mendidik tim untuk bekerja dengan Hadoop dan menulis tugas pengurangan peta untuknya.
Pendekatan lain adalah dengan hanya menempatkan upaya kami pada merancang algoritma pengurangan peta, dan menjalankan algoritma pada fungsionalitas pengurangan peta MongoDB. Dengan cara ini, kita dapat membuat prototipe awal sistem akhir yang dapat menghasilkan laporan. Saya tahu bahwa fungsionalitas pengurangan-peta MongoDB jauh lebih lambat dibandingkan dengan Hadoop, tetapi saat ini datanya tidak sebesar itu yang membuat ini menjadi hambatan, setidaknya tidak untuk enam bulan ke depan.
Pertanyaannya adalah, dengan menggunakan pendekatan kedua dan menulis algoritma untuk MongoDB, dapatkah mereka kemudian dipindahkan ke Hadoop dengan sedikit modifikasi yang diperlukan dan mendesain ulang algoritma? MongoDB hanya mendukung JavaScript tetapi perbedaan bahasa pemrograman mudah ditangani. Namun, apakah ada perbedaan mendasar dalam model pengurangan-peta MongoDB dan Hadoop yang mungkin memaksa kita untuk mendesain ulang algoritma secara substansial untuk porting ke Hadoop?