google 用什么数据库-google大数据
如何为我的应用程序选择正确的数据库? 这在很大程度上取决于用例特性,例如事务处理、分析处理、内存数据库等……当然,我们在选择时还需要考虑其他因素。
这篇文章涵盖了适用于关系 (SQL) 和非关系 (NoSQL) 数据库的 Google Cloud 的不同选项,并解释了哪些用例最适合哪种数据库类型。
在关系数据库中,数据存储在表、行和列中,通常为结构化数据。 因此,当数据结构不经常变化时,通常使用关系数据库。 在与大多数关系数据库交互时经常使用 SQL,它为数据提供 ACID 一致的模式。
主要特点包括:
由于这些特性,关系数据库通常用于需要高精度的应用程序和交易查询,例如金融和零售交易。 示例:在银行业务中,当客户提出资金转账请求时,我们希望确保交易是可能的,并且交易确实发生在最新的账户余额上,在这种情况下,出错或重新提交请求可能没问题.
Google Cloud 提供三种关系数据库选项:Cloud SQL、Cloud Spanner 和 Bare Metal Solution。
云端SQL
在 Google Cloud 上提供托管的 MySQL、PostgreSQL 和 SQL Server 数据库。 它可降低维护成本并自动执行数据库配置、存储容量管理、备份以及开箱即用的高可用性和灾难恢复/故障转移。 因此它最适合常见的 Web 框架、CRM、ERP、SaaS 和电子商务应用程序。
云扳手
Cloud Spanner 是一个企业级、全球分布式、高度一致的数据库,可提供高达 99.999% 的可用性,专为结合关系数据库结构和非关系横向扩展的优势而构建。 它是一个独特的数据库,结合了 ACID 事务、SQL 查询和关系结构,以及通常与非关系或 NoSQL 数据库相关的可扩展性。 因此,Spanner 最适合游戏、支付解决方案、全球财务分类账、零售银行和库存管理等需要无限扩展性、强一致性和高可用性的应用程序。
裸机解决方案
该程序提供硬件以在 Google Cloud 上以低延迟运行专门的工作负载。 如果您想将 Oracle 数据库提升并移动到 GCP,此方案特别有用。 可以说,这一解决方案逐渐让数据中心“退出历史舞台”,为应用的现代化铺平了道路。
非关系数据库
非关系数据库(或 NoSQL 数据库)以非表格形式(例如文档)存储复杂的非结构化数据。 当需要组织大量复杂多样的数据时,通常会使用非关系数据库。
与关系数据库不同,非关系数据库执行速度更快,因为查询不必访问多个表来提供答案,这使它们非常适合存储可能经常更改的数据或处理许多不同类型数据的应用程序。
例如,一家服装店可能有一个数据库,其中衬衫有自己的包含所有信息的文档。 包括尺码、品牌和颜色,并为以后添加更多参数(如袖号、衣领等)留出空间。
主要特点包括:
由于这些特点,非关系数据库被用于需要大规模、可靠性、可用性和频繁数据更改的应用程序。 它们可以通过添加更多服务器轻松扩展。 与某些关系数据库不同,随着数据的增长,您需要通过增加机器大小来进行扩展。 当然,一些关系型数据库,比如Cloud Spanner,也支持横向扩展和强一致性。
非关系型数据库可以存储各种非结构化数据,如文档、键值、图形、宽列等。谷歌云中有以下非关系型数据库:
文档数据库:将信息存储为文档(以 JSON 和 XML 等格式)。 例如:Firestore;
键值存储:将集合中的相关数据分组,并使用唯一键标识记录以便于检索。 键值存储的结构足以反映关系数据库的价值,同时仍保留 NoSQL 的优势。 例如:Datastore、Bigtable、Memorystore;
内存数据库:主要依靠内存进行数据存储的专用数据库。 这些旨在通过消除访问磁盘的需要来实现尽可能短的响应时间。 它们非常适合需要微秒响应时间并且可能有大流量峰值的应用程序。 例如:Memorystore;
宽列数据库:使用表格格式,但即使在同一个表中,每一行的数据命名和格式也非常不同。 它们具有一些基本结构,同时保留了很大的灵活性。 例如:大表
图数据库:使用图结构来定义存储数据点之间的关系,以识别非结构化和半结构化信息中的模式。 例如:JanusGraph。
让我们仔细看看谷歌云中的三个非关系数据库:
Firestore
它是一个无服务器文档数据库,可按需扩展并充当后端,DBaaS 提高了构建应用程序的速度。 它非常适合所有通用用例,例如电子商务、游戏、物联网和实时仪表板。 借助 Firestore,用户可以与实时或离线数据进行交互和协作,这意味着 Firestore 非常适合实时应用程序和移动应用程序。
云大表
Cloud Bigtable 是一个单索引、系数表,可以扩展到数十亿行和数千列,能够存储 TB 甚至 PB 级的数据。 非常适合存储大量的单键数据,延迟极低。 其读写延迟为亚毫秒级,支持高吞吐量。 它是 MapReduce 操作的理想数据源。 它还支持开源的 HBase API 标准,可轻松与包括 HBase、Beam、Hadoop 和 Spark 在内的 Apache 生态系统以及 Google Cloud 生态系统集成。
应用场景包括金融大数据分析(交易历史、股价、汇率)、广告营销(购买历史和用户行为)、能源/物联网(电表和家电数据)、生物医药和电信google 用什么数据库,包括时间序列数据。 基准案例也是财务软件巨头SunGuard的审计原型系统,每秒可处理250万条交易信息。
记忆库
这是一个完全托管的内存数据存储服务,适用于 Google Cloud 上的 Redis 和 Memcached。 最适合内存和临时数据存储,并自动执行配置、复制、故障转移和修补等复杂任务,以便消费者可以将更多时间花在编码上。 由于它提供极低的延迟和高性能,Memorystore 非常适合游戏、排行榜、社交、聊天和新闻等应用程序。
一般来说,选择关系数据库还是非关系数据库很大程度上取决于用例。 如果您的应用程序需要 ACID 事务并且数据结构变化不大,那么关系数据库就是最佳选择。
在 Google Cloud 中google 用什么数据库,您可以将 Cloud SQL 用于任何通用 SQL 数据库,将 Cloud Spanner 用于大规模、全球可扩展、高度一致的用例……
对于非关系数据库,Google Cloud 当然提供了很多选项,例如 Firestore、Memorystore、Cloud Bigtable 等,它们支持跨文档、键值和宽列数据库范围的各种用例。
有关数据库的更多比较信息,您可以查看下面的链接。
: