Skip to the content.
GCP Associate Cloud Engineer (ACE)
Databases
Cloud SQL
- It is a fully managed service of either MySQL, PostgreSQL or Microsoft SQL server
- Patches and updates are automatically applied
- We still have to manage and administer users for these databases
- Cloud SQL supports many clients:
gcloud sql
- App Engine, Google Workspace scripts
- Applications and tools:
- SQL Workbench, Toad
- External applications using standard MySQL drivers
- Cloud SQL high performance and scalability:
- Up to 64 TB of storage
- Up to 60_000 IOPS
- Up to 624 GB or RAM per instance
- Ability to scale out with read replicas
- Other Cloud SQL services:
- HA configuration: primary-standby instances with synchronous replications
- Backup service: automated and on-demand backups
- Import/export
- Scaling: up (change machine capacity), out (read replicas)
- Connecting to a Cloud SQL instance:
- Same project in the same region: chose private IP connection for most performance and most secure
- Other region, or from outside of GCP:
- Recommended: use Cloud SQL proxy (offers key rotation)
- Manual SSL connection
- Connect from authorized network (if no SSL connection is available)
Cloud Spanner
- It is a service built for the cloud to combine the benefits of relational structure with non-relational horizontal scale
- Can provide petabyte scale with transactional consistency at global scale
- Provides schemas, SQL and automatic replication for high availability
- Use cases include financial applications and inventory applications, traditionally served by relational databases
- Monthly uptime SLAs:
- Regional: 99.99%
- Multi-regional: 99.999%
- Cloud Spanner architecture:
- Cloud Spanner replicates data in N cloud zones (on region or several regions)
- Replication of data is synchronized through Google’s global network
- Uses atomic clocks to ensure atomicity
- Recommended when our data outgrown a traditional relational database
Firestore
- It is a fast, fully managed, serverless, NoSQL document database
- Simplifies storing, syncing and querying data for mobile, web and IoT data at global scale
- Client libraries provide live synchronization and offline support
- Supports ACID transactions
- With automatic replication, data is safe and available even is case of disaster (multi-region replication)
- It offer a powerful querying engine
- Firestore is the next generation of Cloud Datastore. Firestore can operate in Datastore mode making it backwards compatible with Datastore
- Firestore removes some Datastore limitations such as:
- Queries are no long eventually consistent
- Transactions are no longer limited to 25 entity groups
- Writes per entity are no longer limited to 1 per second
- Firestore in Native mode introduces the following features:
- Strongly consistent storage layer
- Collection and document data model
- Real-time updates
- Mobile and web client libraries
- General guideline is:
- Use Firestore in Datastore mode for server applications
- Use Firestore in Native mode for mobile and web apps
Cloud Bigtable
- It is a fully managed NoSQL bit data database with petabyte-scale and very low latency
- It seamlessly sells for throughput
- Ideal for Ad Tech, Fintech and IoT because supports high read and write throughput with low latency
- It a great storage engine for ML applications
- It integrates with open source big data tools such as Hadoop, Cloud Dataflow and Cloud Dataproc
- Supports the open source HBase API
- Cloud Bigtable stores data in massively scalable tables, each of which is sorted key-value map
- Table are composed of rows describing a single entity and columns
- Each row is indexed with a single row key
- Columns which do relate to each other are grouped together in column families
- Each column is identified by a combination of column family and column quantifier
- Cloud Bigtable tables are sparse
- Tables are sharded into blocks of contiguous rows, called tablets
- Tablets are similar to HBase regions
- Bigtables learns to adjust to certain access patterns
Cloud Memorystore
- It is a fully managed Redis service used for in-memory data storage
- It automates complex tasks such as: HA, failover, patches and monitoring
- The instance running Redis can be configured with 1GB to 300GB of memory