Nov 4, 2017

Difference between Google Cloud BigTable and Datastore

The main differences are:
  • BigTable seems to be designed for HBase compatibility, whereas Datastore is more geared towards Python/Java/Go web app developers (originally App Engine) 
  • BigTable is 'a bit more IaaS' than Datastore in that it's not 'just there' but requires a cluster to be configured.
  • BigTable supports only one index - the 'row key' (the entity key in Datastore)
    • This means queries are on the Key, unlike Datastore's indexed properties
  • BigTable supports atomicity only on a single row - there are no transactions
  • Mutations and deletions appear not to be atomic in BigTable, whereas Datastore provides eventual and strong consistency, depending on the read/query method
  • The billing model is very different:
    • Datastore charges for read/write operations, storage and bandwidth
    • BigTable charges for 'nodes', storage and bandwidth