Postgres Open

876 views

Published on

History of Engine Yard's relationship with PostgreSQL. How we went from minimal PostgreSQL support to making it our new default.

Video is available here: http://www.youtube.com/watch?v=sFfJjfOk9NA

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
876
On SlideShare
0
From Embeds
0
Number of Embeds
61
Actions
Shares
0
Downloads
8
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Postgres Open

  1. 1. Postgresis the new defaultHow we transitioned our platformand why you should too
  2. 2. I work with Data!
  3. 3. Agenda• Where we were• Our relationship with Postgres• Challenges• Our future together
  4. 4. We live inThe Cloud!
  5. 5. Engine Yard• Languages• Amazing Support • Team DBAs & me• 2 Products *
  6. 6. > 1 Petabyte
  7. 7. No multi-tenancy.
  8. 8. ...A year (or so) ago
  9. 9. Engine Yard Cloud• Only MySQL 5.0• 8.3 in perpetual Alpha • No Slaves, No Docs• Increasing interest• Stack Expansion - DIRTT
  10. 10. Our Relationshipwith Postgres
  11. 11. Stage 1 Infatuation
  12. 12. Why love Postgres?• Flexible Replication: streaming & hot standby• Features & Extensions• Versatile Data Types• FDWs
  13. 13. Why love Postgres?• All of the Indexes!• B-tree, GiST, GIN, SP-Gist*• Procedural Languages (PL)• Full-Text Search
  14. 14. Why love Postgres?• Feature parity with Managed• Outstanding community &commercial support• Let’s make it our default!
  15. 15. Stage 2Understanding
  16. 16. Re-Tool• MySQL Shop • DBA Training: DBAs & Engineers• OSS to help us gain velocity
  17. 17. Customer Education• Customer Facing Docs focused on MySQL• Technical Writers FTW!
  18. 18. Stage 3 Disturbances
  19. 19. Roadmap issues• Shiny new process for DB releases• Alpha, Beta, GA• Surprise we got it WRONG!
  20. 20. Multiple Architectures • EBS Volumes & 32-bit instance sizes • Dump & Restore only way to vertically scale
  21. 21. Bad Assumptions• Product codebase tied to old assumptions• MySQL everywhere• Refactor!
  22. 22. Stage 5 Moulding
  23. 23. Company-Wide Effort
  24. 24. Installation• Engine Yard Cloud• Chef > EBS• Engine Yard Managed• Puppet > Storage
  25. 25. Configuration• $PGDATA on EBS • We don’t RAID • Snapshots to S3• pg_xlog same volume
  26. 26. Replication• Archiving on db_master • hot_standby slaves • All slaves <> AZs • Smaller slaves
  27. 27. Monitoring• Bucardo’s check_postgres• Collectd & Nagios• Process health, replication, checkpoints - MORE
  28. 28. Backups• Internal tool wraps around pg_dump• Snapshots & dumps to S3• Only backup from slave (if present)
  29. 29. Allow Extensions• Dedicated instances• Customizations OK!• Ship recipes for ~30 extensions• Curated & tested
  30. 30. Architectures• New instance types: 64-bit small, mediums• Standardized instances architecture 64-bit
  31. 31. Stage 9Happiness & Trust
  32. 32. Future Directions• 9.2 Support• AWS Optimizations • Provisioned IOPS • EBS optimized instances • SSD-backed instances
  33. 33. Future Directions• Painless upgrades• Better extensions • Ugh to cookbooks!• HA/DR
  34. 34. Future Directions• Customer education still a problem• Low adoption of slaves• ~146 year ago• ~165 now
  35. 35. Give us a try!
  36. 36. Questions? @RandomMood

×