Организациите се сблъскват всеки ден с нови предизвикателства, за да предоставят непрекъснато нова бизнес функционалност чрез внедряване на нови ИТ процеси като Agile и DevOps и приемане на нови архитектури като облак и микроуслуги. За да се приведем в съответствие с всичко това, се нуждаем от нова концепция за база данни, която може да управлява огромно увеличение на бързо променящите се типове данни и да може да работи с данни навсякъде, където се съхраняват от страна на клиента и от страната на слоя данни.
Така че базите данни NoSQL „Не само SQL“ са проектирани да отговорят на тези предизвикателства. MongoDB е водещата NoSQL база данни и база данни с документи с отворен код.
В тази статия ще обясним концепциите на MongoDB, ще дадем представа за неговите предимства и терминология и къде можем да го приложим.
Предимства на MongoDB:
Платформата за данни на MongoDB се основава на две принципни концепции:
- База данни с документи :MongoDB използва документа като модел на данни, който е подобен на JSON обекти. Това е структура от данни, съставена от двойки полета и стойности. Стойностите могат да включват поддокументи, масиви и масиви от документи; които намаляват нуждата от скъпи съединения. Използвайки този модел на данни, ще бъде по-бързо и по-лесно да се моделира как обектите на приложението ще се съпоставят с данни, тъй като той съответства на естествени типове данни. Освен лекотата на използване, документите са гъвкави, тъй като можем да модифицираме нашата схема по всяко време, тя е полиморфна, тъй като документите могат да имат различни структури в сравнение с други документи в същата колекция и е разширяема:ние моделираме данни по всякакъв начин приложение го изисква.
- Разпределени данни: MongoDB предлага възможност за мащабиране на системата и разпространение на данни за потребителски достъп с ниска латентност. Внедряването на техники за „Разделяне“ и „Набори от реплики“ улеснява разпространението на данни и разширяване на внедряването ни чрез евтин хардуер.
Основна терминология:
MongoDB съхранява BSON документи в колекции; колекциите в базата данни. Един сървър на MongoDB обикновено има множество бази данни. Всяка база данни получава свой собствен набор от файлове във файловата система като формат на колекции. Всяка колекция е набор от документи. Едно от основните предимства на колекцията е липсата на налагане на схеми и в същото време имаме динамична схема. Динамичната схема означава, че документите в една и съща колекция не трябва да имат един и същ набор от полета или структура, а общите полета в документите на колекция може да съдържат различни типове данни.
Следната фигура показва терминологията на съответствието на Релационна база данни с MongoDB:
Език на заявката:
Както RDBMS (Oracle и MySQL), така и MongoDB имат богат език за заявки.
Следната фигура показва съответствието на RDBMS и MongoDb на езика за заявки:
Внедряване:
За да се възползваме от MongoDB, можем да изберем внедряване на MongoDB в тези полета:
- Каталог с продукти за електронна търговия
- Блогове, управление на съдържанието и доставка
- Мобилна и социална инфраструктура
- Големи данни
- Управление на потребителски данни
- Хъб за данни