MongoDB

A Wikipédiából, a szabad enciklopédiából
MongoDB
Fejlesztő 10gen
Legfrissebb stabil
kiadás
2.4.0
(2013. március)
Legfrissebb fejlesztői kiadás ismeretlen +/-
Programozási nyelv C++
Operációs rendszer platformfüggetlen
Elérhető C++
Állapot aktív
Kategória Adatbázis-kezelő rendszer
Licenc GNU AGPL v3.0 (illesztőprogramok: ASL)
A MongoDB weboldala

A MongoDB egy nyílt forráskódú dokumentumorientált adatbázis szoftver, amelyet a 10gen fejleszt. A NoSQL adatbázisszerverek közé tartozik. A dokumentumokat JSON-szerű formátumban tárolja (BSON). A MongoDB-t olyan nagyobb felhasználók is használják, mint az MTV Networks,[1] a Craigslist[2] és a FourSquare.[3] A legnépszerűbb NoSQL adatbázis szoftver.

Története[szerkesztés]

A MongoDB fejlesztését 2007-ben kezdték a 10gen-nél, amikor a cég egy platform szolgáltatás fejlesztésén dolgozott.[4] 2009-ben a szoftvert nyílt forráskódúvá tették önálló termékként.

Az 1.4-es verzió 2010 márciusi kiadásával a fejlesztő csapat éles üzemre késznek tartja a terméket.[5]

Főbb tulajdonságok[szerkesztés]

Egy rövid összefoglaló a MongoDB főbb tulajdonságairól:

Ad-hoc lekérdezések
A MongoDB támogatja a keresést mező alapján, érték-tartomány alapján vagy reguláris kifejezéssel. A lekérdezések visszaadhatják a dokumentum egy meghatározott részét és tartalmazhatnak javascript funkciókat is.
Indexek
A MongoDB lehetővé teszi, hogy a dokumentum bármelyik mezője alapján indexet készítsünk.
Replikáció
A MongoDB támogatja a master-slave replikációt. Ebben az esetben a master hajthat végre írás műveleteket, a slave szerverek másolják az adatokat, olvasásra biztonsági mentésre használhatóak. A slave adatbázisok képesek új master adatbázist választani, ha a master meghibásodik.
Terheléselosztás
A MongoDB horizontálisan skálázható sharding használatával.[6] A fejlesztőnek kell shard kulcsot választania, amely meghatározza, hogyan lesz elosztva gyűjtemény adathalmaza.
Fájl tároló
A MongoDB-t lehet elosztott fájlrendszerként is használni, ezt GridFS-nek hívják.[7]
Aggregáció
MapReduce algoritmusok használhatóak kötegelt feldolgozáshoz és aggregációra. Ezeket a programokat javascript nyelven kell megírni.

Tipikus használata[szerkesztés]

Adatmanipuláció[szerkesztés]

Kritika[szerkesztés]

Mint a legtöbb NoSQL szoftver, a MongoDB sem képes ACID viselkedést biztosítani. A szerver nagyon korlátozott támogatást ad UTF-8 karakterekre, így az angoltól eltérő nyelvű szövegek rendezése problémába ütközik.[8]

A MongoDB nagyon korlátozott képességekkel rendelkezik 32 bites rendszereken. A fejlesztők 64 bites rendszereket ajánlanak.

Több felhasználó tapasztalt problémákat amikor az adatbázis mérete túlnőtt a fizikai memórián.

Jegyzetek[szerkesztés]