Tartalomjegyzék:
Meghatározás - Mit jelent a MongoDB?
A MongoDB egy platformközi és nyílt forrású dokumentum-orientált adatbázis, egyfajta NoSQL adatbázis. NoSQL adatbázisként a MongoDB elkerüli a relációs adatbázis táblázatszerkezetét a JSON-szerű dokumentumok adaptálására, amelyek dinamikus sémákkal rendelkeznek, amelyeket BSON-nak hív.
Ez gyorsabbá és könnyebbé teszi az egyes alkalmazástípusok adatintegrációját. A MongoDB a méretezhetőség, a magas rendelkezésre állás és a teljesítmény érdekében épül fel, egyetlen kiszolgáló telepítésétől kezdve a nagy és összetett több helyszíni infrastruktúráig.
A Techopedia magyarázza a MongoDB-t
A MongoDB-t először a 10-es néven ismert MongoDB Inc. fejlesztette ki 2007. októberében, eredetileg a Windows Azure-hoz és a Google App Engine-hez hasonló PaaS (Platform as a Service) termék fő részeként. A fejlesztést 2009-ben nyílt forráskódra váltották át.
A MongoDB lett az egyik legnépszerűbb NoSQL adatbázis, amelyet háttérképként használtak számos nagyobb weboldalhoz, beleértve az eBay-t, a Craigslistot, a SourceForge-t és a The New York Times-t. A MongoDB a GNU Affero General Public licence alatt érhető el, míg a nyelvi illesztőprogramjai az Apache licenc alatt érhetők el. Kereskedelmi engedélyeket is kínálnak.
A MongoDB jellemzői:
- Ad hoc lekérdezések - támogatja a mező szerinti keresést, a reguláris kifejezéses kereséseket és a tartomány lekérdezéseket.
- Indexelés - a BSON dokumentum bármely mezője indexálható.
- Replikáció - magas rendelkezésre állást biztosít replikák készletein keresztül, amely két vagy több eredeti példányból áll.
- Terheléskiegyenlítés - a sharding az a módszer, amellyel a MongoDB vízszintesen méretezhető, vagyis az adatokat elosztják és tartományokra osztják, majd különféle rétegekben tárolják, amelyek különböző szerverekön helyezkedhetnek el. A shard-kulcsokkal meghatározzák az adatok elosztását.
- Összesítés - A MapReduce alkalmazható az adatok kötegelt feldolgozására, valamint az összesítési műveletek végrehajtására.
- Fájl tárolása - A MongoDB fájlrendszerként használható, amely felhasználja a fenti funkciókat és elosztott módon működik a szétosztással.