MongoDB – usporedba u odnosu na relacijske baze podataka

33083d75ffad0033d0705f5d490284ce?s=47 Zoran
November 28, 2012

MongoDB – usporedba u odnosu na relacijske baze podataka

Prezentacija predavanja održanog na WebCamp-u u Zagrebu 24.11.2012

33083d75ffad0033d0705f5d490284ce?s=128

Zoran

November 28, 2012
Tweet

Transcript

  1. usporedba u odnosu na relacijske baze podataka Zoran Ugrina

  2. Sadržaj • Ukratko o MongoDB-u • Rad sa MongoDB-om •

    Migracija na MongoDB • Benchmarking
  3. Popularnost

  4. Uvod • Zašto MongoDB? • Razvoj počeo u listopadu 2007.

    • Prvi public release veljača 2009. • Razvijeni driveri za sve veće programske jezike
  5. MongoDB filozofija • Fleksibilnost • Snaga • Brzina / Skaliranje

    • Jednostavnost korištenja
  6. MongoDB filozofija

  7. Osnove rada • Vrlo jednostavna instalacija i povezivanje s PHP-

    om • Interaktivna JavaScript konzola • Specifičan način kreiranja baze i collectiona
  8. JavaScript konzola

  9. PHP i MongoDB $conn = new Mongo('localhost'); // access database

    $db = $conn->test; // access collection $collection = $db->items; // insert a new document $item = array( 'name' => 'milk', 'quantity' => 10, 'price' => 2.50, 'note' => 'skimmed and extra tasty' ); $collection->insert($item); echo 'Inserted document with ID: ' . $item['_id']; // disconnect from server $conn->close();
  10. Terminologija

  11. Kreiranje baze i collectiona use ime_baze; db.createCollection(„users“); db.users.save({ ime: “Marko”,

    prezime: “Marić”, telefon: “256-458”, tehnologije: [“html”,”php”,”mysql”] }); db.users.find().pretty();
  12. Kreiranje field-ova

  13. Kreiranje field-ova

  14. Razlika u dizajnu baze

  15. Razlika u dizajnu baze

  16. Razlika u dizajnu baze

  17. Razlika u dizajnu baze

  18. Razlike u upitima

  19. Razlike u upitima

  20. Migracija • Object-relational mapping • 4MB max JSON file (import)

    • Neizbježno ručno pisanje skripti • Ovisnost o resursima
  21. Migrirani podaci • 2,074,854 filmova/serija/dokumentaraca • 3,546,425 glumaca/glumica/redatelja/… • 29,751,446

    redova (agregacija) glumaca i filmova
  22. Što se napravilo • Migracija dijela SQL-a u MongoDB •

    Zašto ne postoji kvalitetan alat za potpunu migraciju?
  23. Benchmarking • Nedostatak resursa za kvalitetno testiranje

  24. Testovi drugih Prikaz koliko je puta MongoDB “brži” http://www.vedana.it/it/component/content/article/9-linux/62-testing-mongodb-vs-mysql-with-python-scripting-under-linux

  25. Kada koristiti MongoDB • Ukoliko RDBMS ne može riješiti vaš

    problem • Ukoliko je velika baza te je potrebno skaliranje i brži pristup podatcima • Ukoliko je potrebno spremati nestrukturirane podatke • Koristiti ga da se riješi samo određeni problem
  26. Zaključak • Vrlo jednostavan za učenje / korištenje • Nova

    ali dokazana tehnologija • Dostupna opširna dokumentacija, ali po potrebi i plaćeni support • Svakako isprobati (novi način razmišljanja)