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.5k
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
930
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
570
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.3k
Heroku 101 – PyCon 2014
jacobian
1
930
Be Agile, Not Vulnerable: Security engineering in an agile world
jacobian
8
730
Other Decks in Technology
See All in Technology
終了の危機にあった15年続くWebサービスを全力で存続させる - phpcon2024
yositosi
4
5.3k
サイボウズフロントエンドエキスパートチームについて / FrontendExpert Team
cybozuinsideout
PRO
5
38k
NilAway による静的解析で「10 億ドル」を節約する #kyotogo / Kyoto Go 56th
ytaka23
3
380
コンテナセキュリティのためのLandlock入門
nullpo_head
2
320
Amazon SageMaker Unified Studio(Preview)、Lakehouse と Amazon S3 Tables
ishikawa_satoru
0
150
re:Invent をおうちで楽しんでみた ~CloudWatch のオブザーバビリティ機能がスゴい!/ Enjoyed AWS re:Invent from Home and CloudWatch Observability Feature is Amazing!
yuj1osm
0
120
スタートアップで取り組んでいるAzureとMicrosoft 365のセキュリティ対策/How to Improve Azure and Microsoft 365 Security at Startup
yuj1osm
0
210
レンジャーシステムズ | 会社紹介(採用ピッチ)
rssytems
0
150
re:Invent 2024 Innovation Talks(NET201)で語られた大切なこと
shotashiratori
0
310
なぜCodeceptJSを選んだか
goataka
0
160
成果を出しながら成長する、アウトプット駆動のキャッチアップ術 / Output-driven catch-up techniques to grow while producing results
aiandrox
0
300
Fanstaの1年を大解剖! 一人SREはどこまでできるのか!?
syossan27
2
170
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
693
190k
Statistics for Hackers
jakevdp
796
220k
VelocityConf: Rendering Performance Case Studies
addyosmani
326
24k
Six Lessons from altMBA
skipperchong
27
3.5k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
We Have a Design System, Now What?
morganepeng
51
7.3k
Code Review Best Practice
trishagee
65
17k
Building Your Own Lightsaber
phodgson
103
6.1k
Done Done
chrislema
181
16k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.2k
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]