MongoDB a možnosti ukládaných dat

David Marko  25 July 2014 06:17:00
V předchozím článku jsme zmínili praktické použití MongoDB databáze jako dokumentově orientovaného úložiště podobného databázi Lotus Notes. Lotus Notes databáze se podobně jako MongoDB řadí v dnešní terminologii do oblasti tzv. NoSQL databází, Kromě mnoha jiných věcí umožňuje data ukládat bez pevného schématu což poskytuje velmi pružný vývoj a kooperaci s daty z jiných systémů. Záznamy v MongoDB databázi mohou obsahovat pole různého typu dle potřeby použití, podívejme se na některá z nich.

Na obrázku níže je uvedena struktura záznamu / dokumentu z databáze MongoDB. Data jsou uložena v JSON formátu, což zajišťuje dobrou prohlížítelnost. Jako příklad jsme vytvořili záznam, který obsahuje různé varianty polí. Podívejme se na jednolitvé možnosti:

a) _id - unikátní identifikátor (může být automaticky generován nebo převzat např. jako ID z Lotus Notes databáze)
b) last_modified - datumová položka
c) status - prostý text
d) total - číselná položka

e) categories - vícehodnotové pole. Hodnotami mohou být texty, čísla, datumy nebo jejich kombinace. Na jednotlivé položky pole lze samostatně přistupovat nebo v nich prohledávat

f) items - vícehodnotové pole, kde jsou jednotlivé položky tvořeny řádky s vícero poli. Tímto způsobem je možno do jednoho dokumentu vložit jak hlavní tak i související informace. Dle praktického použití je tak možno mít např. dokument objednávky, na kterém jsou uvedeny i její jednotlivé položky, nebo záznam o produktu i se seznamem hodnocení od uživatelů. S jednotlivými řádky pole je opět možno samostatně pracovat (měnit, přidávat, odebírat)  a prohledávat v nich.

g) delivery_location - číselné údaje označující GPS souřadnice nějaké lokality. MongoDB obsahuje možnost vytvoření indexu pro GEO location vyhledávání. Máme-li na záznamu takovéto údaje, pak po vytvoření GEO indexu se můžeme dotazovat způsobem např. "hledám záznamy 50km od dané lokace"

Obecná výhoda použití JSON formátu se pak projevuje i v možnosti 'jednoduchého' importu existujících dat nebo jejich exportu z MongoDB. JSON formát je textový a prohližitelný v běžných textových editorech.


Image:MongoDB a možnosti ukládaných dat
Comments
no comments availabe. Be the first!
TOPlist