This blog explains various database and data storage options available on Google cloud platform for different kinds of data storage and access needs.
Cloud Storage is fully managed and can scale dynamically. It is commonly used for object storage, video transcoding, video streaming, static web pages, and backup. It is designed to provide secure and durable storage while also offering optimal pricing and performance for our requirements through different storage classes.
Cloud Storage uses the concept of buckets. A bucket is the basic container where our data will reside and is attached to a GCP project, such as other GCP services. Each bucket name is globally unique and once created we cannot change it. There is no minimum or maximum storage size, and we only pay for what we actually use.
BigQuery
BigQuery is a fully managed, serverless analytics service. It can scale to petabytes of data and is ideal for data warehouse workloads. It is, of course, the analysis stage of our solution, and once Dataflow processes our data, BigQuery will provide the value to our business by querying large volumes of data in a very short period of time. Queries are executed in the SQL language; therefore, it will be easy to use for many. We should emphasize that BigQuery is enterprise-scale and can perform large SQL queries extremely fast—all without the need for us to provision any underlying infrastructure.
Cloud datastore provides both strong and eventual consistency and very low latency.
It's a good option for storing streaming data before we store it back to BigQuery.
Cloud SQL
Cloud SQL is a database service that makes it easy to set up, maintain, and manage our relational PostgreSQL or MySQL database on Google Cloud. Cloud SQL announced plans to release support for Microsoft SQL Server in future.
Cloud Spanner
There may be situations where we require horizontal scaling and Cloud SQL will not fit these requirements. Cloud Spanner is a cloud-native, fully managed offering that is designed specifically to combine relational database features such as support for ACID transactions and SQL queries with the horizontal scaling of a non-relational database. We should look to use Cloud Spanner when we require storage capacity requirements above 10 TB, as well as if we have requirements for high queries per second or to deliver over multiple regions. Unlike most databases, Cloud Spanner is globally distributed and provides a strongly consistent database service with high performance.
Bigtable
Bigtable is GCP's big data NoSQL database service. Bigtable is low latency and can scale to billions of rows and thousands of columns. It's also the database that powers many of Google's core services, such as Search, Analytics, Maps, and Gmail. This makes Bigtable a great choice for analytics and real-time workloads as it's designed to handle massive workloads at low latency and high throughput.
HBase is effectively an open source implementation of the Bigtable architecture and follows the same design philosophies. Bigtable stores its data in tables, which are stored in a key/value map. Each table is comprised of rows, which will describe a single entity.
Cloud Memorystore
Memorystore provides a fully managed Redis in-memory data store service. It is used to cache application data, session data, intermediator data like lookups. It provides sub-millisecond data access,