Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Postgres Is the New Default

C64a0152c9b0928e62d88f0bb5eb8138?s=47 Ines Sombra
September 19, 2012

Postgres Is the New Default

Postgres is the new default – How we transitioned our platform at Engine Yard and why you should too.

Given at Postgres Open 2012. Video is available here: http://www.youtube.com/watch?v=sFfJjfOk9NA

C64a0152c9b0928e62d88f0bb5eb8138?s=128

Ines Sombra

September 19, 2012
Tweet

Transcript

  1. Postgres is the new default How we transitioned our platform

    and why you should too
  2. I work with Data!

  3. Agenda • Where we were • Our relationship with Postgres

    • Challenges • Our future together
  4. We live in The Cloud!

  5. Engine Yard • Languages • Amazing Support • Team DBAs

    & me • 2 Products *
  6. > 1 Petabyte

  7. No multi-tenancy.

  8. ...A year (or so) ago

  9. Engine Yard Cloud • Only MySQL 5.0 • 8.3 in

    perpetual Alpha • No Slaves, No Docs • Increasing interest • Stack Expansion - DIRTT
  10. Our Relationship with Postgres

  11. Infatuation Stage 1

  12. Why love Postgres? • Flexible Replication: streaming & hot standby

    • Features & Extensions • Versatile Data Types • FDWs
  13. Why love Postgres? • All of the Indexes! • B-tree,

    GiST, GIN, SP-Gist* • Procedural Languages (PL) • Full-Text Search
  14. Why love Postgres? • Feature parity with Managed • Outstanding

    community & commercial support • Let’s make it our default!
  15. Understanding Stage 2

  16. Re-Tool • MySQL Shop • DBA Training: DBAs & Engineers

    • OSS to help us gain velocity
  17. Customer Education • Customer Facing Docs focused on MySQL •

    Technical Writers FTW!
  18. Disturbances Stage 3

  19. Roadmap issues • Shiny new process for DB releases •

    Alpha, Beta, GA • Surprise we got it WRONG!
  20. Multiple Architectures • EBS Volumes & 32-bit instance sizes •

    Dump & Restore only way to vertically scale
  21. Bad Assumptions • Product codebase tied to old assumptions •

    MySQL everywhere • Refactor!
  22. Moulding Stage 5

  23. Company-Wide Effort

  24. Installation • Engine Yard Cloud • Chef > EBS •

    Engine Yard Managed • Puppet > Storage
  25. Configuration • $PGDATA on EBS • We don’t RAID •

    Snapshots to S3 • pg_xlog same volume
  26. Replication • Archiving on db_master • hot_standby slaves • All

    slaves <> AZs • Smaller slaves
  27. Monitoring • Bucardo’s check_postgres • Collectd & Nagios • Process

    health, replication, checkpoints - MORE
  28. Backups • Internal tool wraps around pg_dump • Snapshots &

    dumps to S3 • Only backup from slave (if present)
  29. Allow Extensions • Dedicated instances • Customizations OK! • Ship

    recipes for ~30 extensions • Curated & tested
  30. Architectures • New instance types: 64-bit small, mediums • Standardized

    instances architecture 64-bit
  31. Happiness & Trust Stage 9

  32. Future Directions • 9.2 Support • AWS Optimizations • Provisioned

    IOPS • EBS optimized instances • SSD-backed instances
  33. Future Directions • Painless upgrades • Better extensions • Ugh

    to cookbooks! • HA/DR
  34. Future Directions • Customer education still a problem • Low

    adoption of slaves • ~146 year ago • ~165 now
  35. Give us a try!

  36. Questions? @RandomMood