A local emulator for Cloud Bigtable with persistence to a sqlite3 backend.
The Cloud SDK provided cbtemulator
is in-memory and does not support persistence which limits it's applicability. This project is a fork of cbtemulator
from google-cloud-go/bigtable/bttest
cbtemulator |
"little" Bigtable | Bigtable | |
---|---|---|---|
Storage | In-Memory | sqlite3 | Distributed GFS |
Type | Emulator | Emulator | Managed Production Datastore |
Scaling | Single process | Single process | Scalable multi-node backend |
GC | async GC | per-row GC at read time |
Usage of ./little_bigtable:
-db-file string
path to data file (default "little_bigtable.db")
-host string
the address to bind to on the local machine (default "localhost")
-port int
the port number to bind to on the local machine (default 9000)
-version
show version
In the environment for your application, set the BIGTABLE_EMULATOR_HOST
environment variable to the host and port where little_bigtable
is running. This environment variable is automatically detected by the Bigtable SDK or the cbt
CLI. For example:
$ export BIGTABLE_EMULATOR_HOST="127.0.0.1:9000"
$ ./run_my_app
Some filters are not implemented or have partial support. See cbtemulator docs
This tool is heavily optimized to suite the needs of the beaconcha.in project and is no longer a general purpose bigtable emulator.