Bubble backs up your application data in a few redundant ways to ensure no data loss. Here again, how far you can go will depend on your plan. The database is all the 'things' that have been created by your users through some workflows. It is structured around the concept of types and fields, as explained in the Working with Data chapter.
You can do two things with your application database. You can restore it to a previous point in time, or copy it across versions.
In the case of something going wrong, for instance a workflow being wrongly set up that deletes some things, you can restore your data to a previous point in time. This is a dangerous operation and should only be done in case of absolute necessity. If you revert your database to a week from today, all users that signed up to your service over the last week will lose their accounts and will not be able to login.
Restoring your data is done in the App Data section of the Data Tab.
You first pick the version you want to restore, then a time and confirm. You can decide to only restore one type of things, but you should do this with caution as if some things are related, this can lead to data inconsistencies. Similarly to version control for your app, you can revert a restore that didn't lead to the expected result by revert again to a few second before the previous revert.
Restore operations can take a few minutes to execute if your database is large. You'll see a progress bar once you have started the process, and can close the popup and keep working on your app. It is safe to refresh the editor or close it once you have kicked off the process.
This option lets you cover the entire database, or only one type, from development to live and vice and versa. This option is usually used when you're launching your application in live and populated the database in development first (development to live), or to test a newer version of your app (or do some debugging) with live data.