ใน บริษัท ของเราเรามีฐานข้อมูล MongoDB ที่มีข้อมูลที่ไม่มีโครงสร้างจำนวนมากซึ่งเราจำเป็นต้องใช้อัลกอริทึมลดแผนที่เพื่อสร้างรายงานและการวิเคราะห์อื่น ๆ เรามีสองวิธีในการเลือกจากการนำการวิเคราะห์ที่ต้องการไปใช้:
วิธีหนึ่งคือการดึงข้อมูลจาก MongoDB ไปยังคลัสเตอร์ Hadoop และทำการวิเคราะห์อย่างสมบูรณ์ในแพลตฟอร์ม Hadoop อย่างไรก็ตามสิ่งนี้ต้องการการลงทุนอย่างมากในการเตรียมแพลตฟอร์ม (ซอฟต์แวร์และฮาร์ดแวร์) และให้ความรู้แก่ทีมเพื่อทำงานกับ Hadoop และเขียนงานลดแผนที่
อีกวิธีหนึ่งคือการใช้ความพยายามของเราในการออกแบบอัลกอริธึมลดแผนที่และเรียกใช้อัลกอริธึมบนฟังก์ชันลดแผนที่ MongoDB ด้วยวิธีนี้เราสามารถสร้างต้นแบบเริ่มต้นของระบบสุดท้ายที่สามารถสร้างรายงาน ฉันรู้ว่าฟังก์ชั่นลดแผนที่ของ MongoDB นั้นช้ากว่ามากเมื่อเทียบกับ Hadoop แต่ปัจจุบันข้อมูลไม่ได้ใหญ่ขนาดนั้นที่ทำให้เกิดปัญหาคอขวดนี้
คำถามคือการใช้วิธีที่สองและเขียนอัลกอริธึมสำหรับ MongoDB พวกเขาสามารถย้ายไปที่ Hadoop ได้ในภายหลังด้วยการปรับเปลี่ยนที่จำเป็นเล็กน้อยและการออกแบบอัลกอริทึมใหม่หรือไม่? MongoDB รองรับ JavaScript แต่ความแตกต่างของภาษาการเขียนโปรแกรมนั้นง่ายต่อการจัดการ อย่างไรก็ตามมีความแตกต่างพื้นฐานในรูปแบบการลดแผนที่ของ MongoDB และ Hadoop ที่อาจบังคับให้เราออกแบบอัลกอริทึมใหม่อย่างมีนัยสำคัญสำหรับการย้ายไปยัง Hadoop หรือไม่?