Similar to compute options, Google Cloud offers a variety of database products in which you can store the data. Each product has its unique features and can support various application options:
- Cloud SQL: This is a fully managed MySQL, Microsoft SQL Server, or PostgreSQL database service for traditional workloads such as CRM, ERP, e-commerce, or web applications.
- BigQuery: This is a serverless, highly scalable, and cost-effective multi-cloud data warehouse designed for business agility and offers up to 99.99% availability. It’s best to use for multi-cloud and real-time data analysis with built-in, ready-to-use machine learning models.
- Firestore: This is a serverless document database with built-in features such as high scalability and high availability (99.999%) that supports ACID transactions against document data. It’s best to use Firestore for mobile, web, or IoT applications with real-time or offline synchronization requirements.
- Cloud Spanner: This is a fully managed relational database with global, unlimited-scale, robust data consistency synchronization across regions and continents with up to 99.999% availability. Cloud Spanner customers use it for gaming, global financial ledger, or supply chain/inventory management use cases.
- Cloud Bigtable: This is a fully managed NoSQL (non-relational) database service with consistent sub-10 ms latency access, which can handle millions of requests per second and offers up to 99.999% availability. It can process more than 5 billion requests per second at peak and more than 10 exabytes of data under management. The ideal use case for Cloud Bigtable is applications such as personalization, AdTech, recommendation engines, or fraud detection.
This concludes our discussion of the database options in Google Cloud and when you should choose a specific database for your workload. In the next section, we will review options for storing data in Google Cloud.
This section covers various data storage options – object, block, and file storage. Every product and use case is different, and different product selections apply. The most important thing for us to understand is that block storage is required for VMs to be able to install the operating system of choice. In comparison, object storage cannot be used to install operating systems and cannot be used as a boot device for GCE VMs.
Let’s start with storage options for compute in Google Cloud.
Compute storage options
We have two options to choose from with GCE. We can use either a persistent disk or local solid-state drives (SSDs).
Like other planning considerations for computing or database workloads, choosing the appropriate storage options should be done carefully. We need to identify the desired storage size, performance requirements, and availability.
The Google Cloud storage advisor web page can guide you through different storage options and assess your requirements. The following links will help you to navigate through other storage options:
- https://cloud.google.com/architecture/storage-advisor#review_the_storage_options
- https://cloud.google.com/compute/docs/disks#introduction
- https://cloud.google.com/storage/docs/storage-classes#descriptions
Persistent disk
A standard disk is attached to every VM in GCE. Persistent disk offers us a variety of options that can be precisely mapped to our requirements. It is a block device used with every Compute Option VM utilized as a boot device:
- Zonal persistent disk: Zonal persistent disks provide durable storage and data location in one zone.
- Regional persistent disk: Regional persistent disks have storage qualities that are similar to persistent zonal disks. However, persistent regional disks provide durable storage and data replication between two zones in the same region.
- Standard persistent disk: Standard persistent disks (pd-standard) are backed by standard hard disk drives (HDDs).
- Balanced persistent disk: Balanced persistent disks (pd-balanced) are backed by SSDs. They are an alternative to SSD persistent disks that balances performance and cost.
- SSD persistent disk: SSD persistent disks (pd-ssd) are backed by SSDs and offer high input/output operations per second (IOPS) and throughput.
- Extreme persistent disk: Extreme persistent disks (pd-extreme) are backed by SSDs. Extreme persistent disks are designed for high-end database workloads with consistently high performance for both random access workloads and bulk throughput.