The first PostSQL database?

The first PostSQL database?

My keynote given at PostgresOpen 2012.

2f5463832ccb768ccb4a1ca3607c27ef?s=128

Jacob Kaplan-Moss

September 18, 2012
Tweet

Transcript

  1. The first Post-SQL database? Jacob Kaplan-Moss jacob@jacobian.org

  2. “So… I have this conference… What I'm interested in is

    a talk about why Django chose to specifically recommend PostgreSQL.”
  3. None
  4. None
  5. None
  6. L A M P

  7. Linux Apache MySQL Perl

  8. Linux Apache PostgreSQL Python

  9. Linux Apache PostgreSQL Python RabbitMQ

  10. Linux Apache PostgreSQL Python RabbitMQ Elastic Search

  11. Linux Apache PostgreSQL Python RabbitMQ Elastic Search Redis

  12. Linux Apache PostgreSQL Python RabbitMQ Elastic Search Redis MongoDB

  13. L A P P R E R M ? M

    A P P L E R R ?
  14. “Modern web stack”

  15. “If the implementation’s hard to explain, it’s a bad idea.”

    — The Zen of Python
  16. Relational database: Task queue: RabbitMQ Search Engine: Elastic Search Key-Value

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

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

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

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

  21. None
  22. One database to rule them all, One database to find

    them, One database to bring them all, And in the Cloud to bind them.
  23. None
  24. ˑ “PostSQL”

  25. Post-

  26. Postmodernism

  27. Postmodernism: “The thing that comes after Modernism.”

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

  29. Post-

  30. What do relational databases get right?

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

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

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

    Unified, standard* query language. ✓ A great and powerful respect for data.
  34. What do NoSQL databases get right?

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

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

    ✓ Schemaless data storage.
  37. “Static typing prevents certain kinds of failures. Unfortunately, it also

    prevents certain kinds of successes.” — Ned Batchelder
  38. “Schemas prevent certain kinds of failures. Unfortunately, they also prevent

    certain kinds of successes.” — Me
  39. What do NoSQL databases get right?

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

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

    ✓ Schemaless data storage. ✓ Easy horizontal scaling.
  42. redis>  slaveof  1.2.3.4

  43. Relational Non-relational ✓ Ad-hoc queries. ✓ SQL ✓ Respect for

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

    ✓ Ease of on-boarding. ✓ Schemaless data storage. ✓ Easy horizontal scaling.
  45. None
  46. $  ./postsql

  47. $  ./postsql postsql@node1>  INSERT  INTO  cities  (name,  state)    

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

                                                       VALUES  ("Chicago",  "IL"); postsql@node2>  SLAVEOF  node1;
  49. PostgreSQL ➡ PostSQL? ➡ Easier installation and configuration. ➡ More

    support for schemaless operation. ➡ Easier replication and scaling.
  50. PostgreSQL: The first PostSQL database. Jacob Kaplan-Moss jacob@jacobian.org