Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
MongoDB – usporedba u odnosu na relacijske baze podataka
Zoran
November 28, 2012
Technology
2
240
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
150
Other Decks in Technology
See All in Technology
PHPのimmutable arrayとは
hnw
1
180
OCI技術資料 : ロード・バランサー 詳細 / Load Balancer 200
ocise
2
7.2k
re:Inventの完全招待制イベント Building a Roadmap to SaaSについて / Building a Roadmap to SaaS an invitation only event at reinvent
yayoi_dd
0
160
CES_2023_FleetWise_demo.pdf
sparkgene
0
130
スクラムマスターの悩みどころを赤裸々に告白します
nagata03
0
200
OpenShiftでスポットVMを使おう.pdf
jpishikawa
1
410
re:Invent2022 前後の Amazon EventBridge のアップデートを踏まえつつ、情シスの仕事をより楽しくしたい話。 / EventBridge for Information Systems Department
_kensh
2
800
JAWS-UG 横浜 #54 資料
takakuni
0
220
re:Inventで発表があったIoT事例の紹介と考察
kizawa2020
0
200
MoT/コネヒト/Kanmu が語るプロダクト開発xデータ分析 - 分析から機械学習システムの開発まで一人で複数ロールを担う大変さ
masatakashiwagi
3
800
SignalR を使ったアプリケーション開発をより快適に!
nenonaninu
0
710
SSMパラメーターストアでクロススタック参照の罠を回避する
shuyakinjo
0
8k
Featured
See All Featured
The Invisible Customer
myddelton
113
12k
A Philosophy of Restraint
colly
193
15k
Faster Mobile Websites
deanohume
295
29k
How GitHub (no longer) Works
holman
298
140k
Building a Modern Day E-commerce SEO Strategy
aleyda
6
4.5k
Visualization
eitanlees
129
12k
jQuery: Nuts, Bolts and Bling
dougneiner
57
6.6k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
29
8k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
500
130k
5 minutes of I Can Smell Your CMS
philhawksworth
198
18k
Why You Should Never Use an ORM
jnunemaker
PRO
49
7.9k
How to Ace a Technical Interview
jacobian
270
21k
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)