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
940
How to Ace a Technical Interview
jacobian
276
23k
Implementing Multi-factor Auth (dotSecurity 2016)
jacobian
10
1.4k
Heroku Under The Hood - Django Under The Hood 2015
jacobian
9
580
Django's request/response cycle - Django Under The Hood 2015
jacobian
9
1.3k
Minimum Viable Security - Wharton Web Conference 2015
jacobian
1
1.1k
Django minus Django (DJangoCon EU 2014)
jacobian
12
1.4k
Heroku 101 – PyCon 2014
jacobian
1
940
Be Agile, Not Vulnerable: Security engineering in an agile world
jacobian
8
740
Other Decks in Technology
See All in Technology
ホワイトボードチャレンジ 説明&実行資料
ichimichi
0
130
エンジニアが加速させるプロダクトディスカバリー 〜最速で価値ある機能を見つける方法〜 / product discovery accelerated by engineers
rince
2
210
転生CISOサバイバル・ガイド / CISO Career Transition Survival Guide
kanny
3
970
Classmethod AI Talks(CATs) #17 司会進行スライド(2025.02.19) / classmethod-ai-talks-aka-cats_moderator-slides_vol17_2025-02-19
shinyaa31
0
110
PL900試験から学ぶ Power Platform 基礎知識講座
kumikeyy
0
130
現場で役立つAPIデザイン
nagix
33
12k
抽象化をするということ - 具体と抽象の往復を身につける / Abstraction and concretization
soudai
3
610
Moved to https://speakerdeck.com/toshihue/presales-engineer-career-bridging-tech-biz-ja
toshihue
2
730
利用終了したドメイン名の最強終活〜観測環境を育てて、分析・供養している件〜 / The Ultimate End-of-Life Preparation for Discontinued Domain Names
nttcom
2
180
一度 Expo の採用を断念したけど、 再度 Expo の導入を検討している話
ichiki1023
1
160
トラシューアニマルになろう ~開発者だからこそできる、安定したサービス作りの秘訣~
jacopen
2
2k
速くて安いWebサイトを作る
nishiharatsubasa
10
12k
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
6
240
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
We Have a Design System, Now What?
morganepeng
51
7.4k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
9
440
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.4k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Scaling GitHub
holman
459
140k
A Philosophy of Restraint
colly
203
16k
GitHub's CSS Performance
jonrohan
1030
460k
How STYLIGHT went responsive
nonsquared
98
5.4k
How to train your dragon (web standard)
notwaldorf
91
5.8k
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]