우리 회사에는 많은 비정형 데이터가 포함 된 MongoDB 데이터베이스가 있으며, 여기에는 보고서 및 기타 분석을 생성하기 위해 map-reduce 알고리즘을 실행해야합니다. 필요한 분석을 구현하기 위해 선택할 수있는 두 가지 방법이 있습니다.
한 가지 방법은 MongoDB에서 Hadoop 클러스터로 데이터를 추출하고 Hadoop 플랫폼에서 완전히 분석하는 것입니다. 그러나 플랫폼 (소프트웨어 및 하드웨어)을 준비하고 팀이 Hadoop과 함께 작업하고이를위한 맵 축소 작업을 작성하도록 교육하는 데 상당한 투자가 필요합니다.
또 다른 방법은 map-reduce 알고리즘 설계에 노력을 기울이고 MongoDB map-reduce 기능에서 알고리즘을 실행하는 것입니다. 이렇게하면 보고서를 생성 할 수있는 초기 시스템의 초기 프로토 타입을 만들 수 있습니다. MongoDB의 map-reduce 기능이 Hadoop에 비해 훨씬 느리다는 것을 알고 있지만 현재 데이터는 크지 않아 적어도 6 개월 동안 병목 현상을 일으키지 않습니다.
문제는 두 번째 접근 방식을 사용하고 MongoDB 용 알고리즘을 작성하는 데 나중에 필요한 수정 및 알고리즘 재 설계가 거의없이 Hadoop으로 이식 될 수 있습니까? MongoDB는 JavaScript 만 지원하지만 프로그래밍 언어 차이를 쉽게 처리 할 수 있습니다. 그러나 MongoDB와 Hadoop의 맵 축소 모델에 근본적인 차이점이 있습니까? Hadoop으로 이식하기 위해 알고리즘을 실질적으로 다시 디자인해야 할 수도 있습니까?