sql >> Databáze >  >> NoSQL >> MongoDB

O MongoDB

MongoDB je systém správy databází s otevřeným zdrojovým kódem (DBMS), který využívá datový model orientovaný na dokumenty. Je považována za NoSQL databázi, protože nepoužívá relační model, a proto nepoužívá SQL jako svůj dotazovací jazyk.

Model orientovaný na dokumenty umožňuje MongoDB ukládat polostrukturovaná data, která nevyžadují pevné schéma. Toho lze dosáhnout pomocí dokumentů JSON.

MongoDB používají některé z největších společností na světě, včetně Facebooku, Google, Nokia, MTV Networks, Cisco, Forbes a mnoha dalších.

MongoDB je také multiplatformní DBMS, v současné době podporuje Windows, Mac, Solaris a různé distribuce Linuxu v době psaní tohoto článku.

Databáze MongoDB se liší od relační databáze v tom, že MongoDB používá k ukládání dat model orientovaný na dokumenty. V dokumentově orientovaném modelu jsou data uložena v dokumentech kolekce. V relačním modelu jsou data uložena v řádcích tabulky.

Sbírky

V MongoDB je kolekce skupina dokumentů. Kolekce obvykle obsahuje dokumenty, které mají podobné téma (jako uživatelé, produkty, příspěvky atd.).

Kolekce jsou proto v mnoha ohledech podobné tabulkám z relačního modelu.

Dokumenty

V MongoDB jsou dokumenty uloženy jako JSON dokumenty. JSON (JavaScript Object Notation) je standard, který usnadňuje výměnu dat. Dokumenty JSON jsou podobné dokumentům XML v tom, že data lze prezentovat hierarchickým způsobem a mohou je číst lidé i počítače.

Zde je příklad dokumentu JSON. Takto vypadají dokumenty v databázi MongoDB.

{
    artistname : "Deep Purple",
    albums : [
                {
                    album : "Machine Head",
                    year : 1972,
                    genre : "Rock"
                }, 
                {
                    album : "Stormbringer",
                    year : 1974,
                    genre : "Rock"
                }
            ]
}

_id pole je jedinečný identifikátor dokumentu. MongoDB umožňuje pomocí tohoto pole načíst/odkazovat každý dokument. Můžete to dodat nebo nechat MongoDB, aby to vygenerovalo.

Pomocí JSON lze výsledky dotazů snadno analyzovat, s malou nebo žádnou transformací, přímo pomocí JavaScriptu a nejoblíbenějších programovacích jazyků. Je to proto, že dokumenty JSON používají název/pár a konvence pole, které jsou známé většině oblíbených programovacích jazyků, jako jsou C, C++, C#, Java, JavaScript, Perl, Python a mnoho dalších. To snižuje množství obchodní logiky, kterou je třeba zabudovat do aplikací využívajících MongoDB.

V zákulisí MongoDB ve skutečnosti ukládá dokumenty JSON v binárně kódovaném formátu zvaném BSON. BSON rozšiřuje JSON podporou dalších datových typů a je efektivní pro kódování a dekódování v různých jazycích.

Bez schématu

Každý dokument JSON v kolekci může obsahovat svou vlastní strukturu. Proto neexistuje žádné pevné schéma, které by omezovalo typ dat, která lze zadávat do databáze MongoDB.

To je na rozdíl od relační databáze, kde musíte nejprve vytvořit schéma (tj. definovat tabulky, sloupce, datové typy atd.), než zadáte jakákoli data. Pokud data neodpovídají schématu, nedostanou se do databáze.

V databázi MongoDB neexistuje žádné pravidlo, které by říkalo, která pole nebo kolik polí by měl mít každý dokument. Jeden dokument z kolekce může například obsahovat jméno, adresu a telefonní číslo, zatímco jiný dokument může obsahovat jméno a e-mailovou adresu.


  1. mongoDB upsert na pole

  2. Nejrychlejší MongoDB na Azure!

  3. MongoDB Object.bsonSize()

  4. Jak záleží na pořadí složených indexů ve výkonu MongoDB?