DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Related

  • Cloud Database Services Compared: AWS, Microsoft, Google, and Oracle
  • Cloud SQL Guidelines for Cloud Database Administration
  • Useful System Table Queries in Relational Databases
  • Sample Data Generation With Built-In Database Capabilities

Trending

  • Is the Data Warehouse Dead? 3 Patterns From Enterprise Architecture That Answer This Question
  • Migrate a Hardcoded LangGraph Agent to LaunchDarkly AI Configs in 20 Minutes
  • Stop Debugging Glue Jobs Manually: Building an Agentic Observability Layer for Data Pipelines
  • Observability for Agents and Workflows: Tracing Prompts, Tool Calls, and Business Outcomes End-to-End
  1. DZone
  2. Data Engineering
  3. Databases
  4. Top Five Google Cloud Database Services — Part 1 (SQL)

Top Five Google Cloud Database Services — Part 1 (SQL)

In this article, we’ll be looking at the top five Google Cloud database services and tools that support SQL in one form or another.

By 
Felix Schildorfer user avatar
Felix Schildorfer
·
Oct. 17, 22 · Tutorial
Likes (2)
Comment
Save
Tweet
Share
5.7K Views

Join the DZone community and get the full member experience.

Join For Free

Google Cloud Platform offers various cloud database tools and services based on what a company needs to accomplish with them. Thus, the different tools have different purposes.

In this article, we'll look at the top five Google Cloud database services/tools that support SQL in one form or another. I'll take you through each of their features and benefits and provide some code snippets. Above all, I'll briefly explain when you can use them. Here is what we will cover:

Database Tool Support Use Cases
Cloud SQL MySQL, PostgreSQL, SQL Server CRM ERP e-Commerce SaaS Apps.
Cloud Spanner Supports two SQL dialects: Google Standard SQL and PostgreSQL. Used for critical high-load transactions, for SQL and DML support, and also used together with JDBC.
AlloyDB PostgreSQL Enterprise workloads require high transaction throughput, large data sizes, or multiple read replicas.
Bare Metal Solution for Oracle Shift Workloads of Oracle to Google Cloud Creating new applications and microservices using Google services that connect to an Oracle database. More use cases can be found here.
BigQuery Serverless, Multi-Cloud Data Warehouse Multi-Cloud Analytics Real-time Processing Built-in ML.

1. Cloud SQL

Cloud SQL is a tool that enables you to manage all your relational databases, supports MySQL and PostgreSQL, and offers support for SQL Server. The tool eliminates the need for manual management and has robust features that make your process hassle-free.

Features

  • Cloud SQL automates all major DBMS-oriented processes, such as cloud backups, replication, and encryption patches. It also ensures that your database scales automatically so there's no downtime, and you can perform all your tasks without any form of interruption.
  • You can easily connect your database systems with App Engine, Google Kubernetes Engine, and the Compute Engine based on your requirements. The platform also allows you to work with on-premise systems and data.
  • The platform complies with major standards such as ISO 27001, SSAE 16, and PCI DSS. This way, it will always be in sync with the industry.
  • Besides cloud backups, one can also automate the failover process and perform cloud migration with minimal downtime. Since it is serverless, various manual operations such as managing, monitoring, and provisioning aren't required either.

Benefits

  • Highly secure.
  • Easily scalable.
  • Hassle-free setup.

When to Use

Cloud SQL is used when the storage requirement is less than 10TB. It performs end-to-end relational database management for all your systems as long as it is within this limit.

Sample Code

A nested query in Cloud SQL will look something like the code given below:

 
SELECT firstname, lastname, total_quantity
    FROM (SELECT buyerid, sum(qtysold) total_quantity
            FROM sales
            GROUP BY buyerid
            ORDER BY total_quantity desc limit 10) Q, users
    WHERE Q.buyerid = userid
    ORDER BY Q.total_quantity desc;


2. Cloud Spanner

Cloud Spanner provides all the functions of Cloud SQL and goes even further by providing 99.999% availability at all times. Furthermore, it provides higher row consistency, and the performance is much more enhanced.

