A MongoDB nyílt forráskódú dokumentumorientált adatbázis szoftver, amelyet a MongoDB inc. (korábbi nevén 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.

MongoDB

FejlesztőMongoDB Inc.
Legfrissebb stabil kiadás4.2.6
(2020. április 21.)
Programozási nyelv
Operációs rendszerplatformfüggetlen
ElérhetőC++
Állapotaktív
KategóriaAdatbázis-kezelő rendszer
LicencServer Side Public License
A MongoDB weboldala

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

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.