Моля изчакайте....

MongoDb

341

6 мин.

1.09.2021 г.

История на MongoDB


Името Mongo идва от английската дума humongous, което в превод означава огромен, представяйки идеята за съхранение на големи количества данни.

MongoDB е създаден, с цел решаване на различни проблеми, които програмистите са срещали при разработката на web-scale апликации.

Откривателите,  Dwight Merriman, Eliot Horowitz и Kevin Ryan, са имали за цел да създадат база данни, която ще бъде обичана от програмистите и ще прекрачи бариерата на релационните системи за управление на база данни (RDBMS), използвайки SQL.


Какво е MongoDB


MongoDB е база данни с отворен код, построена върху архитектура с хоризонтално скалиране. Тя се появява за пръв път през 2007 година и от тогава е популярна сред разработчици по целия свят. 

Ако в SQL, данните се съхраняват в таблици с редове и колони, в MongoDB, всеки ред е отделен документ описан в JSON формат.

Базата данни е изключително гъвкава, позволявайки различни вариации в структурата на документа, както и съхранение на незавършени документи. Също така, в един документ, може да бъде вграден друг такъв.

Полетата в документа, играят ролята на колоните в SQL и могат да бъдат индексирани за да увеличат производителността при търсене.

За много разработчици, едно от основните предимства на MongoDB, е възможността за лесна промяна на структурата на базата данни.

От самото начало, MongoDB е построен на scale-out архитектура. Тази структура позволява създаването на бързи системи, които работят с огромни количества данни.

Основна цел на MongoDB винаги е била, да предоставя на разработчиците перфектно потребителско преживяване, което го прави предпочитан избор при създаването на различни апликации.


Компоненти


_id - Това е един от задължителните компоненти на MongoDB, който представя уникалните стойности в документа. Ако при създаването на нов документ, не бъде създадено _id поле, MongoDB ще го създаде автоматично.


Колекция - Колекцията е група от MongoDB документи. Една колекция е еквивалент на таблицата в други RDMS-и като Oracle и SQL.


База данни -Това е контейнерът за колекции. Всяка база данни има своя сет от файлове в системата. Сървърът на MongoDB може да съхранява няколко бази данни.


Документ - Това е един запис в колекция на MongoDB. Самият документ се състои от поле с име и стойности.


Поле - Полетата са еквивалента на колоните в другите бази данни. Един документ може да има нула или повече полета.


JSON - Това е четим, текстов формат, използван за изразяване на структурирани данни, който се поддържа на множество програмни езици.



За какво се използва MongoDB


MongoDB може да бъде използван по различни начини, при разработката на апликации за онлайн магазини, управление на съдържание, логистика, банкиране, игри и IoT.

Технологията е предпочитана от много бизнеси, тъй като успява да реши голяма част от проблемите, свързани с управлението на данни и софтуерната разработка.


Нека разгледаме някои от проблемите, които MongoDb успява да реши.


Интегриране на големи количества данни


Ако проектът изисква събиране на данни от десетки или стотици различни източници, MongoDB успява да ги обедини в унифициран single-view. Това е нещо, което повечето бази данни не успяват да направят и е сред основните предимства на MongoDB.


Сложни структури


Базата данни позволява вграждане на документи, които описват структурите и толерират различните вариации на данните в документите. MongoDB поддържа различни формати данни, което води до устойчивост на хранилището.


Апликации с висока производителност


Scale-out архитектурата на MongoDB поддържа огромен брой транзакции на големи бази данни. Ако повечето бази данни не могат да поддържат подобно скалиране, без употребата на допълнителни компоненти, то MongoDB е създаден, за да реши този проблем.


Хибридна апликация


MongoDB може да бъде използван на десктоп, в огромен клъстер от компютри в център за данни или в облачно пространство. Технологията може да бъде инсталирана или използвана през MongoDB Atlas. 

Ако създавате апликация, която трябва да работи навсякъде, MongoDB поддържа всяка настояща и бъдеща конфигурация.


Колаборация


Разработчиците носят отговорност за данните, с които работят. Данните се превръщат в лесен за използване от разработчиците код, без да е необходима употребата на различни системи и работа със специалист. Освен това, документите позволяват развитие на структурата от данни. 

Сътрудничеството при управлението на база данни играе важна роля, позволявайки на един екип да контролира конкретна част от документа, докато друг екип, контролира друга.


Предимства 


База данни, ориентирана към документа


