Live data from Hacker News

On Uber’s Choice of Databases

use-the-index-luke.com

1–10 of 15 posts

Re: On Uber’s Choice of Databases

#4
All of these response posts seem to miss one big piece that made no sense to me. Uber goes really in-depth around the higher cost of updates in postgres, but then Uber describes Schemaless as an immutable append only data store. They created a custom database with no updates, but one of their primary reasons for changing from postgres to mysql was because of the high cost of updates?

Re: On Uber’s Choice of Databases

#5
post #4

All of these response posts seem to miss one big piece that made no sense to me. Uber goes really in-depth around the higher cost of updates in postgres, but then Uber describes Schemaless as an immutable append only data store. They created a custom database with no updates, but one of their primary reasons for changing from postgres to mysql was because of the high cost of updates?

Schemaless is primarily a sharding scheme for MySQL. It's possible that using Postgres in an append-only manner would have created too many records to handle without an analogous sharding scheme.

Re: On Uber’s Choice of Databases

#6
post #4

All of these response posts seem to miss one big piece that made no sense to me. Uber goes really in-depth around the higher cost of updates in postgres, but then Uber describes Schemaless as an immutable append only data store. They created a custom database with no updates, but one of their primary reasons for changing from postgres to mysql was because of the high cost of updates?

From what I can tell Schemaless has updates but represents them as inserts. When you want to change something (e.g. change the billing status of a trip), it writes a new billing status for the trip and consumers will always ask for the latest billing status for the trip, which is the most recent and up-to-date one.

Take this with a grain of salt, I just read the Schemaless articles yesterday.

Re: On Uber’s Choice of Databases

#9
post #6
post #4

All of these response posts seem to miss one big piece that made no sense to me. Uber goes really in-depth around the higher cost of updates in postgres, but then Uber describes Schemaless as an immutable append only data store. They created a custom database with no updates, but one of their primary reasons for changing from postgres to mysql was because of the high cost of updates?

From what I can tell Schemaless has updates but represents them as inserts. When you want to change something (e.g. change the billing status of a trip), it writes a new billing status for the trip and consumers will always ask for the latest billing status for the trip, which is the most recent and up-to-date one. Take this with a grain of salt, I just read the Schemaless articles yesterday.

That is how I understood it too. Updating your data with a call to insert won't run into the same problems as updating your data with a call to update. Their immutability implementation seems like it would behave nearly the same under both databases.

Re: On Uber’s Choice of Databases

#10
post #4

All of these response posts seem to miss one big piece that made no sense to me. Uber goes really in-depth around the higher cost of updates in postgres, but then Uber describes Schemaless as an immutable append only data store. They created a custom database with no updates, but one of their primary reasons for changing from postgres to mysql was because of the high cost of updates?

Schemaless is primarily a sharding scheme for MySQL. It's possible that using Postgres in an append-only manner would have created too many records to handle without an analogous sharding scheme.

From the little I can see from their blog posts, Schemaless seems to be both a sharding layer and an immutability layer that can sit on top of postgres or mysql. However, discussing the costs of mutable data when you have created an immutable data storage layer doesn't make much sense.
Post reply on HN