0
votes

Assuming that I trust Google to keep my datastore entities safe, there are other points of concern about data loss when using google datastore:

  • Some bug in my app could nuke a big chunk of entities.
  • Human error can cause data loss in app engine admin interface.

Other managed database systems, such as google cloud sql or amazon RDS, provide an automated backup and recovery solution. In case of a catastrophe, this will allow recovering lost data.

While google datastore admin enables backup/restore/copy possibilities, it does not sounds as an equivalent for the above.

  • Accumulated costs: Unlike google cloud sql, backing up datastore costs, and this cost increases as your app gets bigger. In fact, cost is not trivial at all for bigger apps.
  • Read-only restriction: The app must be in the read only mode when creating a backup. This is not convenient for a daily schedule.

What are some solutions for this?

1

1 Answers

0
votes

You might want to look into the Alpha feature for scheduled backups. Won't fix the cost issue (at all), but it bypasses the read-only restriction.

You need to upload a cron.yaml with a backup job in it, as per the doc, something like :

cron:
    - description: My Daily Backup
      url: /_ah/datastore_admin/backup.create?name=BackupToCloud&kind=LogTitle&kind=EventLog&filesystem=gs&gs_bucket_name=whitsend
      schedule: every 12 hours
      target: ah-builtin-python-bundle