谷歌云平台根据公司需要完成的任务提供各种云数据库工具和服务。因此,不同的工具有不同的用途。
在这篇文章中,我们将看到前五种以某种形式支持SQL的谷歌云数据库服务/工具,并带您了解它们的每个功能和优点,并提供一些代码片段。最重要的是,我将简要说明何时可以使用它们。以下是我们将介绍的内容:
数据库工具 | 支持 | 用例 |
---|---|---|
云 SQL | MySQL、PostgreSQL、SQL Server | CRM ERP 电子商务 SaaS 应用程序。 |
云扳手 | 支持两种 SQL 方言:Google Standard SQL 和 PostgreSQL。 | 用于关键的高负载事务,用于 SQL 和 DML 支持,也可与 JDBC 一起使用。 |
合金数据库 | PostgreSQL | 企业工作负载需要高事务吞吐量、大数据量或多个只读副本。 |
Oracle 裸机解决方案 | 将 Oracle 的工作负载转移到 Google Cloud | 使用连接到 Oracle 数据库的 Google 服务创建新的应用程序和微服务。更多用例可以在这里找到。 |
大查询 | 无服务器、多云数据仓库 | 多云分析实时处理内置 ML。 |
1.云SQL
Cloud SQL 是一种工具,可让您管理所有关系数据库,支持 MySQL 和 PostgreSQL,并提供对 SQL Server 的支持。该工具消除了对手动管理的需求,并具有使您的流程无忧的强大功能。
特征
- Cloud SQL 可自动执行所有主要的面向 DBMS 的流程,例如云备份、复制和加密补丁。它还确保您的数据库自动扩展,因此没有停机时间,并且您可以执行所有任务而不会出现任何形式的中断。
- 您可以根据自己的要求轻松地将数据库系统与 App Engine、Google Kubernetes Engine 和 Compute Engine 连接起来。该平台还允许您使用本地系统和数据。
- 该平台符合 ISO 27001、SSAE 16 和 PCI DSS 等主要标准。这样,它将始终与行业同步。
- 除了云备份之外,还可以自动化故障转移过程并以最少的停机时间执行云迁移。由于它是无服务器的,因此也不需要各种手动操作,例如管理、监控和配置。
好处
- 高度安全。
- 易于扩展。
- 无忧设置。
何时使用
当存储需求小于 10TB 时使用 Cloud SQL。只要在此限制范围内,它就会为您的所有系统执行端到端的关系数据库管理。
示例代码
Cloud SQL 中的嵌套查询类似于下面给出的代码:
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 提供 Cloud SQL 的所有功能,并且更进一步,始终提供 99.999% 的可用性。此外,它提供了更高的行一致性,并且性能得到了更大的增强。
特征
- Cloud Spanner 可跨多个区域实现上述可用性,并且与四个 9 相比,停机时间要少得多。
- 性能得到提升,因为它根据负载和大小共享数据。通过这种方式,扩展变得更加有效,并且需要更少的人工干预。
- 数据在多个地区是一致的。这意味着无论用户来自哪里以及有多少用户同时在数据库上工作,所做的更改都是最新且一致的。
- 选择粒度实例后,您无需重新架构或担心扩展它。
好处
- 没有任何限制的自动扩展。
- 全球随时可用。
- 简单的体验和更好的性能。
何时使用
如前所述,Cloud Spanner 提供比 Cloud SQL 更好的性能和更高的可用性。此外,它没有 Cloud SQL 那样的存储限制。因此,如果您的基础架构需要所有这些以及更多,您应该使用 Cloud Spanner。
示例代码
WITH
在这里,您可以使用子句模拟临时表名称,而不是从表中选择或检索数据。
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)
复制
上面的命令将创建这个表:
姓 | 学号 |
---|---|
亚当斯 | 50 |
布坎南 | 52 |
柯立芝 | 52 |
戴维斯 | 51 |
艾森豪威尔 | 77 |
3.AlloyDB for PostgreSQL
AlloyDB 是 Google 推出的最新工具之一:该工具将自己与 Cloud SQL 和 Cloud Spanner 区分开来。这是因为后两者与 PostgreSQL 兼容,而 AlloyDB 的核心是标准的 PostgreSQL 数据库。
特征
- 与标准 PostgreSQL 相比,AlloyDB 处理事务工作负载的速度提高了 4 倍,查询速度提高了 10 倍。对于事务性工作负载,它的速度是 Amazon Aurora PostgreSQL 的两倍。
- 与 Cloud Spanner 一样,它在所有区域都具有 99.999% 的可用性。
- 该工具还允许轻松地将遗留数据库移动到他们的云中。通过这种方式,它试图使其基础设施更加开源,并消除许可和其他边界等问题。
- 此外,使用 Cloud SQL 和 Cloud Spanner,必须集成 BigQuery 才能进行更好的分析。使用 AlloyDB,用户不必做同样的事情,因为这些功能是内置的并且随时可用。
- 它还具有内置的 Vertex AI,使用户能够利用 AI 和机器学习模型进行分析。
好处
- 该工具展示了更高的性能和效率,优于 Cloud Spanner、Cloud SQL 和 Amazon 的 Aurora PostgreSQL。
- 适合 AI 和 ML 驱动的系统。
- 定价透明且可预测,无需为许可或不透明的 I/O 付费。
何时使用
如果您的组织和基础架构需要一种更加开源的方式来发挥最大的性能、效率和功能,那么 AlloyDB 就是您的首选 Google 工具。
示例代码
由于 AlloyDB 是兼容 PostgreSQL 的工具,因此示例代码是相同的查询语言。下面的查询将帮助您将值插入表中。
postgres=# insert into dummy_table values('XYZ','location-A',25); INSERT 0 1 postgres=# insert into dummy_table values('A*B*C','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. Oracle 裸机解决方案
裸机解决方案对于具有专门工作负载并涉及使用高度复杂服务但发现难以利用常规云的组织至关重要。Google 为这些工作负载提供经过认证的设备,并将其放置在运行云服务的数据中心中。
通过这种方式,组织可以迁移到云并使用这些与通常的云服务集成的高强度服务。
特征
- 只需 2 毫秒的延迟,组织就可以使用云服务。
- 所有主要的 Oracle 功能都包括数据库集群、复制等。
- 该工具充当本地遗留系统和云之间的桥梁。
- 它还支持与诸如 Ansible Based Toolkit 和 Kubernetes Operator for Oracle 等服务的集成。
好处
- 组织可以毫不费力地将其基于传统的基础架构迁移到云端。
- 使用各种服务时延迟最小。
- 允许访·问所有 Oracle 功能,例如 RAC 和 RMAN。
何时使用
该解决方案主要适用于基础架构植根于 Oracle 的组织。它使他们能够通过将其迁移到云端来实现整个设置的现代化。它还将帮助公司避免被锁定,并使他们能够使用来自不同供应商的功能。
示例代码
由于数据库与 GCP 数据库工具相连,因此您可以根据数据库工具使用任何查询语言。在这里,我将为运行 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 的推出是为了处理处理数百万行的分析。如上一节所述,它主要与 Cloud SQL 和 Cloud Spanner 一起用于相同目的,因为它们几乎没有针对这种规模的分析功能。
特征
- 该工具在数据问答和分析等集成的帮助下实现了自然语言处理。这允许人们使用来自聊天机器人、电子表格和其他定制 UI 的数据。
- 与 AlloyDB 一样,BigQuery 也集成了 Vertex AI。它还集成了 TensorFlow,借助这两者,组织可以仅使用 SQL 创建具有广泛复杂性的自定义 AI/ML 模型。
- BigQuery 是商业智能解决方案的基本元素之一,可提供转换、分析、可视化和报告等操作。
- 该工具提供实时数据捕获、分析和复制,可帮助组织更快地做出决策,从而提高绩效和效率。
除了所有这些之外,其他强大的功能还可以帮助公司处理 PB 的结构化和非结构化数据,从而实现地理空间分析、细粒度数据治理以及基于行和基于列级别的安全性。
好处
- 所有数据分析操作都驻留在一个地方。
- 能够处理大型数据库的密集数据捕获和分析。
- 跨不同垂直领域的实时操作。
何时使用
该工具可供需要对 PB 级数据进行实时操作的大型组织使用。它与其他谷歌云数据库解决方案(如 CloudSQL 和 Cloud Spanner)的连接支持从最基本到最复杂的各种操作。
示例代码可以在下面找到:
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;
复制
在这种情况下,我们在嵌套查询中使用了数组结构。虽然这只是一个示例,但使用 BigQuery,您可以执行更复杂的操作,因此查询也会变得复杂。
结论
这些是组织用于其基础架构的一些最流行的谷歌云数据库工具。代码示例解释了一项简单的任务,您可以通过查看官方 Google 文档和 Github 进一步探索。Google 提供了更多 SQL 工具,我们将在本文的第二部分中介绍这些工具。
原文标题:Top Five Google Cloud Database Services — Part 1 (SQL)
原文作者:Felix Schildorfer
原文地址:https://dzone.com/articles/top-5-google-cloud-database-services-part-1-sql