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
The first PostSQL database?
Search
Jacob Kaplan-Moss
September 18, 2012
Technology
17
2.6k
The first PostSQL database?
My keynote given at PostgresOpen 2012.
Jacob Kaplan-Moss
September 18, 2012
Tweet
Share
More Decks by Jacob Kaplan-Moss
See All by Jacob Kaplan-Moss
To ••• With Passwords
jacobian
4
980
How to Ace a Technical Interview
jacobian
276
23k
Implementing Multi-factor Auth (dotSecurity 2016)
jacobian
10
1.5k
Heroku Under The Hood - Django Under The Hood 2015
jacobian
9
600
Django's request/response cycle - Django Under The Hood 2015
jacobian
9
1.4k
Minimum Viable Security - Wharton Web Conference 2015
jacobian
1
1.2k
Django minus Django (DJangoCon EU 2014)
jacobian
12
1.4k
Heroku 101 – PyCon 2014
jacobian
1
960
Be Agile, Not Vulnerable: Security engineering in an agile world
jacobian
8
770
Other Decks in Technology
See All in Technology
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
17k
菸酒生在 LINE Taiwan 的後端雙刀流
line_developers_tw
PRO
0
210
ユーザーのプロフィールデータを活用した推薦精度向上の取り組み
yudai00
0
410
What's new in OpenShift 4.19
redhatlivestreaming
1
260
New Cache Hierarchy for Container Images and OCI Artifacts in Kubernetes Clusters using Containerd / KubeCon + CloudNativeCon Japan
pfn
PRO
0
160
“プロダクトを好きになれるか“も QAエンジニア転職の大事な判断基準だと思ったの
tomodakengo
0
140
kubellが挑むBPaaSにおける、人とAIエージェントによるサービス開発の最前線と技術展望
kubell_hr
1
310
新規プロダクト開発、AIでどう変わった? #デザインエンジニアMeetup
bengo4com
0
470
讓測試不再 BB! 從 BDD 到 CI/CD, 不靠人力也能 MVP
line_developers_tw
PRO
0
230
IAMのマニアックな話 2025を執筆して、 見えてきたAWSアカウント管理の現在
nrinetcom
PRO
4
590
「実体」で築く共通認識: 開発現場のコミュニケーション最適化 / Let's Get on the Same Page with Concrete Artifacts: Optimization of Communication in dev teams
kazizi55
0
150
API の仕様から紐解く「MCP 入門」 ~MCP の「コンテキスト」って何だ?~
cdataj
0
170
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Thoughts on Productivity
jonyablonski
69
4.7k
Side Projects
sachag
455
42k
Why Our Code Smells
bkeepers
PRO
337
57k
The Straight Up "How To Draw Better" Workshop
denniskardys
233
140k
GraphQLとの向き合い方2022年版
quramy
46
14k
Adopting Sorbet at Scale
ufuk
77
9.4k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
60k
Practical Orchestrator
shlominoach
188
11k
Into the Great Unknown - MozCon
thekraken
39
1.8k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Designing Experiences People Love
moore
142
24k
Transcript
The first Post-SQL database? Jacob Kaplan-Moss
[email protected]
“So… I have this conference… What I'm interested in is
a talk about why Django chose to specifically recommend PostgreSQL.”
None
None
None
L A M P
Linux Apache MySQL Perl
Linux Apache PostgreSQL Python
Linux Apache PostgreSQL Python RabbitMQ
Linux Apache PostgreSQL Python RabbitMQ Elastic Search
Linux Apache PostgreSQL Python RabbitMQ Elastic Search Redis
Linux Apache PostgreSQL Python RabbitMQ Elastic Search Redis MongoDB
L A P P R E R M ? M
A P P L E R R ?
“Modern web stack”
“If the implementation’s hard to explain, it’s a bad idea.”
— The Zen of Python
Relational database: Task queue: RabbitMQ Search Engine: Elastic Search Key-Value
database: Redis Document database: MongoDB
Relational database: Task queue: Search Engine: Elastic Search Key-Value database:
Redis Document database: MongoDB
Relational database: Task queue: Search Engine: Key-Value database: Redis Document
database: MongoDB
Relational database: Task queue: Search Engine: Key-Value database: Document database:
MongoDB
Relational database: Task queue: Search Engine: Key-Value database: Document database:
None
One database to rule them all, One database to find
them, One database to bring them all, And in the Cloud to bind them.
None
ˑ “PostSQL”
Post-
Postmodernism
Postmodernism: “The thing that comes after Modernism.”
Postmodernism: “We can never be pre-modern again.”
Post-
What do relational databases get right?
What do relational databases get right? ✓ Ad-hoc queries.
What do relational databases get right? ✓ Ad-hoc queries. ✓
Unified, standard* query language.
What do relational databases get right? ✓ Ad-hoc queries. ✓
Unified, standard* query language. ✓ A great and powerful respect for data.
What do NoSQL databases get right?
What do NoSQL databases get right? ✓ Ease of on-boarding.
What do NoSQL databases get right? ✓ Ease of on-boarding.
✓ Schemaless data storage.
“Static typing prevents certain kinds of failures. Unfortunately, it also
prevents certain kinds of successes.” — Ned Batchelder
“Schemas prevent certain kinds of failures. Unfortunately, they also prevent
certain kinds of successes.” — Me
What do NoSQL databases get right?
What do NoSQL databases get right? ✓ Ease of on-boarding.
✓ Schemaless data storage.
What do NoSQL databases get right? ✓ Ease of on-boarding.
✓ Schemaless data storage. ✓ Easy horizontal scaling.
redis> slaveof 1.2.3.4
Relational Non-relational ✓ Ad-hoc queries. ✓ SQL ✓ Respect for
data. ✓ Ease of on-boarding. ✓ Schemaless data storage. ✓ Easy horizontal scaling.
PostSQL ✓ Ad-hoc queries. ✓ SQL ✓ Respect for data.
✓ Ease of on-boarding. ✓ Schemaless data storage. ✓ Easy horizontal scaling.
None
$ ./postsql
$ ./postsql postsql@node1> INSERT INTO cities (name, state)
VALUES ("Chicago", "IL");
$ ./postsql postsql@node1> INSERT INTO cities (name, state)
VALUES ("Chicago", "IL"); postsql@node2> SLAVEOF node1;
PostgreSQL ➡ PostSQL? ➡ Easier installation and configuration. ➡ More
support for schemaless operation. ➡ Easier replication and scaling.
PostgreSQL: The first PostSQL database. Jacob Kaplan-Moss
[email protected]