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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Zoran
November 28, 2012
Technology
290
2
Share
MongoDB – usporedba u odnosu na relacijske baze podataka
Prezentacija predavanja održanog na WebCamp-u u Zagrebu 24.11.2012
Zoran
November 28, 2012
More Decks by Zoran
See All by Zoran
WordPress tips&tricks - male tajne najpopularnijeg CMS-a na svijetu
zugrina
0
180
Other Decks in Technology
See All in Technology
論文紹介:Pixal3D (SIGGRAPH 2026)
tenten0727
0
640
Pythonでベイズモデリング
soogie
0
160
Python開発環境にハーネス適用を検討する
yuuka51
0
190
DI コンテナ自動生成ツールを実装してみた / intro-autodi
uhzz
0
720
実践 TanStack Start ― 新規プロダクトを開発して確立した、サーバーとクライアント境界の設計パターン / Practical TanStack Start Server-Client Boundary Patterns
kaminashi
2
160
React Compiler導入から21ヶ月、いま始めるならこうやる
astatsuya
2
280
JTCでRedmine利用者2700人を実現した手法 第二部
nobuonakamura
0
150
Swift Sequence の便利 API 再発見
treastrain
1
290
サプライチェーン攻撃への備えについて考えている #湘なんか
stefafafan
2
2k
続 運用改善、不都合な真実 〜 物理制約のない運用改善はほとんど無価値 / 20260518-ssmjp-kaizen-no-value-without-physical-constraints
opelab
2
290
ジュニアエンジニアはSREとどう向き合うべきか
nrinetcom
PRO
0
100
インプロセスQAのための要因から捉えるプロジェクトリスクマネジメントnano #1 開発リソース効率状態への対処 #jasstnano
barus_qa
0
210
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
432
67k
Building Adaptive Systems
keathley
44
3k
GitHub's CSS Performance
jonrohan
1033
470k
Code Reviewing Like a Champion
maltzj
528
40k
Leo the Paperboy
mayatellez
7
1.8k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
What does AI have to do with Human Rights?
axbom
PRO
1
2.1k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
55k
Building an army of robots
kneath
306
46k
Designing for humans not robots
tammielis
254
26k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
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)