MongoDB
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ás | 4.2.6 (2020. április 21.) |
Programozási nyelv | |
Operációs rendszer | platformfüggetlen |
Elérhető | C++ |
Állapot | aktív |
Kategória | Adatbázis-kezelő rendszer |
Licenc | Server Side Public License |
A MongoDB weboldala |
Története
szerkesztésA 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ésEgy 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ésAdatmanipuláció
szerkesztésKritika
szerkesztésMint 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- ↑ MongoDB Powering MTV's Web Properties
- ↑ MongoDB live at craigslist
- ↑ MongoDB at foursquare - Presentation at MongoNYC. [2010. június 12-i dátummal az eredetiből archiválva]. (Hozzáférés: 2013. június 20.)
- ↑ MongoDB daddy: My baby beats Google BigTable
- ↑ The MongoDB NoSQL Database Blog, MongoDB 1.4 Ready for Production. [2014. július 8-i dátummal az eredetiből archiválva]. (Hozzáférés: 2013. június 20.)
- ↑ Article "Sharding" on MongoDB Administrator's Manual
- ↑ GridFS article on MongoDB Developer's Manual
- ↑ Sort by collation (SERVER-1920)