Slide 1

Slide 1 text

The first Post-SQL database? Jacob Kaplan-Moss [email protected]

Slide 2

Slide 2 text

“So… I have this conference… What I'm interested in is a talk about why Django chose to specifically recommend PostgreSQL.”

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

L A M P

Slide 7

Slide 7 text

Linux Apache MySQL Perl

Slide 8

Slide 8 text

Linux Apache PostgreSQL Python

Slide 9

Slide 9 text

Linux Apache PostgreSQL Python RabbitMQ

Slide 10

Slide 10 text

Linux Apache PostgreSQL Python RabbitMQ Elastic Search

Slide 11

Slide 11 text

Linux Apache PostgreSQL Python RabbitMQ Elastic Search Redis

Slide 12

Slide 12 text

Linux Apache PostgreSQL Python RabbitMQ Elastic Search Redis MongoDB

Slide 13

Slide 13 text

L A P P R E R M ? M A P P L E R R ?

Slide 14

Slide 14 text

“Modern web stack”

Slide 15

Slide 15 text

“If the implementation’s hard to explain, it’s a bad idea.” — The Zen of Python

Slide 16

Slide 16 text

Relational database: Task queue: RabbitMQ Search Engine: Elastic Search Key-Value database: Redis Document database: MongoDB

Slide 17

Slide 17 text

Relational database: Task queue: Search Engine: Elastic Search Key-Value database: Redis Document database: MongoDB

Slide 18

Slide 18 text

Relational database: Task queue: Search Engine: Key-Value database: Redis Document database: MongoDB

Slide 19

Slide 19 text

Relational database: Task queue: Search Engine: Key-Value database: Document database: MongoDB

Slide 20

Slide 20 text

Relational database: Task queue: Search Engine: Key-Value database: Document database:

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

One database to rule them all, One database to find them, One database to bring them all, And in the Cloud to bind them.

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

ˑ “PostSQL”

Slide 25

Slide 25 text

Post-

Slide 26

Slide 26 text

Postmodernism

Slide 27

Slide 27 text

Postmodernism: “The thing that comes after Modernism.”

Slide 28

Slide 28 text

Postmodernism: “We can never be pre-modern again.”

Slide 29

Slide 29 text

Post-

Slide 30

Slide 30 text

What do relational databases get right?

Slide 31

Slide 31 text

What do relational databases get right? ✓ Ad-hoc queries.

Slide 32

Slide 32 text

What do relational databases get right? ✓ Ad-hoc queries. ✓ Unified, standard* query language.

Slide 33

Slide 33 text

What do relational databases get right? ✓ Ad-hoc queries. ✓ Unified, standard* query language. ✓ A great and powerful respect for data.

Slide 34

Slide 34 text

What do NoSQL databases get right?

Slide 35

Slide 35 text

What do NoSQL databases get right? ✓ Ease of on-boarding.

Slide 36

Slide 36 text

What do NoSQL databases get right? ✓ Ease of on-boarding. ✓ Schemaless data storage.

Slide 37

Slide 37 text

“Static typing prevents certain kinds of failures. Unfortunately, it also prevents certain kinds of successes.” — Ned Batchelder

Slide 38

Slide 38 text

“Schemas prevent certain kinds of failures. Unfortunately, they also prevent certain kinds of successes.” — Me

Slide 39

Slide 39 text

What do NoSQL databases get right?

Slide 40

Slide 40 text

What do NoSQL databases get right? ✓ Ease of on-boarding. ✓ Schemaless data storage.

Slide 41

Slide 41 text

What do NoSQL databases get right? ✓ Ease of on-boarding. ✓ Schemaless data storage. ✓ Easy horizontal scaling.

Slide 42

Slide 42 text

redis>  slaveof  1.2.3.4

Slide 43

Slide 43 text

Relational Non-relational ✓ Ad-hoc queries. ✓ SQL ✓ Respect for data. ✓ Ease of on-boarding. ✓ Schemaless data storage. ✓ Easy horizontal scaling.

Slide 44

Slide 44 text

PostSQL ✓ Ad-hoc queries. ✓ SQL ✓ Respect for data. ✓ Ease of on-boarding. ✓ Schemaless data storage. ✓ Easy horizontal scaling.

Slide 45

Slide 45 text

No content

Slide 46

Slide 46 text

$  ./postsql

Slide 47

Slide 47 text

$  ./postsql postsql@node1>  INSERT  INTO  cities  (name,  state)                                                        VALUES  ("Chicago",  "IL");

Slide 48

Slide 48 text

$  ./postsql postsql@node1>  INSERT  INTO  cities  (name,  state)                                                        VALUES  ("Chicago",  "IL"); postsql@node2>  SLAVEOF  node1;

Slide 49

Slide 49 text

PostgreSQL ➡ PostSQL? ➡ Easier installation and configuration. ➡ More support for schemaless operation. ➡ Easier replication and scaling.

Slide 50

Slide 50 text

PostgreSQL: The first PostSQL database. Jacob Kaplan-Moss [email protected]