Features

  • Cloud Spanner enables the availability mentioned above across multiple regions and has much lesser downtime compared to four nines.
  • The performance is elevated because it shares the data based on the load and size. This way, scaling becomes more efficient and requires lesser human intervention.
  • Data is consistent across multiple regions. This means no matter where the users are from and how many users are simultaneously working on the database, the changes are up-to-date and consistent.
  • Once you choose a granular instance, you don't need to re-architecture or worry about scaling it.

Benefits

  • Automated scaling without any limits.
  • Available across the world at any time.
  • Simple experience and better performance.

When to Use

As mentioned earlier, Cloud Spanner provides better performance and higher availability than Cloud SQL. Furthermore, it has no storage limit like Cloud SQL. So if your infrastructure requires all this and more, you should use Cloud Spanner.

Sample Code

Here instead of selecting or retrieving data from the table, you can emulate a temporary table name using the WITH clause.

 
WITH Roster AS
 (SELECT 'Adams' as LastName, 50 as SchoolID UNION ALL
  SELECT 'Buchanan', 52 UNION ALL
  SELECT 'Coolidge', 52 UNION ALL
  SELECT 'Davis', 51 UNION ALL
  SELECT 'Eisenhower', 77)


The above command would create this table:

Last Name SchoolID
Adams 50
Buchanan 52
Coolidge 52
Davis 51
Eisenhower 77

3. AlloyDB for PostgreSQL

AlloyDB is one of the latest tools launched by Google: the tool sets itself apart from Cloud SQL and Cloud Spanner. This is because the latter two are compatible with PostgreSQL, whereas AlloyDB is a standard PostgreSQL database at its core.

Features

  • AlloyDB is 4x faster for transactional workloads and 10x faster for queries compared to the standard PostgreSQL. It is twice as fast as Amazon's Aurora PostgreSQL for transactional workloads.
  • Like Cloud Spanner, it has 99.999% availability across all regions.
  • The tool also allows moving legacy databases to their cloud with ease. This way, it tries to make its infrastructure more open-source and eliminates issues such as licensing and other boundaries.
  • Furthermore, with Cloud SQL and Cloud Spanner, one has to integrate BigQuery for better analytics. With AlloyDB, users won't have to do the same as the functionalities are in-built and readily available.
  • It also has built-in Vertex AI, which enables users to leverage AI and machine learning models for analytics.

Benefits

  • The tool showcases elevated performance and efficiency, which is better than Cloud Spanner, Cloud SQL, and Amazon's Aurora PostgreSQL.
  • A fit for AI and ML-powered systems.
  • Pricing is transparent and predictable without charges for licensing or opaque I/O.

When to Use

If your organization and infrastructure need a more open-sourced way of functioning with maximum performance, efficiency, and features, then AlloyDB is your go-to Google tool.

Sample Code

Since AlloyDB is a PostgreSQL-compatible tool, the sample code is of the same query language. The query below will help you to insert values into a table.

 
postgres=# insert into dummy_table values('XYZ','location-A',25);
        INSERT 0 1
        postgres=# insert into dummy_table values('ABC','location-B',35);
        INSERT 0 1
        postgres=# insert into dummy_table values('DEF','location-C',40);
        INSERT 0 1
        postgres=# insert into dummy_table values('PQR','location-D',54);
        INSERT 0 1


4. Bare Metal Solution for Oracle

A Bare Metal Solution is essential for organizations that have specialized workloads and involve the usage of highly sophisticated services but find it difficult to leverage the usual cloud. Google provides certified equipment for these workloads and places it in the data centers that run the cloud services.

This way, organizations can move to the cloud and use these high-intensive services that are integrated with the usual cloud services.

Features

  • With a minimal 2ms latency, organizations can use cloud services.
  • All major Oracle capabilities include database clustering, replication, and more.
  • The tool acts as a bridge between on-premises legacy systems and the cloud.
  • It also enables integration with services such as Ansible Based Toolkit and Kubernetes Operator for Oracle.

