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
Polyglot Persistence
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Ole-Martin Mørk
March 25, 2015
Technology
0
100
Polyglot Persistence
A presentation to nosql and polyglot persistence
Ole-Martin Mørk
March 25, 2015
Tweet
Share
More Decks by Ole-Martin Mørk
See All by Ole-Martin Mørk
Snakk med din applikasjon!
olemartin
0
58
Facebook Graph Search implemented with Neo4j
olemartin
0
240
Patterns for Key-Value stores
olemartin
1
50
Other Decks in Technology
See All in Technology
ドキュメントからはじめる未来のソフトウェア
pkshadeck
4
2k
EventBridge API Destination × AgentCore Runtimeで実現するLambdaレスなイベント駆動エージェント
har1101
7
270
Amazon Bedrock AgentCore EvaluationsでAIエージェントを評価してみよう!
yuu551
0
190
Tebiki Engineering Team Deck
tebiki
0
23k
toCプロダクトにおけるAI機能開発のしくじりと学び / ai-product-failures-and-learnings
rince
6
4.4k
The Engineer with a Three-Year Cycle - 2
e99h2121
0
200
ファシリテーション勉強中 その場に何が求められるかを考えるようになるまで / 20260123 Naoki Takahashi
shift_evolve
PRO
3
400
全員が「作り手」になる。職能の壁を溶かすプロトタイプ開発。
hokuo
1
620
Databricks Free Edition講座 データサイエンス編
taka_aki
0
240
AI開発の落とし穴 〜馬には乗ってみよAIには添うてみよ〜
sansantech
PRO
10
5.3k
[Iceberg Meetup #4] ゼロからはじめる: Apache Icebergとはなにか? / Apache Iceberg for Beginners
databricksjapan
0
540
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.3k
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
GitHub's CSS Performance
jonrohan
1032
470k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
75
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
130
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.7k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.3k
ラッコキーワード サービス紹介資料
rakko
1
2.1M
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.7k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
170
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
110
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.9k
Transcript
NOSQL & POLYGLOT PERSISTENCE Universitetet i Oslo Ole-Martin Mørk 25/03/15
Ole-Martin Mørk Scientist BEKK +47 90252338 twitter.com/olemartin
[email protected]
HVEM ER
JEG?
AGENDA RELATIONAL DATABASES KEY/VALUE STORES DOCUMENT STORES COLUMN ORIENTED DATABASES
GRAPH DATABASES POLYOGLOT PERSISTENCE
HVORFOR BENYTTE KEY-VALUE STORES? 4 When all you have is
a hammer..
None
Lookup Report Store Relation Search
None
Not Only SQL
None
None
NOSQL Ikke relasjonelle Dynamisk skjema Skalerbare Åpen kildekode
None
Key/Value Wide Column Document Graph
KEY/VALUE STORES Key Value
KEY/VALUE STORES key value key value key value key value
key value key value key value key value key value key value
KEY/VALUE STORES
DOCUMENT STORES Key Doc
DOCUMENT STORES key { "glossary": { "title": "example glossary", "GlossDiv":
{ "title": "S", "GlossList": { "GlossEntry": { "ID": "SGML", "SortAs": "SGML”,
DOCUMENT STORES
WIDE COLUMN STORES Key Column Families
WIDE COLUMN STORES row key key value key value key
value key value key value key value key value key value key value key value
WIDE COLUMN STORES
Key/Value Wide Column Document Graph
GRAPH DATABASES Node Node RELATION
GRAPH DATABASES key value key value key value Labels key
value key value key value Type key value key value key value Labels
None
None
Transaksjoner
BASE ACID Key/Value stores Document stores Wide Column stores Graph
databases
Consistency Availability Partition
Datasenter 1 Datasenter 2 Availability Consistency
Polyglot Persistence
I'm confident to say that if you’re starting a new
strategic enterprise application you should no longer be assuming that your persistence should be relational. Martin Fowler
Brukersesjoner Redis Finansielle data MySQL Handlekurv RIAK Anbefalingsmotor Neo4j Produktkatalog
MongoDB Rapportering PostgreSQL Analyse Cassandra Logger Elastic Search Hendelser Event Store
None
None
None
Lese og skrive data BEHOV 1
BEHOV 1 Key-Value Store Lese og skrive data Application KV
Søke i dataene BEHOV 2
BEHOV 2 Search Engine Søke i dataene Application KV Search
Relasjonelt søk BEHOV 3
BEHOV 3 Graph Database Relasjonelt søk Application KV Search Graph
Application KV Search Graph
Application KV Search Graph
Application KV Search Graph Events
Generer rapporter BEHOV 4
BEHOV 4 RDBMS Generer rapporter Application KV Search Graph Events
RDBMS
POLYGLOT PERSISTENCE Application KV Search Graph Events RDBMS
?
TAKK FOR OPPMERKSOMHETEN Ole-Martin Mørk