У нашій компанії у нас є база даних MongoDB, що містить безліч неструктурованих даних, на якій нам потрібно запустити алгоритми зменшення карт для створення звітів та інших аналізів. У нас є два підходи для вибору необхідних аналізів:
Один із підходів - витягнути дані з MongoDB до кластеру Hadoop та зробити аналіз повністю на платформі Hadoop. Однак для цього потрібні значні інвестиції на підготовку платформи (програмного та апаратного забезпечення) та навчання команди працювати з Hadoop та писати завдання для зменшення карти.
Інший підхід полягає в тому, щоб просто поставити зусилля на розробку алгоритмів зменшення карт і запуск алгоритмів на MongoDB-функціональних карт-скорочення. Таким чином, ми можемо створити початковий прототип кінцевої системи, яка може генерувати звіти. Я знаю, що функції зменшення карт MongoDB значно повільніші порівняно з Hadoop, але в даний час дані не такі великі, що робить це вузьким місцем, принаймні не протягом наступних шести місяців.
Питання полягає в тому, що, використовуючи другий підхід та написання алгоритмів для MongoDB, чи можна їх пізніше перенести на Hadoop з мало необхідними модифікаціями та переробкою алгоритму? MongoDB просто підтримує JavaScript, але відмінності в мові програмування легко впоратися. Однак чи існують якісь принципові відмінності в моделі зменшення карт MongoDB та Hadoop, які можуть змусити нас значно змінити алгоритми для перенесення до Hadoop?