wtorek, 23 lipca 2013

MongoDB 10gen DB Admin

Idąc za ciosem po ostatnim kursie dla Java developerow przejrzałem też ostatni kurs dla DB Adminów i poza powtórką większości rzeczy znalazłem też pare ciekawostek, np: o komendach:





Web admin page:

Wyjasnienie write concern i cluster-wide commit:
Rekomendowane konfiguracje:



Uzywanie Mongo Profiler:


show profile
db.setProfilingLevel(2) // operacje trwajace ponad 100ms
db.setProfilingLevel(1,3) // operacje trwajace ponad 3ms
db.system.profile.find().sort({$natural: -1}).limit(1).pretty() // last profile entry
db.getProfilingStatus()
db.system.namespaces.find() // info o kolekcjach

mongostat [--port <port number>]
mongotop [--port <port number>]

Pokaż aktywne operacje z ich statystykami:
db.currentOp()
db.killOp(<opid>) // zabicie operacji po id

Kommpaktowanie kolekcji:
db.runCommand ( { compact: '<nazwa kolekcji>', force:true})


Mongo Security:

> use admin
> db.addUser('the_admin','password')

mongo localhost/admin -u the_admin -p password

> db.system.users.find()





Backup:

- mongodump [--db dbname] [--oplog] / mongorestore [--oplogReplay]
- kopia plikow 'data' systemowych (shutdown server, kopia plików) - baza musi byc 'journaling enabled'. Pomocne jest db.fsyncLock() / db.fsyncUnlock() lub jesli backupujemy sharded cluster:
sh.stopBalancer() / sh.startBalancer()

Kolejny kurs ukonczony z dobrym wynikiem 96% z egzaminu koncowego:


i kolejny tez nienajgorzej: