Чуваме термина Big Data от доста време вече, но какво точно представлява това Big Data? Количеството данни, произведено от Интернет на нещата, се е увеличило драстично през годините и продължава да нараства с експоненциална скорост. Обработката на тези огромни обеми от данни, които не са подходящи за традиционните методи за обработка, се нарича Big Data. Този вид данни създава предизвикателства пред традиционните RDBMS системи, използвани за съхранение и обработка на данни. Мощта за обработка, необходима за своевременно съхранение и обработка на толкова много данни, е огромна. За да се реши този проблем, са необходими нови и подобрени решения за големи данни, които са специално разработени за обработка на големи неструктурирани данни. От многото технологии Hadoop и MongoDB са двата популярни избора, когато става въпрос за съхранение и обработка на големи данни. Макар и двамата да са доста сходни по същество с това, което правят, но подходът им за това как го правят е съвсем различен. Нека да разгледаме.
MongoDB е база данни с отворен код, превърнала се в фактическа база данни NoSQL с милиони потребители, от малки стартиращи компании до Fortune 500 компании. Водещите предприятия и потребителските ИТ компании използват възможностите на MongoDB в своите продукти и решения. Написано на C ++, MongoDB е крос-платформа, ориентирана към документи база данни, която ефективно се справя с ограниченията на бази данни, базирани на SQL схеми, като осигурява решения за висока производителност, висока наличност и лесна мащабируемост. Това е база данни, създадена за съвременната мрежа. Подобно на други бази данни NoSQL, MongoDB не спазва принципите на RDBMS без концепции за таблици, редове и колони. Той съхранява своите данни в BSON документи, където всички свързани данни са поставени заедно в един документ.
Hadoop е рамка с отворен код, предназначена за съхранение и обработка на огромни обеми от данни в групи от компютри. Това е приложения, базирани на Java и колекция от различен софтуер, който създава рамка за обработка на данни. Идеята е да се обработват данни от големи мащаби на разумна цена за възможно най-малко време. Hadoop се състои от три основни ресурса: разпределената файлова система (HDFS) на Hadoop, платформата за програмиране на Google MapReduce и цялата екосистема Hadoop. Екосистемата Hadoop се състои от модули, които помагат за програмиране на системата, управление и конфигуриране на клъстера, управление и съхраняване на данни в клъстера и изпълнение на аналитични задачи. Hadoop MapReduce подпомага анализа на данни за много големи количества както структурирани, така и неструктурирани данни. Hadoop е регистрирана търговска марка на Apache Software Foundaton, а MapReduce е нейната рамка за паралелна обработка.
- Макар и двете да се считат за решения с големи данни, MongoDB е основно платформа с общо предназначение, предназначена да замени или подобри съществуващите RDBMS системи. MongoDB е база данни с отворен код и една от водещите бази данни NoSQL, която използва документи, вместо редове и таблици, за да бъде гъвкава, мащабируема и бърза. Hadoop, от друга страна, е рамка с отворен код, предназначена за съхранение и обработка на огромни обеми от данни в групи от компютри. Hadoop не е предназначен да замени съществуващите RDBMS системи; всъщност той действа като допълнение за подпомагане на анализа на данни за обработка на големи обеми както структурирани, така и неструктурирани данни.
- Екосистемата Hadoop е съвкупност от инструменти, които използват или седят до платформата за програмиране MapReduce на Google и HDFS (разпределена файлова система Hadoop) за съхранение и организиране на данни и управление на машините, които управляват Hadoop. HDFS е предназначен за поточен достъп до данни. MongoDB, от друга страна, предлага различен подход; тя се базира на Nexus Architecture, която използва възможностите на NoSQL, като същевременно поддържа основата на релационни бази данни. Той съхранява данни като документи в двоично представяне, наречено BSON (Binary JSON), където те обикновено са организирани като колекции.
- Най-голямата сила на Hadoop е MapReduce. Днес Hadoop е най-добрата рамка на MapReduce на пазара. Концепцията зад MapReduce е, че входът може да бъде разделен на логически парчета, където всеки парче може да бъде обработен независимо от задача на карта. Задачата за карта може да се изпълнява на всеки изчислителен възел в клъстера и множество задачи за карта могат да се изпълняват паралелно в целия клъстер. MongoDB, от друга страна, е база данни за документи, която може да обработва товари, вариращи от стартиращи MVP и POCs до корпоративни приложения със стотици сървъри. MongoDB е нараснал от това, че е решение на базата данни на ниша към фактическата база данни NoSQL. Представата му за документи е наистина изразителна и гъвкава.
Макар и двамата да са доста сходни по същество с това, което правят, но подходът им за това как го правят е съвсем различен. MongoDB съхранява данните като документи в двоично представяне, наречено BSON, докато в Hadoop данните се съхраняват в блокове с фиксиран размер и всеки блок се дублира многократно в цялата система. Екосистемата Hadoop е съвкупност от инструменти, които използват или седят до платформата за програмиране MapReduce на Google, докато MongoDB, базирана на архитектурата Nexus, която използва възможностите на NoSQL, като същевременно поддържа основата на релационните бази данни.