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
Surviving Data in Large Doses
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Tareq Abedrabbo
November 20, 2013
Technology
230
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Surviving Data in Large Doses
NoSQL Search Roadshow London 2013
Tareq Abedrabbo
November 20, 2013
More Decks by Tareq Abedrabbo
See All by Tareq Abedrabbo
Not a SO(A) Trivial Question!
tareqabedrabbo
0
83
Designing APIs for Data Driven Systems
tareqabedrabbo
0
63
Things I wish I'd known before I started with Microservices
tareqabedrabbo
0
690
Building a Scalable Event Service with Cassandra: Design to Code
tareqabedrabbo
1
490
The 7 Deadly Sins of Microservices
tareqabedrabbo
7
1.3k
The Ubiquitous Graph
tareqabedrabbo
0
220
The 7 Deadly Sins of Microservices
tareqabedrabbo
0
640
Building a Scalable Event Service with Cassandra: Design to Code
tareqabedrabbo
0
110
Time Series and Events: Storage and Querying Strategies with Cassandra
tareqabedrabbo
0
340
Other Decks in Technology
See All in Technology
【NRUG vol.18】KubernetesにおけるNew Relicデータ取得量削減の考え方
nrug_member
0
110
SIer20年! 培ったスキルがスタートアップで輝く時
shucho0103
0
850
2026 TECHFRESH 畢業分享會 - 開發日常大解密!從領域驅動到企業級上線
line_developers_tw
PRO
0
920
2026.06.13_AI時代に事業会社が「SIer出身エンジニア」を求める理由 / Why Businesses Seek Engineers with a System Integrator Background in the AI Era
jumtech
0
1.1k
How Timee Delivers Day 1 Production Ready LLM Features
tomoyks
0
180
AmazonRoute 53ではじめてのドメイン取得!HTTPS化までの道のりを整理してみた
usanchuu
3
140
AIはどのように 組織のアジリティを変えるのか?
junki
2
640
非定型業務をAI slackbotで自動化する ~ 社内要望を自動壁打ちするbotを作った ~/automating-ad-hoc-work-with-ai-slackbot
shibayu36
0
640
日本 Fintech 未来予測レポート 2027〜2028年(オリジナル版)
8maki
0
2.1k
【Cyber-sec+】経営層を"動かす"ための考え方
hssh2_bin
0
160
AIっぽい文章を採点して人間らしく直すアプリを作ってみた
yama3133
2
140
Android の公式 Skill / Android skills
yanzm
0
140
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
170
Darren the Foodie - Storyboard
khoart
PRO
3
3.4k
The untapped power of vector embeddings
frankvandijk
2
1.8k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
200
Faster Mobile Websites
deanohume
310
31k
Scaling GitHub
holman
464
140k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
1
180
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
BBQ
matthewcrist
89
10k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
360
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
460
Transcript
Surviving Data in Large Doses Tareq Abedrabbo NoSQL Search Roadshow
London 2013
About me • CTO at OpenCredo • Delivering large-scale data
projects in a number of domains • Co-author of Neo4j in Action (Manning)
What this talk is about…
Supermarkets
Meanwhile, in DevLand
Bob is an application developer
Bob wants to build an application. Bob knows that a
relational database is definitely not the right choice for his application
Bob chooses a NoSQL database because he likes it (he
secretly thinks it’s good for his CV too).
Bob goes for a three-tier architecture. It’s separation of concerns.
It’s best practice.
Bob builds an object model first. It’s Domain Driven Design.
It’s best practice.
Bob uses an object mapping framework. Databases should be hidden
behind layers of abstraction. It’s best practice.
Bob hopes for the best!
What challenges is Bob facing?
Suitability of the data model
Suitability of the architecture and the implementation
Ability to meet new requirements
Being able to use the selected technology to the best
of its ability
Performance
A number of applications built on top of NoSQL technologies
end up unfit for purpose
How did we get ourselves into such a mess?
• Technical evangelism • Evolution in requirements • Unthinking decisions
• Ill-informed opinions
Common problem: there is focus on technology and implementation, not
on real value
So what’s the alternative?
Separation of concerns based on data flow
Data flow
• Lifecycle • Structure • Size • Velocity • Purpose
How?
Identify the concerns: what do I care about?
Identify the locality of these concerns: where are the natural
boundaries?
Build focused specialised models
Compose the models into a complete system
Computing is data structures + algorithms
If we accept that separation of concerns should be applied
to algorithms, it is appropriate to apply the same thinking to data
The real value of this form of separation of concerns
is true decoupling
What’s out there
CQRS
Polyglot Persistence
How do I apply it?
It depends on the data flow :)
For general-purpose data platforms, micro services work well
Build micro services that are closer to the natural underlying
model
Other strategies are possible, for example if the data is
highly volatile, consider in-memory grids
There are practical considerations - obviously
Don’t start with 10 different databases because you think you
might eventually need all of them
How would that impact support and operations?
There is potential for simplification based on clearly targeted usage
Links • Twitter: @tareq_abedrabbo • Blog: http://www.terminalstate.net • OpenCredo: http://www.opencredo.com
Thank you!