Local development with cloud-spanner

前端 未结 4 2086
北海茫月
北海茫月 2021-02-18 16:45

Is there any way to do local development with cloud spanner? I\'ve taken a look through the docs and the CLI tool and there doesn\'t seem to be anything there. Alternatively, ca

相关标签:
4条回答
  • 2021-02-18 16:59

    CockroachDB should behave similarly to Cloud Spanner for reads and you can run it natively on Mac OS X and Linux, and on Windows using Docker. For local development, the lack of TrueTime will not make a difference as everything is running on one machine.

    For writes you're out of luck right now. Spanner has a custom API for writes while CockroachDB supports standard INSERT/UPDATE/DELETE statements. The upshot of this is that CockroachDB is more likely to work with your ORM of choice and we're working hard to extend that support.

    0 讨论(0)
  • 2021-02-18 17:04

    There is now an emulator offered from Google for local development. As of 5/2020, it's in beta.

    https://cloud.google.com/spanner/docs/emulator

    It only stores data in memory, but you may be able to use the gcloud command line to backup and restore your development data to and from disk as needed.

    https://cloud.google.com/spanner/docs/backup/gcloud

    0 讨论(0)
  • 2021-02-18 17:10

    As Dan said, the currently supported way is to have multiple instances (dev, staging, prod) or you can put multiple databases in a single instance so share resource costs across the environments.

    We know that a local mock server is high on the list of productivity features that developers need.

    0 讨论(0)
  • 2021-02-18 17:12

    There is currently no local development option for Cloud Spanner. Your current option would be to start a single node instance on GCP.

    There currently isn't another database that operates like Cloud Spanner, however CockroachDB operates on similar principles. Since they don't have access to atomic clocks and GPS units, they do make different trade-offs. In particular around reads & writes and lacking 'stale reads'. You can read more on the Jepsen blog:

    Where Spanner waits after every write to ensure linearizability, CockroachDB blocks only on contested reads. As a consequence, its consistency guarantees are slightly weaker.

    0 讨论(0)
提交回复
热议问题