MongoDB поставя началото на NoSQL бази данни, създадена поради факта, че RDBMS системите, базирани на SQL, не поддържат скалиране и бързи цикли на разработка, необходими за създаването на модерни апликации. 

Документите в MongoDB са JSON и BSON файлове. JSON формата предоставя естествена форма за съхранение на данни, четим е, а структурирана и неструктурирана информация може да бъде съхранявана в един и същ документ.

Информационната структура е под контрола на разработчиците, което е едно от основните предимства на MongoDB. Програмистите регулират и преформатират базата данни, с развитието на апликацията 

BSON (Binary JSON) формат е създаден от MongoDB, с цел повишаване на ефикасността и поддържане на повече типове данни.


Потребителско преживяване


Доброто потребителско преживяване на разработчиците е в основата на MongoDB, още от самото начало. 

JSON форматът е предпочитан от програмистите, тъй като е едновременно лесен за използване и силен начин за описване и съхранение на данни. 

MongoDB е лесен за инсталация и употреба, спестява време на разработчиците и позволява използването на базата данни на различни езици, включително C++, Erlang, Haskell, JavaScript, PHP, Python и други. 

Колкото повече потребители се присъединяват към обществото на MongoDB, толкова повече функционалности биват добавени, за да поддържат неговите операции и употреба.


Скалиране


Scale-out архитектурата на MongoDB, позволява създаването на устойчиви апликации, които ще издържат при увеличение на трафика, в резултат от разрастването на бизнеса.

Освен това, MongoDB поддържа прехвърляне на база данни, позволявайки групиране на голяма част от промените, което е една от най-важните функции за поддръжка на сложни апликации.


Платформа и екосистема


MongoDB съществува вече повече от 13 години и е използван за разрешаване на различни проблеми в хиляди компании. В резултат на това, платформата се е разширила значително, за да отговаря на изискванията на съвременните разработчици. 

MongoDB има зад себе си огромно общество от програмисти, които взаимодействат помежду си, за да съдействат на различни компании, навсякъде по света.


Недостатъци


Както всяка друга система, MongoDB, освен предимства, има и своите недостатъци. 


Транзакции


Транзакциите се отнасят за процеса по оценка и елиминиране на нежелани данни. Въпреки че голяма част от апликациите не изискват подобни транзакции, има и такива, които имат нужда да обновят част от документите. Това е един от недостатъците на MongoDB, който би могъл да доведе до проблем с данните.


Добавяне


Добавянето на документи в MongoDB може да се окаже сложна задача, тъй като не поддържа добавените документи като релационна база данни.

Потребителите имат възможност да добавят тази функционалност, чрез ръчно добавяне на код.


Лимитиран размер на документите


MongoDB позволява добавяне на документи, не по-големи от 16MB. 


Дублиране


Още един недостатък на MongoDB е дублирането на данните, което затруднява управлението на данните, поради лошо дефинирани релации.


Памет


MongoDB изисква огромно количество свободна памет, поради липсата на някои функционалности, което води до дублиране на данните.


MongoDB платформа


MongoDB е достъпна и комерсиална версия на компанията MongoDB Inc. MongoDB Community Edition е с отворен код, докато MongoDB Enterprise Server предоставя добавени функционалности за защита, функции за администриране и автентикация, както и възможности за мониторинг през Ops Manager.

Графичния потребителски интерфейс, наречен MongoDB Compass дава на потребителите възможност да работят със структурата на документа, да управляват запитвания, да индексират данните и др. MongoDB Connector дава на разработчиците възможност да се свържат с базата данни на NoSQL, за да визуализират данните и да създават репорти, използвайки SQL.

През 2016 година се появи и MongoDB Atlas, който представлява cloud-базирана база данни. Atlas работи на AWS, Microsoft, Azure и Google Cloud. 


MongoDB е платформа създадена с цел, разрешаване на някои от често срещаните проблеми, които разработчиците срещат при създаване на различни типове апликации. Предимствата и със сигурност са много повече от недостатъците и точно това е причината, MongoDB да е предпочитана и използвана технология. 


Екипът на Evolution of Dreams се състои от специалисти в разработката на сайтове и апликации и с удоволствие ще намерим най-доброто решение за Вашия бизнес.  Свържете се с нас!

Какво казват за нас?

Оценката на нашите клиенти е най-
голямата ни награда!

Много хубав отзив от клиент

Име Фамилия
Оригинал

Много хубав отзив от клиент

Име Фамилия
Оригинал

Много хубав отзив от клиент

Име Фамилия
Оригинал

Имате ли нужда от мобилно приложение?
Ние можем да ви съдействаме!