MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

MongoDB® с Hadoop и свързаните с тях технологии за големи данни

Релационните бази данни за дълго време бяха достатъчни за обработка на малки или средни набори от данни. Но колосалната скорост, с която нарастват данните, прави традиционния подход към съхранението и извличането на данни неосъществим. Този проблем се решава чрез по-нови технологии, които могат да обработват големи данни. 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.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongodb агрегиращо сортиране

  2. Как мога да преоразмеря колекция, ограничена от mongodb, без да загубя данни?

  3. Как да валидирам членове на поле на масив?

  4. Лошо ли е да промените типа _id в MongoDB на цяло число?

  5. MongoDB:Фатална грешка:Клас „MongoClient“ не е намерен