Реляционных баз данных в течение долгого времени было достаточно для обработки небольших или средних наборов данных. Но колоссальная скорость роста данных делает традиционный подход к хранению и извлечению данных невозможным. Эта проблема решается новыми технологиями, которые могут обрабатывать большие данные. Hadoop, Hive и Hbase - популярные платформы для работы с такими большими наборами данных. Базы данных NoSQL или Not Only SQL, такие как MongoDB, предоставляют механизм для хранения и извлечения данных в модели согласованности проигравших с такими преимуществами, как:
- Горизонтальное масштабирование
- Более высокая доступность
- Более быстрый доступ
Группа инженеров MongoDB недавно обновила соединитель MongoDB для Hadoop, чтобы обеспечить лучшую интеграцию. Это упрощает пользователям Hadoop:
- Интегрируйте данные из MongoDB в реальном времени с Hadoop для глубокой офлайн-аналитики.
- Коннектор предоставляет аналитическую мощь MapReduce Hadoop для данных приложений в реальном времени из MongoDB, повышая эффективность больших данных быстрее и эффективнее.
- Connector представляет MongoDB как Hadoop-совместимую файловую систему, позволяющую заданию MapReduce читать из MongoDB напрямую, без предварительного копирования его в HDFS (файловую систему Hadoop), тем самым устраняя необходимость перемещать терабайты данных по сети.
- Задания MapReduce могут передавать запросы как фильтры, избегая необходимости сканировать целые коллекции, а также могут использовать преимущества богатых возможностей индексирования MongoDB, включая геопространственный, текстовый поиск, массивы, составные и разреженные индексы.
- При чтении из MongoDB результаты заданий Hadoop также могут быть записаны обратно в MongoDB для поддержки операционных процессов в реальном времени и специальных запросов.
Примеры использования Hadoop и MongoDB:
Давайте посмотрим на высокоуровневое описание того, как MongoDB и Hadoop могут работать вместе в типичном стеке больших данных. В первую очередь у нас есть:
- MongoDB используется как «Оперативное» хранилище данных в реальном времени
- Hadoop для автономная пакетная обработка и анализ данных
Читайте дальше, чтобы узнать почему и как MongoDB использовалась такими компаниями и организациями, как Aadhar, Shutterfly, Metlife и eBay .
Применение MongoDB с Hadoop в пакетной агрегации:
В большинстве сценариев встроенных функций агрегирования, предоставляемых MongoDB, достаточно для анализа данных. Однако в некоторых случаях может потребоваться значительно более сложное агрегирование данных. Именно здесь Hadoop может предоставить мощную платформу для сложной аналитики.
В этом сценарии:
хэш-карта и хеш-таблица в java
- Данные извлекаются из MongoDB и обрабатываются в Hadoop с помощью одного или нескольких заданий MapReduce. Данные также могут быть получены из других мест в рамках этих заданий MapReduce для разработки решения с несколькими источниками данных.
- Выходные данные этих заданий MapReduce можно затем записать обратно в MongoDB для запроса на более позднем этапе и для любого анализа на разовой основе.
- Таким образом, приложения, созданные на основе MongoDB, могут использовать информацию из пакетной аналитики для представления конечному клиенту или для включения других нисходящих функций.
Применение в хранилищах данных:
В типичной производственной установке данные приложения могут находиться в нескольких хранилищах данных, каждое со своим собственным языком запросов и функциями. Чтобы упростить эти сценарии, Hadoop можно использовать как хранилище данных и действовать как централизованный репозиторий для данных из различных источников.
В таком сценарии:
- Периодические задания MapReduce загружают данные из MongoDB в Hadoop.
- Как только данные из MongoDB и других источников станут доступны в Hadoop, можно будет запросить больший набор данных.
- Аналитики данных теперь могут использовать MapReduce или Pig для создания заданий, которые запрашивают большие наборы данных, включающие данные из MongoDB.
Команда, работающая над MongoDB, убедилась, что благодаря своей обширной интеграции с технологиями больших данных, такими как Hadoop, он может хорошо интегрироваться в стек больших данных и помогает решать некоторые сложные архитектурные проблемы, когда дело доходит до хранения, извлечения, обработки, агрегирования и хранения данных. . Следите за обновлениями в нашей предстоящей публикации о перспективах карьерного роста для тех, кто использует Hadoop вместе с MongoDB. Если вы уже работаете с Hadoop или просто выбираете MongoDB, обязательно ознакомьтесь с курсами, которые мы предлагаем для MongoDB.