Релационните бази данни за дълго време бяха достатъчни за обработка на малки или средни набори от данни. Но колосалната скорост, с която данните нарастват, прави традиционния подход за съхранение и извличане на данни невъзможен. Този проблем се решава от по-нови технологии, които могат да се справят с големи данни. Hadoop, Hive и Hbase са популярните платформи за управление на този вид големи масиви от данни. NoSQL или не само SQL бази данни като MongoDB осигуряват механизъм за съхранение и извличане на данни в модел на последователност на загубени с предимства като:
- Хоризонтално мащабиране
- По-висока наличност
- По-бърз достъп
Инженерният екип на MongoDB наскоро актуализира конектора MongoDB за Hadoop, за да има по-добра интеграция. Това улеснява потребителите на Hadoop:
- Интегрирайте данни в реално време от MongoDB с Hadoop за задълбочена, офлайн аналитика.
- Конекторът излага аналитичната мощ на MapReduce на Hadoop за актуални данни от приложения от MongoDB, като по-бързо и по-ефективно управлява стойността от големите данни.
- Connector представя MongoDB като Hadoop-съвместима файлова система, позволяваща на MapReduce да чете директно от MongoDB, без първо да го копира в HDFS (файлова система Hadoop), като по този начин премахва необходимостта от преместване на терабайта от данни в мрежата.
- Задачите на MapReduce могат да предават заявки като филтри, като по този начин се избягва необходимостта от сканиране на цели колекции, а също така могат да се възползват от богатите възможности за индексиране на MongoDB, включително геопространствено, текстово търсене, масив, съставни и оскъдни индекси.
- Четенето от MongoDB, резултатите от заданията на Hadoop също могат да бъдат изведени обратно към MongoDB, за да се поддържат оперативни процеси в реално време и ad-hoc заявки.
Случаи на използване на Hadoop и MongoDB:
Нека да разгледаме описание на високо ниво за това как MongoDB и Hadoop могат да се съберат заедно в типичен стек за големи данни. На първо място имаме:
логистична регресия в пример на python
- MongoDB се използва като „Оперативно“ съхранение на данни в реално време
- Hadoop за офлайн пакетна обработка и анализ на данни
Прочетете, за да разберете защо и как MongoDB се използва от компании и организации като Aadhar, Shutterfly, Metlife и eBay .
Приложение на MongoDB с Hadoop при групово агрегиране:
В повечето сценарии вградената функционалност за агрегиране, предоставена от MongoDB, е достатъчна за анализ на данни. Въпреки това в някои случаи може да е необходимо значително по-сложно обобщаване на данни. Това е мястото, където Hadoop може да предостави мощна рамка за сложен анализ.
В този сценарий:
- Данните се изтеглят от MongoDB и се обработват в Hadoop чрез една или повече задания MapReduce. Данните могат да бъдат получени и от други места в рамките на тези задания на MapReduce, за да се разработи решение за източник на множество данни.
- След това изходът от тези задания на MapReduce може да бъде записан обратно в MongoDB за заявки на по-късен етап и за всеки анализ на ad hoc основа.
- Следователно приложенията, изградени върху MongoDB, могат да използват информацията от груповия анализ, за да представят на крайния клиент или да активират други функции надолу по веригата.
Приложение в складирането на данни:
В типична производствена настройка данните на приложението могат да се намират в множество хранилища за данни, всеки със собствен език за заявки и функционалност. За да се намали сложността в тези сценарии, Hadoop може да се използва като хранилище за данни и да действа като централизирано хранилище за данни от различните източници.
В този вид сценарий:
- Периодично MapReduce заданията зареждат данни от MongoDB в Hadoop.
- След като данните от MongoDB и други източници са налични в Hadoop, по-големият набор от данни може да бъде поискан.
- Анализаторите на данни вече имат възможността да използват MapReduce или Pig за създаване на работни места, които заявяват по-големите набори от данни, които включват данни от MongoDB.
как да приключите програма
Екипът, работещ зад MongoDB, е гарантирал, че с богатата си интеграция с технологиите за големи данни като Hadoop, той е в състояние да се интегрира добре в стека за големи данни и да помогне за решаването на някои сложни архитектурни проблеми, когато става въпрос за съхранение на данни, извличане, обработка, агрегиране и складиране . Следете за нашия предстоящ пост относно перспективите за кариера за онези, които започват Hadoop с MongoDB. Ако вече работите с Hadoop или просто вземате MongoDB, разгледайте курсовете, които предлагаме за MongoDB