{    author:"Martin Strýček",    twitter:"@martin_strycek",    about:"Ako začať s MongoDB"}
NoSQL a RDBMS pohľadna svet.
“640kB of memory should beenough for anybody.”           -Bill Gates (1981)
byteKilobyte      1,024Megabyte      1,048,576   “640K of memory should beGigabyte      1,073,741,824   enough for anybody...
RDBMSNoSQL                Relácie Vnorené objekty    ACID (atomicity, Rýchlosť            consistency, isolation,     ...
Čo vlastne je mongoDB aako funguje?
MongoDB od slova "humongous“ je šk{lovateľn{, výkonná, open source NoSQL databáza.strycek@webserverba:~$ mongo 192.168.122...
strycek@webserverba:~$ mongo                          192.168.122.20:27017                          MongoDB shell version:...
strycek@webserverba:~$ mongo                                    192.168.122.20:27017                                    Mo...
   MongoDB je databáza             obsahujúca kolekcie (tabuľka)             kolekcie obsahujú dokumenty (riadky)> db.p...
   MongoDB je databáza             obsahujúca kolekcie (tabuľka)             kolekcie obsahujú dokumenty (riadky)      ...
Dáta, veľa dát...
   BSON = binary-encoded serialization of JSON-like    documents
   BSON = binary-encoded serialization of JSON-like    documents   maxim{lna veľkosť jedného dokumentu je 16MB   pre vä...
{    "_id" : ObjectId("4fcfd8db962e3f275a2847d6"),    "url" : "http://webelement.sk",    "visitor" : 1}{    "_id" : Object...
{      "_id" : ObjectId("4fcfd8db962e3f275a2847d6"),      "url" : "http://webelement.sk", } {      "_id" : ObjectId("4fcfd...
Kedy je vhodný čas prejsťna MongoDB?
{                              {    "_id" : ...,                   "_id" : ...,    "url" : ...,                   "url" : ...
Šk{lovateľnosť a výkonFunkcionalita
   Ak potrebujete datab{zu s veľa d{tami ale    nechcete prísť o výkon.   Ak si chcete sami definovať indexy.   Ak potr...
Dačo z praxe.
{    "_id" : ...,    "url" : ...,    "blog" : [               {                   "autor" : "ujovlado",                   ...
{    "_id" : ...,    "url" : ...,    "visits" : [            "hours" : [                     [0,0,0,0……0],                ...
   Podmienka A vráti 25 000 dokumentov   Podmienka B vráti 8 000 dokumentov   Podmienka C vráti 2 000 dokumentovKeď píš...
Martin Strýček - Ako začať s MongoDB
Martin Strýček - Ako začať s MongoDB
Upcoming SlideShare
Loading in …5
×

Martin Strýček - Ako začať s MongoDB

1,827 views

Published on

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,827
On SlideShare
0
From Embeds
0
Number of Embeds
357
Actions
Shares
0
Downloads
5
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Martin Strýček - Ako začať s MongoDB

  1. 1. { author:"Martin Strýček", twitter:"@martin_strycek", about:"Ako začať s MongoDB"}
  2. 2. NoSQL a RDBMS pohľadna svet.
  3. 3. “640kB of memory should beenough for anybody.” -Bill Gates (1981)
  4. 4. byteKilobyte 1,024Megabyte 1,048,576 “640K of memory should beGigabyte 1,073,741,824 enough for anybody.”Terabyte 1,099,511,627,776Petabyte 1,125,899,906,842,624Exabyte 1,152,921,504,606,846,976Zettabyte 1,180,591,620,717,411,303,425
  5. 5. RDBMSNoSQL  Relácie Vnorené objekty  ACID (atomicity, Rýchlosť consistency, isolation, durability)Základné rozdiely
  6. 6. Čo vlastne je mongoDB aako funguje?
  7. 7. MongoDB od slova "humongous“ je šk{lovateľn{, výkonná, open source NoSQL databáza.strycek@webserverba:~$ mongo 192.168.122.20:27017
  8. 8. strycek@webserverba:~$ mongo 192.168.122.20:27017 MongoDB shell version: 1.4.4 MongoDB je databáza url: 192.168.122.20:27017 connecting to: 192.168.122.20:27017/test type "help" for help > > use harvester
  9. 9. strycek@webserverba:~$ mongo 192.168.122.20:27017 MongoDB shell version: 1.4.4 MongoDB je databáza url: 192.168.122.20:27017 obsahujúca kolekcie (tabuľka) connecting to: 192.168.122.20:27017/test type "help" for help > use harvester switched to db harvester > db.pageviews
  10. 10.  MongoDB je databáza  obsahujúca kolekcie (tabuľka)  kolekcie obsahujú dokumenty (riadky)> db.pageviews.insert({})
  11. 11.  MongoDB je databáza  obsahujúca kolekcie (tabuľka)  kolekcie obsahujú dokumenty (riadky)  dokumenty obsahujú množinu polí (stĺpce)> db.pageviews.insert({url : "http://webelement.sk" })
  12. 12. Dáta, veľa dát...
  13. 13.  BSON = binary-encoded serialization of JSON-like documents
  14. 14.  BSON = binary-encoded serialization of JSON-like documents maxim{lna veľkosť jedného dokumentu je 16MB pre väčšie d{ta máme GridFS  Súbory  Kúsky
  15. 15. { "_id" : ObjectId("4fcfd8db962e3f275a2847d6"), "url" : "http://webelement.sk", "visitor" : 1}{ "_id" : ObjectId("4fcfd8db962e3f275a2847d7"), "date" : "Thu Jun 07 2012 00:00:00 GMT+0200 (CET)", "url" : "http://webelement.sk", "visitor" : 225, "logged-in" : 55225}db.pageviews.find();
  16. 16. { "_id" : ObjectId("4fcfd8db962e3f275a2847d6"), "url" : "http://webelement.sk", } { "_id" : ObjectId("4fcfd8db962e3f275a2847d7"), "url" : "http://webelement.sk", }db.pageviews.find( {url:”http://webelement.sk”}, {url:1});
  17. 17. Kedy je vhodný čas prejsťna MongoDB?
  18. 18. { { "_id" : ..., "_id" : ..., "url" : ..., "url" : ..., "visitors" : [ "visitors" : { { "pijani" : [ "type" : "pijani", "pocet" : 20 "pocet" : 20 ], }, "nepijani" : [ { "type" : "nepijani" "pocet" : 70 "pocet" : 48 ] }, } ],} } db.pageviews.find({ "visitors.type" : { "$gt" : 19 } });
  19. 19. Šk{lovateľnosť a výkonFunkcionalita
  20. 20.  Ak potrebujete datab{zu s veľa d{tami ale nechcete prísť o výkon. Ak si chcete sami definovať indexy. Ak potrebujete ľahko nastaviteľnú replik{ciu. Ak by ste miesto neho zvolili MySQL alebo PostgreSQL
  21. 21. Dačo z praxe.
  22. 22. { "_id" : ..., "url" : ..., "blog" : [ { "autor" : "ujovlado", "msg" : "začal som robiť v Piano Media" }, { "autor" : "rootpd", "msg" : " ja tam robím tiež" }, ],}Nebojte sa duplikovaťdáta
  23. 23. { "_id" : ..., "url" : ..., "visits" : [ "hours" : [ [0,0,0,0……0], [0,0,0,0……0], … [0,0,0,0……0] ] ],}Nachystajte si miesto
  24. 24.  Podmienka A vráti 25 000 dokumentov Podmienka B vráti 8 000 dokumentov Podmienka C vráti 2 000 dokumentovKeď píšete dotazyrozmýšľajte

×