mongodb

Download MongoDB

If you can't read please download the document

Upload: paulius-lescinskas

Post on 16-May-2015

5.949 views

Category:

Technology


0 download

TRANSCRIPT

  • 1. MongoDB ir kiti pasapaliojimai Paulius Leinskas 2010-11-12

2. Teoriniai modeliai neveikia

  • Pasen
  • Gantt'o diagrama sukurta 1910-1915 m.

Kurti teoretik

  • XHTML

Design patternai neatitinka realios situacijos 3. Teorinius modelius keiia praktiniai

  • Filosofija ir teorija yra praktikos pagrindas, bet tik tiek...

4. HTML5 vysto WHATWG, o ne W3C 5. Facebook vysto HipHop, Cassandra, Thrift, Varnish, tobulina MySQL, Memcached etc. 6. Waterfall ->Agile, TDD etc. 7. Gantt chart -> Scrum burndown chart 8. RDBMS

  • 1NF 1970m., 2 ir 3NF 1971m., BCNF 1974m.

9. Normalizacijos tikslai:

  • Ivengti duomen pertekliaus

10. Utikrinti duomen vientisum 11. Paalinti anomalijas RDMBS -> Memcached (NoSQL DB RAMe) 12. MongoDB

  • Ileista 2009m.

13. Document-oriented DB (JSON/BSON) 14. Tarpinis variantas tarp RDBMS ir key-value store 15. Nebtina laikyti panacja 16. Kas naudoja MongoDB Ir t.t. 17. MongoDB savybs

  • Neturi schemos

18. Palaiko UTF-8 19. Turi indeksus, taip pat fulltext paiekai 20. Scale'inasi horizontaliai, veikia kaip cluster'is 21. Turi PHP (ir kt. kalb) extensionus 22. Turi Javascript varikl, gali naudoti map/reduce 23. Turi explain(), hint(), profiliavim ir log'inim 24. Turi vartotoj autorizacij 25. MongoDB SQL uklaus analogai SQL MongoDB CREATE TABLE USERS (a Number, b Number) Nebtina, bet galima sukurti kolekcij INSERT INTO USERS VALUES(1,1) db.users.insert({a:1,b:1}) SELECT * FROM users WHERE age=33 ORDER BY name db.users.find({age:33}).sort({name:1}) SELECT * FROM users WHERE age>33 db.users.find({'age':{$gt:33}})}) CREATE INDEX myindexname ON users(name) db.users.ensureIndex({name:1}) SELECT * FROM users LIMIT 10 SKIP 20 db.users.find().limit(10).skip(20) EXPLAIN SELECT * FROM users WHERE z=3 db.users.find({z:3}).explain() 26. MongoDB SQL uklaus analogai SQL MongoDB SELECT DISTINCT last_name FROM users db.users.distinct('last_name') SELECT COUNT(*y) FROM users where AGE > 30 db.users.find({age: {'$gt': 30}}).count() SELECT COUNT(AGE) from users db.users.find({age: {'$exists': true}}).count() UPDATE users SET a=1 WHERE b='q' db.users.update({b:'q'}, {$set:{a:1}}, false, true) DELETE FROM users WHERE a=1 db.users.remove({a: 1}) 27. MongoDB ir PHP

  • Extensionas turi klases Mongo, MongoDB, MongoCollection, MongoCursor