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

Относно MongoDB

MongoDB е система за управление на база данни с отворен код (DBMS), която използва документно-ориентиран модел на данни. Счита се за NoSQL база данни, тъй като не използва релационния модел и следователно не използва SQL като свой език за заявки.

Документно-ориентираният модел позволява на MongoDB да съхранява полуструктурирани данни, които не изискват фиксирана схема. Може да постигне това чрез използването на JSON документи.

MongoDB се използва от някои от най-големите компании в света, включително Facebook, Google, Nokia, MTV Networks, Cisco, Forbes и много други.

MongoDB също е многоплатформена СУБД, която в момента поддържа Windows, Mac, Solaris и различни Linux дистрибуции към момента на писане.

Базата данни MongoDB е различна от релационната база данни по това, че MongoDB използва документно-ориентиран модел за съхранение на данни. В документно-ориентирания модел данните се съхраняват в документи от колекция. В релационния модел данните се съхраняват в редове на таблица.

Колекциите

В MongoDB колекцията е група документи. Колекцията обикновено съдържа документи, които имат подобна тема (като потребители, продукти, публикации и т.н.).

Следователно колекциите в много отношения са подобни на таблиците от релационния модел.

Документите

В MongoDB документите се съхраняват като JSON документи. JSON (JavaScript Object Notation) е стандарт, който улеснява обмена на данни. JSON документите са подобни на XML документите, тъй като данните могат да бъдат представени по йерархичен начин и могат да се четат както от хора, така и от компютри.

Ето пример за JSON документ. Ето как изглеждат документите в база данни MongoDB.

<пред>{ име на изпълнител:"Deep Purple", албуми :[ { албум :"Machine Head", година:1972 г., жанр:"рок" }, { албум :"Stormbringer", година:1974 г., жанр:"рок" } ] }

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

С помощта на JSON резултатите от заявките могат лесно да бъдат анализирани, с малка или никаква трансформация, директно от JavaScript и най-популярните езици за програмиране. Това е така, защото JSON документите използват конвенции за име/двойка и масиви, които са познати на повечето популярни езици за програмиране като C, C++, C#, Java, JavaScript, Perl, Python и много други. Това намалява количеството бизнес логика, която трябва да бъде вградена в приложения, които използват MongoDB.

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

Без схема

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

Това е в контраст с релационна база данни, където първо трябва да създадете схемата (т.е. да дефинирате таблици, колони, типове данни и т.н.), преди да въведете каквито и да било данни. Ако данните не се придържат към схемата, те не влизат в базата данни.

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


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Разделете низ в масив от поднизове или знаци в MongoDB

  2. Грешка с невалиден идентификатор на курсора на mongodb

  3. Как да проверя дали се използва индекс

  4. Как да сортирам масив в запис на колекция в MongoDB?

  5. сортиране по дължина на низа в Mongodb/pymongo