Релационните бази данни за дълго време бяха достатъчни за обработка на малки или средни набори от данни. Но колосалната скорост, с която нарастват данните, прави традиционния подход към съхранението и извличането на данни неосъществим. Този проблем се решава чрез по-нови технологии, които могат да обработват големи данни. Hadoop, Hive и Hbase са популярните платформи за работа с този вид големи масиви от данни. Базите данни NoSQL или Not Only SQL като MongoDB® предоставят механизъм за съхраняване и извличане на данни в модел на последователност на губещи с предимства като:
- Хоризонтално мащабиране
- По-висока наличност
- По-бърз достъп
Инженерният екип на MongoDB® наскоро актуализира MongoDB® конектора за Hadoop, за да има по-добра интеграция. Това улеснява потребителите на Hadoop да:
- Интегрирайте данни в реално време от MongoDB® с Hadoop за дълбок, офлайн анализ.
- Конекторът разкрива аналитичната сила на MapReduce на Hadoop на живи данни от приложения от MongoDB®, като по-бързо и по-ефективно стимулира стойността от големи данни.
- Конекторът представя MongoDB като съвместима с Hadoop файлова система, позволяваща на задание MapReduce да чете директно от MongoDB®, без първо да го копира в HDFS (файлова система Hadoop), като по този начин премахва необходимостта за преместване на терабайти данни в мрежата.
- Заданията на MapReduce могат да предават заявки като филтри, така че избягват необходимостта от сканиране на цели колекции, а също така могат да се възползват от богатите възможности за индексиране на MongoDB®, включително геопространствени, текстови търсене, масив, съставни и разредени индекси.
- Четейки от MongoDB®, резултатите от задачите на Hadoop също могат да бъдат записани обратно в MongoDB®, за да поддържат оперативни процеси в реално време и ad-hoc заявки.
Случаи на използване на Hadoop и MongoDB®:
Нека да разгледаме описание на високо ниво за това как MongoDB® и Hadoop могат да се съберат в типичен стек от големи данни. Предимно имаме:
- MongoDB®, използван като „Оперативно“ хранилище на данни в реално време
- Hadoop за офлайн обработка и анализ на пакетни данни
Прочетете, за да разберете защо MongoDB е базата данни за обработка на големи данни икак 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® тук
Разгледайте повече за концепциите на Hadoop. Вижте този онлайн курс за големи данни , който е създаден от Top Industrial Working Experts.