Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
The first PostSQL database?
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Jacob Kaplan-Moss
September 18, 2012
Technology
2.8k
17
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
The first PostSQL database?
My keynote given at PostgresOpen 2012.
Jacob Kaplan-Moss
September 18, 2012
More Decks by Jacob Kaplan-Moss
See All by Jacob Kaplan-Moss
To ••• With Passwords
jacobian
4
1.1k
How to Ace a Technical Interview
jacobian
281
24k
Implementing Multi-factor Auth (dotSecurity 2016)
jacobian
10
1.6k
Heroku Under The Hood - Django Under The Hood 2015
jacobian
9
740
Django's request/response cycle - Django Under The Hood 2015
jacobian
9
1.6k
Minimum Viable Security - Wharton Web Conference 2015
jacobian
1
1.4k
Django minus Django (DJangoCon EU 2014)
jacobian
12
1.5k
Heroku 101 – PyCon 2014
jacobian
1
1k
Be Agile, Not Vulnerable: Security engineering in an agile world
jacobian
8
870
Other Decks in Technology
See All in Technology
Slack上でインフラをトラブルシュートする! Agentic Platform Engineeringの第一歩
teru0x1
5
1.9k
Goodbye ShellScript, Hello File-based App
shunsock
0
790
AI de Idea
kawaguti
PRO
2
130
JSONataとAWS Step Functionsで目指すRuntimelessな世界
mu7889yoon
0
440
安心して変更できるWebフロントエンドの作り方
pirosikick
5
2.9k
Deployment の 先にある AI Agent 基盤 - kagent vNext、Agent Substrate、Hermes から読み解く Agent Runtime の現在地 / k8s-matsuri-2-ai-agent-platform-amsy810
masayaaoyama
4
710
AIによるクリエイティブ生成を行う上での試行錯誤
plaidtech
PRO
0
180
品質と信頼性を地続きにする
grimoh
2
950
時うどん〜Socket.getifaddrsで学ぶネットワーク編 / Tokiudon: The Socket.getifaddrs Edition
coe401_
4
220
積み重なった技術負債への挑戦 〜初手としての全社ゴト化〜
techtekt
PRO
0
1.6k
C#未経験の僕がAIに読めるコードを書かせるまで
maguroalternative
0
250
AIエージェントの一手は 誰も見ていない - Falco拡張OSS「Prempti」とeBPFで サーバーレス実行基盤を二層防御する
keitah
0
490
Featured
See All Featured
A designer walks into a library…
pauljervisheath
211
25k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
250
WCS-LA-2024
lcolladotor
0
830
Statistics for Hackers
jakevdp
799
230k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
580
Designing for Timeless Needs
cassininazir
1
480
Claude Code のすすめ
schroneko
67
230k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
570
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
710
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
390
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
500
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]