Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
MongoDB – usporedba u odnosu na relacijske baze...
Search
Zoran
November 28, 2012
Technology
2
280
MongoDB – usporedba u odnosu na relacijske baze podataka
Prezentacija predavanja održanog na WebCamp-u u Zagrebu 24.11.2012
Zoran
November 28, 2012
Tweet
Share
More Decks by Zoran
See All by Zoran
WordPress tips&tricks - male tajne najpopularnijeg CMS-a na svijetu
zugrina
0
170
Other Decks in Technology
See All in Technology
What’s new in Android development tools
yanzm
0
460
How to Quickly Call American Airlines®️ U.S. Customer Care : Full Guide
flyaahelpguide
0
150
開発生産性を組織全体の「生産性」へ! 部門間連携の壁を越える実践的ステップ
sudo5in5k
3
7.5k
ビギナーであり続ける/beginning
ikuodanaka
3
790
Operating Operator
shhnjk
1
620
オーティファイ会社紹介資料 / Autify Company Deck
autifyhq
10
130k
SREの次のキャリアの道しるべ 〜SREがマネジメントレイヤーに挑戦して、 気づいたこととTips〜
coconala_engineer
1
160
Contributing to Rails? Start with the Gems You Already Use
yahonda
2
110
成長し続けるアプリのためのテストと設計の関係、そして意思決定の記録。
sansantech
PRO
0
130
NewSQLや分散データベースを支えるRaftの仕組み - 仕組みを理解して知る得意不得意
hacomono
PRO
3
190
スタートアップに選択肢を 〜生成AIを活用したセカンダリー事業への挑戦〜
nstock
0
260
SRE不在の開発チームが障害対応と 向き合った100日間 / 100 days dealing with issues without SREs
shin1988
1
410
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
299
21k
How STYLIGHT went responsive
nonsquared
100
5.6k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
54k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
20
1.3k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
How to Ace a Technical Interview
jacobian
278
23k
RailsConf 2023
tenderlove
30
1.1k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Documentation Writing (for coders)
carmenintech
72
4.9k
Docker and Python
trallard
44
3.5k
A Tale of Four Properties
chriscoyier
160
23k
Code Review Best Practice
trishagee
69
19k
Transcript
usporedba u odnosu na relacijske baze podataka Zoran Ugrina
Sadržaj • Ukratko o MongoDB-u • Rad sa MongoDB-om •
Migracija na MongoDB • Benchmarking
Popularnost
Uvod • Zašto MongoDB? • Razvoj počeo u listopadu 2007.
• Prvi public release veljača 2009. • Razvijeni driveri za sve veće programske jezike
MongoDB filozofija • Fleksibilnost • Snaga • Brzina / Skaliranje
• Jednostavnost korištenja
MongoDB filozofija
Osnove rada • Vrlo jednostavna instalacija i povezivanje s PHP-
om • Interaktivna JavaScript konzola • Specifičan način kreiranja baze i collectiona
JavaScript konzola
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();
Terminologija
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();
Kreiranje field-ova
Kreiranje field-ova
Razlika u dizajnu baze
Razlika u dizajnu baze
Razlika u dizajnu baze
Razlika u dizajnu baze
Razlike u upitima
Razlike u upitima
Migracija • Object-relational mapping • 4MB max JSON file (import)
• Neizbježno ručno pisanje skripti • Ovisnost o resursima
Migrirani podaci • 2,074,854 filmova/serija/dokumentaraca • 3,546,425 glumaca/glumica/redatelja/… • 29,751,446
redova (agregacija) glumaca i filmova
Što se napravilo • Migracija dijela SQL-a u MongoDB •
Zašto ne postoji kvalitetan alat za potpunu migraciju?
Benchmarking • Nedostatak resursa za kvalitetno testiranje
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
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
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)