MongoDB

A Wikipédiából, a szabad enciklopédiából
MongoDB
MongoDB Logo.png

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ú dokumentum-orientált adatbázis szoftver, amelyet a 10gen fejleszt. A NoSQL adatbázis szerverek 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 | forrásszöveg szerkesztése]

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 | forrásszöveg szerkesztése]

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ésel. 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és elosztá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 | forrásszöveg szerkesztése]

Adatmanipuláció[szerkesztés | forrásszöveg szerkesztése]

Kritika[szerkesztés | forrásszöveg szerkesztése]

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 | forrásszöveg szerkesztése]