PGCon2012 - Final Release
PGCon 2012
The PostgreSQL Conference
Speakers | |
---|---|
Daniel Farina |
Schedule | |
---|---|
Day | Talks - 2 - Friday - 2012-05-18 |
Room | MRT 218 |
Start time | 09:00 |
Duration | 01:00 |
Info | |
ID | 446 |
Event type | Lecture |
Track | Scaling Out |
Language used for presentation | English |
The Horizontal Struggle
Improving the Experience of Scale-Out
Horizontal scale-out of applications using Postgres is typically a time-consuming, expensive, error-prone task. In spite of that, horizontal scale-out is achievable, even if not well-supported by the logical constructs Postgres exposes.
This talk is intended to share what we've learned from both our experiences at Heroku and, more importantly, the litany of customers that we are privileged to talk to about their problems. From these, a few choice gaps in functionality are highlighted for improvement.
The era of horizontal scale-out has long been upon-us. While some productively continue to outrun the problem by leveraging Moore's Law, others already have made the jump to fully distributed data management systems to achieve better scalability, availability, and latency around the globe. Some enthusiasts have even gone so far as to say that relational models will not gracefully survive and grow in the coming era.
The author of this talk is skeptical of this prediction, but acknowledges there are painful gaps in functionality that exist in all known generally-available production-class relational database systems in the domain of enabling scale-out of applications. He also thinks those gaps are, in all likelihood, solvable, without a huge upheaval to the implementation of Postgres nor applications written against it. Here, he will attempt to draw attention to:
The relationship between relational models, ACID, and usability
The sacrifices in usability made by most distributed data management software not intrinsic to their advantages
The surprisingly few basic use-cases required by most people struggling with horizontal scalability
The current state of the art in using Postgres as a member in a distributed system
Choice weaknesses to make progress on, and sketches on mechanism to address them