Data Stores Versioning Changes are Going Live

Hi Creators!

This is a follow-up to the Upcoming Changes to Data Stores Versioning announcement. These changes to Data Stores versioning are now being released globally. Here’s what that means for you:

  1. Fewer, Optimized Versions: Now, only the first write to each key in each hour creates a versioned backup of the previous data. All successive writes to a key within the same hour permanently overwrite the previous data.

  2. Versions Available Longer: Non-current versions now expire 30 days after they are made non-current. This is always longer than the current behavior.

These two changes are in the process of being rolled out to all experiences. You may notice some of your experiences receive these changes before others. We expect to have all universes fully enrolled in the coming weeks.

  1. Data Stores Snapshots: CreateUniverseSnapshot is now available on Open Cloud. You can view the new endpoint here.

After a snapshot, the next write to every key in the experience will create a versioned backup of the previous data, regardless of the time of the last write. As a reminder, we encourage you to use this method before publishing any experience update which changes your data storage logic.

Please let us know if you have any questions or encounter any issues. We look forward to continuing making Data Stores versioning a better, easier to use tool for data recovery!

The Data Stores team

132 Likes

This topic was automatically opened after 9 minutes.

This is honestly amazing, thank you roblox!

14 Likes

Love it, now we have improvements which I really needed!

17 Likes

Sweet! Loving the new updates :partying_face:

10 Likes

Great! We need more updates like this.

8 Likes

Thank you so much Roblox! I very much appreciate it. :heart:

9 Likes

Hey, has this already been pushed to Open Cloud endpoints or are we still waiting on that? I know CreateUniverseSnapshot has, but anything else? Amazing update, thank you guys!

5 Likes

Once your experience is enrolled in changes (1) and (2), you’ll see the changes on both Open Cloud and Engine endpoints at the same time.

7 Likes

The truth is that creating a backup copy with the previous version of the data is quite good from my point of view so as not to lose anything by modifying the data storage logic.

¡Thanks, as always!

4 Likes

Openblox (my OpenCloud wrapper written in typescript) now supports the new CreateUniverseSnapshot endpoint.

Example

import "dotenv/config";
import { setConfig } from "openblox/config";
import { StandardDataStoresApi_V2 } from "openblox/cloud";

setConfig({ cloudKey: process.env.CLOUD_KEY })

;(async () => {

  const { data:snapshot } = await StandardDataStoresApi_V2.createStandardDataStoreSnapshot({ universeId: 5097539509 })
  console.log(snapshot)

})();

docs: createStandardDataStoreSnapshot – Nextra

8 Likes

Is there a way to lower the hour limitation for new versions to save? I prefer the old behavior where it updates on each save because it helps when pinpointing where data loss occurs.

3 Likes

how do i start a new Universe? does it allow sharing DataStores between places?

2 Likes

long overdue,
glad it’s finally here! :sunglasses:

4 Likes

This new behavior will apply to all experiences. We do acknowledge that you lose a level of granularity when debugging issues, but this change is necessary to continue improving the versioning system.

By using snapshots when you update your experience, you can ensure you have the most recent pre-update data available to revert to if the update leads to data loss. If the data loss occurs outside of an update/snapshot, you will still have previous versions at most one hour “stale”.

We’re investigating how we can give creators more control over this system. If you have any other ideas or insights, please open up a feature request!

6 Likes

Yes! Data Stores share data across all places in an experience. Experiences are sometimes referred to as universes.

This article has more information on publishing multiple places to the same experience/universe.

4 Likes

Would it be possible to retain all versions for a key within 24-48 hours of a save? I imagine many of us could forget/may never know or understand the concept of making a data snapshot.

When will automatic retry finally get implemented?

1 Like

For now, the one-version-per-hour rule will be applied. We’ll keep this feedback in mind for the future.

Even if you don’t use snapshots, you’ll still have access to one version each hour, including the most recent version.

1 Like

Hi! Which method are you referring to? We do make recommendations for which errors to retry on in our error code reference.