If the bad guys strike, or if you accidentally muck up important settings or delete important content, simply log in to your VaultPress dashboard and choose Backups from the left-hand navigation to see a list of your site backups and choose which backup you’d like to restore.

When you click on the Restore Database button, VaultPress will prepare your data and confirm restore. If you’re sure you want to go ahead, click on the Restore Database Now button:

Some databases are large. Very large. They can take a few hours to restore. During the restore process, you’ll see a progress message within your VaultPress dashboard:

When the restore is complete, you’ll see a success message in your VaultPress dashboard:

With one-click database restores, we’ve placed the power into your hands. If you have any questions about restoring your database, or would like some help, the VaultPress SafeKeepers are standing. Simply click on the Ask for Help link in your VaultPress dashboard:

Note that the VaultPress plugin must be installed and activated on your site to access the one-click restore. One-click restore is available for all VaultPress subscribers.

Thanks so much for this awesome feature. This would be very reassuring for people who are not very comfortable with manually handling the databases and I’m sure this would be a USP for VaultPress. I don’t think any other backup service comes even close to all the features provided by VP.

I always had a question I wanted to ask you, since you work with WordPress databases all the time. I have asked this to a few plugin and theme developers but never got a satisfactory answer. You mentioned that some databases are really large – I wanted to know how big a really large database can be and how does a large database affect the site processing speed?

I’d appreciate if you could give me some idea so I can compare it to the size of my blogs db to know where I’m at. Thanks.

We’ve seen customer databases with 20 million rows or more, and in the multi-gigabyte range.

What it really comes down to with Databases is: indexes, memory, and queries. The tables need to have good indexes for your queries, the commonly used indexes need to fit in RAM, and the queries need to make good use of those good-and-in-memory indexes.

A stock WordPress install can hold a truly massive amount of data in the database without slowing down given a properly configured DB server.

When you start introducing wacky new queries or tables via plugins and themes (custom or downloaded/purchased) is when you start needing to be more of a detective to keep things running smoothly. I’d like to make sure to say that I’m not pointing fingers and laying blame on the plugin and theme devs (who produce fantastic things and help make WordPress such an awesome thing to use.)

In database-land the same table structure and query can behave quite differently when there’s 1 row, 1,000 rows, 1,000,000 rows, and 100,000,000 rows. So something that has worked “fine” in every test till now can still reach a point where it’s pushed beyond and needs some tweaking to remain fast. This is the reason that you can have something that works great and then all of a sudden tanks for “no apparent reason.”

How long is your site down while this restoration takes place? What’s the order of operations? The video fast forwarded through the “dropping table” part which makes me nervous — shouldn’t the drop/rename be a near-instant thing at the end?

The site should not experience any downtime while the data is being restored.

Here is the order of operations for doing a database restore:
For each table in the backup drop any temporary tables created by a previous restore.
For each table in the backup create a temporary table like vp_368018_wp_posts and insert rows. The number in the table name is the backup number the user chose to restore.
After all rows have been inserted we execute a RENAME query to switch all of the table names at once.
After a successful restore, the user can choose to revert the restore or run a cleanup routine that will drop any temporary tables created by the restore.

I would love to see this technology incorporated into an official WordPress / Automattic “environment migrator”. Yes, I know there is import / export. Yes, I know there are other plugins that try and do this. But data is important and I would only trust WordPress / Automattic to do it right.

I would love to see something like this help developers easily move from local to test to live environments with ease (and maybe even keep them in sync).