ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

前五名 Google Cloud 数据库服务 — 第 1 部分 (SQL)

2022-11-01 16:02:34  阅读:328  来源: 互联网

标签:Google Cloud platform 公司 数据库 mysql 代码


Google Cloud Platform 根据公司需要使用它们完成的任务提供各种云数据库工具和服务。因此,不同的工具有不同的用途。

在本文中,我们将介绍以这种或那种形式支持SQL的前五名Google Cloud数据库服务/工具。我将带您了解它们的每个功能和优点,并提供一些代码片段。最重要的是,我将简要解释何时可以使用它们。以下是我们将介绍的内容:

数据库工具 支持 使用案例
云 SQL MySQL, PostgreSQL, SQL Server CRM ERP 电子商务 SaaS 应用程序。
云扳手 支持两种SQL方言:Google Standard SQL和PostgreSQL。 用于关键的高负载事务,用于 SQL 和 DML 支持,也与 JDBC 一起使用。
合金数据库 PostgreSQL 企业工作负载需要高事务吞吐量、大数据大小或多个只读副本。
面向甲骨文的裸机解决方案 将 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 时,使用云 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 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('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. 甲骨文裸机解决方案

对于具有专用工作负载并涉及使用高度复杂服务但发现难以利用通常的云的组织来说,裸机解决方案至关重要。Google 为这些工作负载提供经过认证的设备,并将其放置在运行云服务的数据中心。

这样,组织可以迁移到云并使用这些与常规云服务集成的高强度服务。

特征

  • 以最小的 2 毫秒延迟,组织可以使用云服务。
  • 所有主要的 Oracle 功能都包括数据库群集、复制等。
  • 该工具充当本地旧系统和云之间的桥梁。
  • 它还支持与Ansible Based Toolkit和Kubernetes Operator for Oracle等服务集成。

好处

  • 组织可以轻松将其基于旧版的基础架构迁移到云中。
  • 使用各种服务时的延迟最小。
  • 允许访问所有 Oracle 功能,例如 RAC 和 RMAN。

何时使用

此解决方案主要适用于具有植根于 Oracle 的基础架构的组织。它使他们能够通过将整个设置移动到云来现代化他们的设置。它还将帮助公司避免被锁定,并使他们能够使用来自不同供应商的功能。

示例代码

由于数据库与 GCP 数据库工具连接,因此您可以使用任何查询语言,具体取决于数据库工具。在这里,我将为运行MySQL的用户分享一个示例代码。

标签:Google,Cloud,platform,公司,数据库,mysql,代码
来源:

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有