Array ( [0] => 15595237 [id] => 15595237 [1] => cswiki [site] => cswiki [2] => MongoDB [uri] => MongoDB [3] => [img] => [4] => [day_avg] => [5] => [day_diff] => [6] => [day_last] => [7] => [day_prev_last] => [8] => [oai] => [9] => [is_good] => [10] => [object_type] => [11] => 1 [has_content] => 1 [12] => [oai_cs_optimisticky] => ) Array ( [0] => {{Infobox - software [1] => | jméno = MongoDB [2] => | vývojář = [[MongoDB Inc.]] [3] => | operační systém = multiplatformní [4] => | licence = SSPL v1 (drivers: Apache license) [5] => | web = {{URL|https://www.mongodb.org}} [6] => }} [7] => '''MongoDB''' (z anglického ''humongous'', česky ''obrovský'') je multiplatformní dokumentová databáze. Řadí se mezi [[NoSQL]] databáze a místo tradičních [[relační databáze|relačních databází]] využívajících tabulky používá dokumenty podobné formátu [[JavaScript Object Notation|JSON]] (MongoDB formát nazývá [[BSON]]) a dynamické databázové schéma, které umožňuje vytváření a integraci dat pro aplikace jednodušeji a rychleji. Jedná se o [[Otevřený software|open source]] software vydaný pod [[Affero General Public License|GNU Affero General Public License]] a [[Apache Licence|Apache licencemi]]. [8] => [9] => MongoDB byla původně vyvinuta softwarovou společností 10gen (nyní [[MongoDB Inc.]]) v listopadu 2007 jako komponenta plánovaného [[PaaS|platforma jako služba]] produktu. V roce 2009 se z projektu stal opensource. 10gen nabízel komerční podporu a další služby.{{cite web|title=10gen embraces what it created, becomes MongoDB Inc.|url=http://gigaom.com/2013/08/27/10gen-embraces-what-it-created-becomes-mongodb-inc/|work=Gigaom|accessdate=27 August 2013}} Od té doby bylo MongoDB implementováno jako [[backend]] řešení množstvím velikých stránek a služeb včetně stránek [[Craiglist]], [[eBay]], [[Foursquare]], [[SourceForge]], [[Viacom]] a [[The New York Times|New York Times]]. MongoDB je nejpopulárnější NoSQL [[databázový systém]]. [10] => [11] => == Licence a podpora == [12] => MongoDB je k dispozici zdarma pod licencí Server Side Public License (SSPL){{Citace elektronické monografie [13] => | titul = Server Side Public License [14] => | url = https://www.mongodb.com/licensing/server-side-public-license [15] => | vydavatel = MongoDB [16] => | datum_vydání = 2018-09-16 [17] => | datum_přístupu = 2022-05-10 [18] => | jazyk = anglicky [19] => }}, do října 2018 bylo dostupné pod [[Affero General Public License|GNU Affero General Public License]]{{Citace elektronické monografie [20] => | titul = The AGPL [21] => | url = https://www.mongodb.com/blog/post/the-agpl [22] => | vydavatel = MongoDB Blog [23] => | datum_vydání = 2009-05-05 [24] => | datum_přístupu = 2019-09-15 [25] => | jazyk = anglicky [26] => }}. Jazykové ovladače jsou dostupné pod [[Apache Licence]]. Dále MongoDB Inc. nabízí proprietární licence pro MongoDB. [27] => [28] => == Hlavní funkce == [29] => Mezi hlavní funkce patří:[http://www.mongodb.org/display/DOCS/Manual MongoDB Developer Manual] [30] => ;Orientace na dokumenty [31] => :Místo rozpadu bussiness subjektu do množství relačních struktur, MongoDB může ukládat bussiness subject v minimálním množství dokumentů. Například místo ukládání informace o názvu a autorovi knihy ve dvou relačních strukturách, mohou být název, autor a ostatní informace týkající se knihy v jednom dokumentu s názvem Kniha, který je více intuitivní a často se s ním lépe pracuje.{{Citace elektronického periodika |titul=Data Modeling for MongoDB |url=http://www.technicspub.com/product.sc;jsessionid=2C874BF93727F3F4751DDFF7B0105B0B.m1plqscsfapp04?productId=73&categoryId=1 |datum přístupu=2015-04-18 |url archivu=https://web.archive.org/web/20140904050141/http://www.technicspub.com/product.sc;jsessionid=2C874BF93727F3F4751DDFF7B0105B0B.m1plqscsfapp04?productId=73&categoryId=1 |datum archivace=2014-09-04 |nedostupné=ano }} [32] => ;Neobsahuje schema [33] => :Nepotřebuje a ani nemá definované jednotné schéma. Každý záznam může mít jinou strukturu bez nutnosti/možnosti zahrnout toto do návrhu schématu jak je tomu u relačních databází. Což přináší jednodužší práci při ukládání dat. Na druhou stranu ale databáze nepomáhá validovat a udržovat v datech pořádek - pokud si validaci nenapíšete sami. [34] => ;Ad hoc dotazy [35] => :MongoDB podporuje hledání podle pole, rozsahové dotazy a hledání podle regulárních výrazů. Dotazy mohou vracet specifická pole dokumentu a také obsahovat uživatelsky definované [[JavaScript]]ové funkce. [36] => ;Indexace [37] => :Jakékoliv pole v MongoDB dokumentu může být [[Index (databáze)|indexované]] (Indexy v MongoDB jsou koncepčně stejné jako ty v [[Relační databáze|relačních databázích]]). Jsou dostupné i sekundární indexy. [38] => ;Replikace [39] => :MongoDB poskytuje vysokou dostupnost s pomocí sady replik (replica sets).[http://docs.mongodb.org/manual/core/replication-introduction/] Sada replik obsahuje dvě nebo více kopií dat. Každý člen sady replik může kdykoliv zastávat funkci primární nebo sekundární repliky. Primární replika implicitně provádí všechny čtecí a zapisovací operace. Sekundární repliky udržují kopii dat primární repliky s využitím vestavěné replikace. Když primární replika selže, sada replik automaticky provede proces výběru náhrady ze sekundárních replik. Sekundární repliky mohou také provádět čtecí operace, ale data jsou nakonec vždy konzistentní. [40] => ;Vyvažování zátěže [41] => :MongoDB se škáluje horizontálně pomocí shardingu.[http://docs.mongodb.org/manual/sharding/] Uživatel zvolí shard klíč, který rozhodne, jak bude kolekce dat distribuována. Data se dělí na rozsahy (podle shard klíče) a jsou distribuována mezi více shardů. (Shard existuje master s jedním nebo více slave.) [42] => :MongoDB může běžet na více serverech a vyvažovat zátěž nebo duplikovat data aby systém dále běžel v případě chyby hardwaru. Automatická konfigurace je jednoduchá na nasazení a nové počítače mohou být přidány při běhu databáze. [43] => ;Ukládání souborů [44] => :MongoDB může být použit jako [[souborový systém]] a tím využít vyvažování zátěže a replikace dat přes více počítačů. [45] => :Tato funkce, nazývaná [[GridFS]],{{Citace elektronické monografie [46] => | titul = GridFS [47] => | url = https://docs.mongodb.com/manual/core/gridfs/ [48] => | vydavatel = MongoDB Manual [49] => | datum_přístupu = 2019-09-15 [50] => | jazyk = anglicky [51] => }} je zahrnuta v MongoDB ovladačích a jednoduše dostupná pro vývojové jazyky. MongoDB umožňuje vývojářům využívat funkce pro manipulaci souborů a obsahu. GridFS je například využit v pluginech [[Nginx|NGINX]][http://github.com/mdirolf/nginx-gridfs NGINX plugin for MongoDB source code] a [[lighttpd]].{{Citace elektronického periodika |titul=lighttpd plugin for MongoDB source code |url=http://bitbucket.org/bwmcadams/lighttpd-gridfs/src/ |datum přístupu=2015-04-18 |url archivu=https://web.archive.org/web/20110807205643/https://bitbucket.org/bwmcadams/lighttpd-gridfs/src/ |datum archivace=2011-08-07 }} Místo ukládání souborů v jednom dokumentu, GridFS soubor rozdělí na více částí (kusů) a každou část uloží jako nezávislý dokument.[http://www.expertstown.com/mongodb-overview/ Expertstown - MongoDB overview] [52] => :V MongoDB systému s více počítači mohou být soubory vícenásobně distribuovány a kopírovány v rámci více počítačů transparentně a tím vytvořit systém, který dokáže vyvažovat zátěž a zvládnout případné chyby. [53] => [54] => ;Agregace [55] => :[[MapReduce]] na dávkové zpracování dat a agregující operace. Agregační framework umožňuje uživatelům získat stejný druh výsledků jako na který se používá [[SQL]] GROUP BY příkaz. [56] => ;Vykonávání JavaScriptu na straně serveru [57] => :JavaScript může být použit v dotazech, agregačních funkcích (jako MapReduce) a být přímo odeslán do databáze, aby se provedl. [58] => ;Omezené kolekce [59] => :MongoDB podporuje kolekce s omezenou velikostí a nazývá je omezené kolekce (capped collections). Tento typ kolekcí udržuje pořadí vložení a pokud je specifikovaní velikost naplněna, chová se jako [[kruhová fronta]]. [60] => [61] => == Nedostatky, úskalí == [62] => Díky svým vlastnostem má ale i určitá omezení, či nedostatky. Například: [63] => [64] => * Neexistuje podpora pro relace mezi záznamy (inner/left/rig­ht/outer join). Je třeba si dělat ručně. [65] => * Špatná podpora pro transakce. [66] => * Neobsahuje pevné schema, a s tím související validaci. [67] => * Žádná referenční integrita. [68] => * Global write lock. [69] => * Žádná pokročilá správa cache, používá se disková cache z OS. [70] => * Větší spotřeba místa na HDD kvůli nutné duplicitě. [71] => [72] => == Jazyková podpora == [73] => MongoDB oficiálně podporuje velké množství populárních programovacích jazyků a vývojových prostředí.{{cite web|url=http://www.mongodb.org/display/DOCS/Drivers |title=MongoDB Drivers and Client Libraries |publisher=Mongodb.org |date= |accessdate=2013-07-08}} Dále také existuje velké množství neoficiálních a komunitních ovladačů.{{cite web|url=http://docs.mongodb.org/ecosystem/drivers/community-supported-drivers/ |title=Community Supported Drivers |publisher=Mongodb.org |date= |accessdate=2014-07-09}} [74] => [75] => == Správa == [76] => [77] => === Oficiální MongoDB nástroje === [78] => V MongoDB instalaci jsou k dispozici následující příkazy: [79] => [80] => ;mongo [81] => :MongoDB nabízí interaktivní [[Shell (informatika)|shell]] nazývaný '''mongo''',{{Citace elektronického periodika |titul=mongo - The Interactive Shell |url=http://www.mongodb.org/display/DOCS/mongo+-+The+Interactive+Shell |datum přístupu=2015-04-18 |url archivu=https://web.archive.org/web/20121120125714/http://www.mongodb.org/display/DOCS/mongo+-+The+Interactive+Shell |datum archivace=2012-11-20 }} který umožňuje vývojářům zobrazovat, vkládat, mazat a aktualizovat data v jejich databázi, ale také získat informace o replikaci, nastavit sharding, vypnout servery, vykonat JavaScript a mnohem více. [82] => [83] => :Administrativní informace jsou také zpřístupněny přes webové rozhraní.{{Citace elektronického periodika |titul=HTTP Console |url=http://www.mongodb.org/display/DOCS/Http+Interface#HttpInterface-HTTPConsole |datum přístupu=2015-04-18 |url archivu=https://web.archive.org/web/20130129134335/http://www.mongodb.org/display/DOCS/Http+Interface#HttpInterface-HTTPConsole |datum archivace=2013-01-29 |nedostupné=ano }} Jedná se o jednoduchou webovou stránku, která poskytuje informace o současném stavu serveru. Implicitně je rozhraní dostupné pod portem o 1000 vyšším než databázový port (28017). [84] => [85] => ;mongostat [86] => :mongostat{{Citace elektronické monografie [87] => | titul = mongostat [88] => | url = https://docs.mongodb.com/manual/reference/program/mongostat/ [89] => | vydavatel = MongoDB Manual [90] => | datum_přístupu = 2019-09-15 [91] => | jazyk = anglicky [92] => }} je nástroj příkazové řádky, který zobrazí shrnující informace pro běžící MongoDB instanci: kolik vkládání, aktualizací, mazání, dotazů a příkazů bylo provedeno. Dále také informace o tom, kolik procent času byla databáze zamčena a kolik využívá paměti. Tento nástroj je podobný UNIXovému/LINUXovému nástroji [[vmstat]]. [93] => [94] => ;mongotop [95] => :mongotop{{Citace elektronické monografie [96] => | titul = mongotop [97] => | url = https://docs.mongodb.com/manual/reference/program/mongotop/ [98] => | vydavatel = MongoDB Manual [99] => | datum_přístupu = 2019-09-15 [100] => | jazyk = anglicky [101] => }} je nástroj příkazové řádky poskytuje možnost sledování kolik času MongoDB instance strávila čtením a zápisem dat. Tento nástroj je podobný UNIXovému/LINUXovému nástroji [[Top (Unix)|top]]. [102] => [103] => ;mongosniff [104] => :mongosniff{{Citace elektronické monografie [105] => | titul = mongosniff [106] => | url = https://docs.mongodb.com/manual/reference/program/mongosniff/ [107] => | vydavatel = MongoDB Manual [108] => | datum_přístupu = 2019-09-15 [109] => | jazyk = anglicky [110] => }} je nástroj příkazové řádky poskytující nízkoúrovňové sledování aktivit databáze skrze monitorování síťového provozu proudícího do a od MongoDB. [111] => mongosniff vyžaduje [[Libpcap]] síťovou knihovnu dostupnou pouze na systémech založených na UNIXu. Multiplatformní alternativa je [[Wireshark]], který podporuje MongoDB síťový protokol. [112] => [113] => ;mongooplog [114] => :mongooplog[http://docs.mongodb.org/manual/reference/program/mongooplog/] je jednoduchý nástroj, který spojí operace z replikačního oplogu vzdáleného serveru a aplikuje ho na lokální server. [115] => [116] => ;mongofiles [117] => :mongofiles{{Citace elektronické monografie [118] => | titul = mongofiles [119] => | url = https://docs.mongodb.com/manual/reference/program/mongofiles/ [120] => | vydavatel = MongoDB Manual [121] => | datum_přístupu = 2019-09-15 [122] => | jazyk = anglicky [123] => }} nástroj umožňuje manipulovat soubory v MongoDB instanci v GridFS[http://docs.mongodb.org/manual/core/gridfs/] objektech přes příkazovou řádku. Je převážně užitečný jako rozhraní mezi objekty ukládané na souborový systém a GridFS. [124] => [125] => ;mongoimport, mongoexport [126] => :mongoimport{{Citace elektronické monografie [127] => | titul = mongoimport [128] => | url = https://docs.mongodb.com/manual/reference/program/mongoimport/ [129] => | vydavatel = MongoDB Manual [130] => | datum_přístupu = 2019-09-15 [131] => | jazyk = anglicky [132] => }} je nástroj příkazové řádky pro import obsahu z JSON, CSV nebo TSV formátu vytvořených mongoexport{{Citace elektronické monografie [133] => | titul = mongoexport [134] => | url = https://docs.mongodb.com/manual/reference/program/mongoexport/ [135] => | vydavatel = MongoDB Manual [136] => | datum_přístupu = 2019-09-15 [137] => | jazyk = anglicky [138] => }} nebo jako exporty nástrojů třetích stran. [139] => [140] => ;mongodump, mongorestore [141] => :mongodump{{Citace elektronické monografie [142] => | titul = mongodump [143] => | url = https://docs.mongodb.com/manual/reference/program/mongodump/ [144] => | vydavatel = MongoDB Manual [145] => | datum_přístupu = 2019-09-15 [146] => | jazyk = anglicky [147] => }} je nástroj příkazové řádky pro vytváření binárních exportů obsahu MongoDB databáze. mongorestore[http://docs.mongodb.org/manual/reference/mongorestore/ mongorestore Manual] může být použit pro obnovení databáze z mongodump. [148] => [149] => == Příklady NoSQL databází == [150] => * [[CouchDB]] [151] => * [[FoundationDB]] [152] => * [[ArangoDB]] [153] => [154] => == Související články == [155] => * [[NoSQL]] [156] => * [[CAP teorém]] [157] => * [[ACID]] [158] => * [[Relační databáze]] [159] => * [[Velká data]] [160] => [161] => == Odkazy == [162] => [163] => === Externí odkazy === [164] => * {{Commonscat}} [165] => [166] => === Reference === [167] => [168] => [169] => === Bibliografie === [170] => * {{citation [171] => | first1 = Steve [172] => | last1 = Hoberman [173] => | author-link= Steve Hoberman [174] => | date = June 1, 2014 [175] => | title = Data Modeling for MongoDB [176] => | edition = 1st [177] => | publisher = [[Technics Publications]] [178] => | page = 226 [179] => | isbn = 978-1-935504-70-2 [180] => }} [181] => * {{citation [182] => | first1 = Kyle [183] => | last1 = Banker [184] => | date = March 28, 2011 [185] => | title = MongoDB in Action [186] => | edition = 1st [187] => | publisher = [[Manning]] [188] => | page = 375 [189] => | isbn = 978-1-935182-87-0 [190] => }} [191] => * {{citation [192] => | first1 = Kristina [193] => | last1 = Chodorow [194] => | first2 = Michael [195] => | last2 = Dirolf [196] => | date = September 23, 2010 [197] => | title = MongoDB: The Definitive Guide [198] => | edition = 1st [199] => | publisher = [[O'Reilly Media]] [200] => | page = 216 [201] => | isbn = 978-1-4493-8156-1 [202] => }} [203] => * {{citation [204] => | first1 = Mitch [205] => | last1 = Pirtle [206] => | date = March 3, 2011 [207] => | title = MongoDB for Web Development [208] => | edition = 1st [209] => | publisher = [[Addison-Wesley Professional]] [210] => | page = 360 [211] => | isbn = 978-0-321-70533-4 [212] => }} [213] => * {{citation [214] => | first1 = Tim [215] => | last1 = Hawkins [216] => | first2 = Eelco [217] => | last2 = Plugge [218] => | first3 = Peter [219] => | last3 = Membrey [220] => | date = September 26, 2010 [221] => | title = The Definitive Guide to MongoDB: The NoSQL Database for Cloud and Desktop Computing [222] => | edition = 1st [223] => | publisher = [[Apress]] [224] => | page = 350 [225] => | isbn = 978-1-4302-3051-9 [226] => }} [227] => {{Autoritní data}} [228] => [229] => [[Kategorie:Multiplatformní software]] [] => )
good wiki

MongoDB

MongoDB (z anglického humongous, česky obrovský) je multiplatformní dokumentová databáze. Řadí se mezi NoSQL databáze a místo tradičních relačních databází využívajících tabulky používá dokumenty podobné formátu JSON (MongoDB formát nazývá BSON) a dynamické databázové schéma, které umožňuje vytváření a integraci dat pro aplikace jednodušeji a rychleji.

More about us

About

Expert Team

Vivamus eget neque lacus. Pellentesque egauris ex.

Award winning agency

Lorem ipsum, dolor sit amet consectetur elitorceat .

10 Year Exp.

Pellen tesque eget, mauris lorem iupsum neque lacus.

You might be interested in

,'Apache Licence','Technics Publications','NoSQL','MongoDB Inc.','O\'Reilly Media','Apress','Affero General Public License','Relační databáze','Manning','Addison-Wesley Professional','souborový systém','vmstat'