Cloud Datastore |
- Horizontally scalable NoSQL DB
- Designed for application backends
- Built-in redundancy
- Supports ACID transactions
- Features
- Atomic transactions
- High availability of reads and writes
- Massive scalability with high performance
- Balance of strong and eventual consistency (entity lookups and ancestor queries always receive strongly consistent data, all other queries are eventually consistent)
- Encryption at rest
|
Cloud Bigtable |
- NoSQL
- For single keyed large-scale data (where each value < 10MB) and requirement for low-latency & good data processing throughput
- Features
- Replicated storage
- Data encryption in-flight and at rest
- Role-based ACLs
- Big data analytics (~Petabytes), stream processing, machine-learning, batch MapReduce operations
- Data samples
- Marketing data
- Financial data (transaction histories, stock prices, etc.)
- Internet of Things data
- Time-series data
|
Cloud SQL |
- Full relational database capability (supports PostgreSQL, MySQL, and SQL)
- Data Requirements
- Structured data
- Less than
10TB , less than 4000 concurrent connections - No global transactions
- Features
- Vertical scalability (read and write)
- Horizontal scalability (read)
- Automatic replication (read replicas)
- Managed backups (point-in-time recovery)
- Security
- Each instance includes a network firewall
- Data is encrypted when stored in database tables, temporary files, and backups
|
Cloud Spanner |
- Globally-distributed and strongly consistent relational database
- Data Requirements
- Structured data
- Transactional consistency
- For large amount of data (greater than
10TB ~ billions of data per day) - Many IOPS (Tens of thousands of reads/writes per second or more)
- Features
- Strong global consistency
- Vertical scalability + global horizontal scalability
- Automatic replication
|
Cloud Firestore |
- NoSQL document database that runs on a serverless platform
- Mobile database service that can synchronize data between mobile devices and centralized storage + real time analysis
- Small set of data (less than
1TB ) - Zero down-scaling
|
BigQuery |
- Permissions are granted to datasets
- Cannot grant permissions at the table, row, or column level
- All tables in a dataset need to share the same permissions
- The user who created a dataset is the owner
- Authorized Views
- Provide row or column level permissions to datasets
- Functioning
- To create authorized views, Create a second dataset with different permissions from the first
- Add a view to the second dataset that selects the subset of data you want to expose from the first dataset
- In the first dataset, you then have to give the view access to the underlying data
|