Re: Why we lost Uber as a user
Bruce Momjian <bruce@momjian.us>
From: Bruce Momjian <bruce@momjian.us>
To: Josh Berkus <josh@agliodbs.com>
Cc: "Joshua D. Drake" <jd@commandprompt.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2016-07-26T21:56:12Z
Lists: pgsql-hackers
On Tue, Jul 26, 2016 at 02:26:57PM -0700, Josh Berkus wrote: > On 07/26/2016 01:53 PM, Josh Berkus wrote: > > The write amplification issue, and its correllary in VACUUM, certainly > > continues to plague some users, and doesn't have any easy solutions. > > To explain this in concrete terms, which the blog post does not: > > 1. Create a small table, but one with enough rows that indexes make > sense (say 50,000 rows). > > 2. Make this table used in JOINs all over your database. > > 3. To support these JOINs, index most of the columns in the small table. > > 4. Now, update that small table 500 times per second. > > That's a recipe for runaway table bloat; VACUUM can't do much because > there's always some minutes-old transaction hanging around (and SNAPSHOT > TOO OLD doesn't really help, we're talking about minutes here), and > because of all of the indexes HOT isn't effective. Removing the indexes > is equally painful because it means less efficient JOINs. > > The Uber guy is right that InnoDB handles this better as long as you > don't touch the primary key (primary key updates in InnoDB are really bad). > > This is a common problem case we don't have an answer for yet. Or, basically, we don't have an answer to without making something else worse. -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + As you are, so once was I. As I am, so you will be. + + Ancient Roman grave inscription +
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Advance backend's advertised xmin more aggressively.
- 94028691609f 9.5.0 cited
-
Improve snapshot manager by keeping explicit track of snapshots.
- 5da9da71c44f 8.4.0 cited