Benefits

  • Organizations can move their legacy-based infrastructure to the cloud without much hassle.
  • There's minimal latency while using various services.
  • Allows access to all Oracle capabilities, such as RAC and RMAN.

When to Use

This solution mainly applies to organizations with infrastructures rooted in Oracle. It enables them to modernize their whole setup by moving it to the cloud. It would also help companies to avoid being locked in and enable them to use functionalities from different vendors.

Sample Code

Since databases are connected with GCP database tools, you can use any query language depending on the database tool. Here I'll share a sample code for those running MySQL.

 
CREATE TABLE shop (
    article INT UNSIGNED  DEFAULT '0000' NOT NULL,
    dealer  CHAR(20)      DEFAULT ''     NOT NULL,
    price   DECIMAL(16,2) DEFAULT '0.00' NOT NULL,
    PRIMARY KEY(article, dealer));
INSERT INTO shop VALUES
    (1,'A',3.45),(1,'B',3.99),(2,'A',10.99),(3,'B',1.45),
    (3,'C',1.69),(3,'D',1.25),(4,'D',19.95);


5. BigQuery

BigQuery was launched to handle analytics dealing with millions of rows. As mentioned in the previous section, it is mainly used with Cloud SQL and Cloud Spanner for the same purpose since they have little-to-no analytical functionalities for such a scale.

Features

  • The tool enables natural language processing with the help of integrations such as Data Q&A and Analyze. This allows people to work with data from chatbots, spreadsheets, and other custom-built UIs.
  • Like AlloyDB, even BigQuery integrates Vertex AI. It also has TensorFlow integrated, and with these two, organizations can create custom AI/ML models of extensive complexity with just SQL.
  • BigQuery is one of the fundamental elements of Business Intelligence solutions that provide operations such as transformation, analysis, visualization, and reporting.
  • The tool provides real-time data capturing, analytics, and replication, which helps organizations make quicker decisions, thus increasing their performance and efficiency.

Besides all these, other robust features help companies work with petabytes of structured and unstructured data, allowing geospatial analytics, fine-grained data governance, and security on a row-based and column-based level.

Benefits

  • All data analytics operations reside in one place.
  • Ability to handle intensive data capturing and analysis for large-scale databases.
  • Real-time operations across different verticals.

When to Use

The tool can be used by large organizations that require real-time operations on petabytes of data. Its connectivity with other Google Cloud Database solutions, such as CloudSQL and Cloud Spanner, enables all kinds of operations, from the most basic to the most sophisticated.

Sample code can be found below:

 
WITH locations AS
  (SELECT STRUCT("Seattle" AS city, "Washington" AS state) AS location
  UNION ALL
  SELECT STRUCT("Phoenix" AS city, "Arizona" AS state) AS location)
SELECT l.location.*
FROM locations l;


In this case, we've used array structures in a nested query. While this is merely a sample, with BigQuery, you perform much more complex operations,  and hence the queries get complex too.

Conclusion

These are some of the most popular Google Cloud Database tools organizations use for their infrastructure. The code samples explain one simple task, and you can explore further by looking at the official Google Documents and Github. There are more SQL tools offered by Google, which we'll cover in this article's second part.

Cloud database MySQL Relational database Google (verb) sql

Published at DZone with permission of Felix Schildorfer. See the original article here.

Opinions expressed by DZone contributors are their own.

Related

  • Cloud Database Services Compared: AWS, Microsoft, Google, and Oracle
  • Cloud SQL Guidelines for Cloud Database Administration
  • Useful System Table Queries in Relational Databases
  • Sample Data Generation With Built-In Database Capabilities

Partner Resources

×

Comments

The likes didn't load as expected. Please refresh the page and try again.

  • RSS
  • X
  • Facebook

ABOUT US

  • About DZone
  • Support and feedback
  • Community research

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 215
  • Nashville, TN 37211
  • [email protected]

Let's be friends:

  • RSS
  • X
  • Facebook