jivid

Joined 13 years ago

Karma
114
Submissions
42
Member since
Feb 23
Production Engineer @ Facebook - MySQL Infrastructure Facebook: facebook.com/dr
View on Hacker News

Recent submissions

Comment · 9 years ago
Comment · 9 years ago
Comment · 10 years ago
In addition to what evanelias said, a logical dump also means we can load it into a MySQL instance running a different storage engine as well. In our case, it allows us to take a mysqldump from an InnoDB instance and load it into a MyRocks instance if we wish.
Comment · 10 years ago
Instance size varies a lot because we've got a lot of different MySQL workloads, some with very different configurations.

Remember we're backing up each database separately though, not the entire MySQL instance at once. Each database's backup is in a separate file.

Comment · 10 years ago
We run a single mysqldump with --single-transaction for each database on the server, nothing special.
Comment · 10 years ago
Comment · 10 years ago
Comment · 10 years ago
> Do you diff against the same base, or create an incremental chain? How many diffs do you take in between recapturing a full image? At $DAYJOB we always take full backups into a fast in-house deduplicating store.

We always diff against the same base and have 5 days in between subsequent full dumps. The number of days just comes from a trade off between space occupied by the backups and time it takes to generate them.

> Is there no better way to handling this than polling?

There's definitely different ways to approach this, we find polling works well for us. We also use the same database for crash recovery, so doing the assignments through it serves both purposes.

> Presumably you can only get this parallelism by disabling FK integrity. Is it re-enabled in the following VERIFY stage?

I'm not sure what you mean by parallelism through disabling FK integrity. Splitting the backup into its tables means we can restore a subset of tables instead of the entire backup. This allows us to load individual tables concurrently, but also not have to wait to load a massive database if all we need is a few small tables.

Comment · 10 years ago
Comment · 10 years ago
It works on top of Quartz Composer, which is OSX only I believe.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton