Google Cloud Database Option(数据库选项说明)

关系数据库 

在关系数据库中,信息存储在表、行和列中,这通常最适合结构化数据。因此,它们用于数据结构不经常更改的应用程序。与大多数关系数据库交互时使用 SQL(结构化查询语言)。它们为数据提供 ACID 一致性模式,这意味着:

  • 原子性:事务中的所有操作都成功,否则操作被回滚。
  • 一致:事务完成时,数据库结构是合理的。
  • 隔离:事务不会相互竞争。数据库会调节对数据的竞争访问,以便事务看起来是按顺序运行的。
  • 持久:即使出现故障,应用事务的结果是永久的。

由于这些特性,关系数据库可用于需要高精度的应用程序以及金融和零售交易等交易查询。例如:在银行业务中,当客户提出资金转账请求时,您希望确保交易可行并且确实发生在最新的账户余额上,在这种情况下,错误或重新提交请求可能是可以的。

Google Cloud 中有三种关系数据库选项:Cloud SQL、Cloud Spanner 和 Bare Metal Solution。

  • Cloud SQL:在 Google Cloud 上提供托管的 MySQL、PostgreSQL 和 SQL Server 数据库。它降低了维护成本,并实现了数据库配置、存储容量管理、备份以及开箱即用的高可用性和灾难恢复/故障转移的自动化。因此,它最适合通用 Web 框架、CRM、ERP、SaaS 和电子商务应用程序。
  • AlloyDB:它是一种完全托管的 PostgreSQL 兼容数据库服务,可满足您最苛刻的企业数据库工作负载需求。它将 Google 的最佳功能与最受欢迎的开源数据库引擎之一 PostgreSQL 相结合,以实现卓越的性能、规模和可用性。AlloyDB 在事务工作负载方面比标准 PostgreSQL 快 4 倍,在分析查询方面快 100 倍。它通过支持机器学习的自动驾驶系统简化了数据库管理。AlloyDB 提供透明且可预测的定价,无需昂贵的许可,也无需支付不透明的 I/O 费用。
  • Cloud Spanner:Cloud Spanner 是一种企业级、全球分布且高度一致的数据库,可提供高达 99.999% 的可用性,专为将关系数据库结构的优势与非关系水平扩展相结合而构建。它是一种独特的数据库,将 ACID 事务、SQL 查询和关系结构与通常与非关系或 NoSQL 数据库相关联的可扩展性相结合。因此,Spanner 最适合用于游戏、支付解决方案、全球金融分类账、零售银行和库存管理等需要无限扩展能力以及强一致性和高可用性的应用程序。 
  • 裸机解决方案:提供硬件以在 Google Cloud 上以低延迟运行专门的工作负载。如果您想要将 Oracle 数据库提升并转移到 Google Cloud,这将特别有用。这可以实现数据中心退役并为旧版应用程序的现代化铺平道路。 

非关系数据库

非关系数据库(或 NoSQL 数据库)以非表格形式(如文档)存储复杂的非结构化数据。当需要组织大量复杂多样的数据,或数据结构定期变化以满足新的业务需求时,通常会使用非关系数据库。与关系数据库不同,它们的执行速度更快,因为查询不必访问多个表即可提供答案,这使它们成为存储可能频繁更改的数据或处理多种不同类型数据的应用程序的理想选择。例如,一家服装店可能有一个数据库,其中衬衫有自己的文档,其中包含其所有信息,包括尺寸、品牌和颜色,并留有空间供以后添加更多参数,如袖子尺寸、衣领等。

使 NoSQL 数据库快速运行的特性:

  • 通常,它们针对特定的工作负载模式(即键值、图形、宽列)进行了优化
  • 水平扩展,通常使用范围或散列分布
  • 最终一致性:许多 NoSQL 存储通常会在稍后的某个时间点表现出一致性(例如,在读取时延迟)。然而,Firestore 独一无二地提供了强大的全局一致性。
  • 事务:大多数 NoSQL 存储不支持跨分片事务或灵活的隔离模式。然而,Firestore 独一无二地提供了跨分片的 ACID 事务和可序列化的隔离。

由于这些特性,非关系型数据库用于需要大规模、可靠性、可用性和频繁数据更改的应用程序。它们可以通过添加更多服务器轻松地进行水平扩展,而不像某些关系型数据库那样通过随着数据增长而增加机器大小来进行垂直扩展。不过,某些关系型数据库(如 Cloud Spanner)支持横向扩展和严格一致性。

非关系型数据库可以存储各种非结构化数据,例如文档、键值、图表、宽列等。以下是 Google Cloud 中的非关系型数据库选项: 

  • 文档数据库:将信息存储为文档(JSON 和 XML 等格式)。例如:Firestore
  • 键值存储:将相关数据分组到集合中,并使用唯一键标识记录,以便于检索。键值存储具有足够的结构来反映关系数据库的值,同时仍保留 NoSQL 的优势。例如:Bigtable、Memorystore
  • 内存数据库:专门构建的数据库,主要依靠内存来存储数据。这些数据库旨在通过消除访问磁盘的需要来实现最短的响应时间。它们非常适合需要微秒响应时间且流量可能大幅增加的应用程序。例如:Memorystore
  • 宽列数据库:使用表格格式,但允许在每行中对数据进行命名和格式化,即使在同一张表中也是如此。它们具有一些基本结构,同时保留了很大的灵活性。例如:Bigtable
  • 图形数据库:使用图形结构来定义存储数据点之间的关系;有助于识别非结构化和半结构化信息中的模式。例如:JanusGraph

Google Cloud 中有三种非关系数据库:

  • Firestore:是一种无服务器文档数据库,可按需扩展、高度一致、提供高达 99.999% 的可用性并充当后端即服务。它是针对构建应用程序而优化的 DBaaS。它非常适合所有通用用例,例如电子商务、游戏、物联网和实时仪表板。借助 Firestore,用户可以与实时和离线数据进行交互和协作,这使其非常适合实时应用程序和移动应用程序。  

  • Cloud Bigtable:Cloud Bigtable 是一种稀疏填充表,可扩展到数十亿行和数千列,使您能够存储 TB 甚至 PB 级数据。它是存储大量单键数据的理想选择,延迟极低。它支持亚毫秒级延迟的高读写吞吐量,是 MapReduce 操作的理想数据源。它还支持开源 HBase API 标准,可轻松与 Apache 生态系统(包括 HBase、Beam、Hadoop 和 Spark)以及 Google Cloud 生态系统集成。

  • Memorystore:Memorystore 是 Google Cloud 上针对 Redis 和 Memcached 的完全托管内存数据存储服务。它最适合内存和临时数据存储,可自动执行配置、复制、故障转移和修补等复杂任务,让您可以花更多时间进行编码。由于 Memorystore 具有极低的延迟和高性能,因此非常适合 Web 和移动、游戏、排行榜、社交、聊天和新闻提要应用程序。

结论

选择关系数据库或非关系数据库很大程度上取决于用例。广义上,如果您的数据结构不会发生太大变化,请选择关系数据库。在 Google Cloud 中,对于任何通用 SQL 数据库,可使用 Cloud SQL,对于大规模全局可扩展、强一致的用例,可使用 Cloud Spanner。一般来说,如果您的数据结构以后可能会发生变化,并且对规模和可用性的要求更高,那么非关系数据库是更好的选择。

 https://zhengkai.blog.csdn.net/

The following table provides a high-level comparison of the major features of each database service:

FeatureCloud SQLBigQueryCloud SpannerBigtableCloud DatastoreFirestore
Database TypeRelationalData WarehouseRelational & NoSQLNoSQLNoSQLNoSQL
Use CaseTraditional DB AppsAnalytics, OLAPGlobally-distributed, mission-critical appsTime-series DataWeb & Mobile AppsReal-time Apps
ScalingVertical, ManualHorizontal, AutoHorizontal, AutoHorizontal, AutoHorizontal, AutoHorizontal, Auto
Data Size LimitUp to 30TBPetabytesPetabytesPetabytesNot SpecifiedNot Specified
PerformanceLow-latencyHigh-performanceHigh-performanceLow-latencyMediumMedium
Data ModelStructuredColumnar, Semi-structuredStructured & Semi-structuredWide-columnSemi-structuredSemi-structured
Consistency ModelACIDEventually ConsistentStrongly ConsistentEventual ConsistencyEventual ConsistencyStrongly Consistent
Query LanguageSQLSQLSQLNoSQL APIGQL (Datastore Query Language)GQL (Firestore Query Language)
Indexing SupportYesYesAutomatic & ManualYesAutomaticAutomatic
Cost ModelProvisionedOn-DemandOn-DemandOn-DemandOn-DemandOn-Demand
Real-time AnalyticsLimitedYesLimitedNoLimitedYes
Geospatial SupportLimitedLimitedYesNoYesYes
Native IntegrationsSome GCP ServicesMany GCP ServicesMany GCP ServicesLimitedMany GCP ServicesMany GCP Services
Use of PartitioningYesYesYesYesYesYes
Secondary IndexesYesNoYesYesYesYes

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/935235.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ArcGIS将MultiPatch数据转换为Obj数据

文章目录 ArcGIS将MultiPatch数据转换为Obj数据1 效果2 技术路线2.1 Multipatch To Collada2.2 Collada To Obj3 代码实现4 附录4.1 环境4.2 一些坑ArcGIS将MultiPatch数据转换为Obj数据 1 效果 2 技术路线 MultiPatch --MultipatchToCollada–> Collada --Assimp–> O…

微信小程序5-图片实现点击动作和动态加载同类数据

搜索 微信小程序 “动物觅踪” 观看效果 感谢阅读,初学小白,有错指正。 一、功能描述 a. 原本想通过按钮加载背景图片,来实现一个可以点击的搜索button,但是遇到两个难点,一是按钮大小调整不方便(网上搜索…

使用nmap确定扫描目标

nmap可以通过IP、主机名、域名等指定单一目标,也可以使用IP范围、列表文件、等指定多个IP。 单一目标 IP nmap IP主机名 nmap hostname域名 nmap domainname,可以通过--dns-server指定dns服务器地址,也可以通过--system-dns指定使用操作系统…

【C++】关联存储结构容器-set(集合)详解

目录 一、基本概念 二、内部实现 三、常用操作 3.1 构造函数 3.2 插入操作 3.3 删除操作 3.4 查找操作 3.5 访问元素 3.6 容量操作 3.7 交换操作 四、特性 五、应用场景 结语 一、基本概念 set是C标准模板库(STL)中的一种关联容器&#xf…

ssm-day03 aoptx

AOP AOP指的是面向对象思想编程问题的一些补充和完善 soutp、soutv 解耦通俗理解就是把非核心代码剥出来,减少对业务功能代码的影响 设计模式是解决某些特定问题的最佳解决方案,后面一点要记得学这个!!! cxk唱跳哈…

谷粒商城—分布式高级①.md

1. ELASTICSEARCH 1、安装elastic search dokcer中安装elastic search (1)下载ealastic search和kibana docker pull elasticsearch:7.6.2 docker pull kibana:7.6.2(2)配置 mkdir -p /mydata/elasticsearch/config mkdir -p /mydata/elasticsearch/data echo "h…

数据仓库的性能问题及解决之道

随着数据量不断增长和业务复杂度逐渐攀升,数据处理效率面临巨大挑战。最典型的表现是面向分析型场景的数据仓库性能问题越来越突出,压力大、性能低,查询时间长甚至查不出来,跑批跑不完造成生产事故等问题时有发生。当数据仓库出现…

云和恩墨 zCloud 与华为云 GaussDB 完成兼容性互认证

近日,云和恩墨(北京)信息技术有限公司(以下简称:云和恩墨)的多元数据库智能管理平台 zCloud 与华为云计算技术有限公司(以下简称:华为云)的 GaussDB 数据库完成了兼容性互…

分布式专题(4)之MongoDB快速实战与基本原理

一、MongoDB介绍 1.1 什么是MongoDB MongoDB是一个文档数据库(以JSON为数据模型),由C语言编写,旨在为WEB应用提供可扩展的高性能存储解决方案。 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富&#xf…

03篇--二值化与自适应二值化

二值化 定义 何为二值化?顾名思义,就是将图像中的像素值改为只有两种值,黑与白。此为二值化。 二值化操作的图像只能是灰度图,意思就是二值化也是一个二维数组,它与灰度图都属于单信道,仅能表示一种色调…

Linux下redis环境的搭建

1.redis的下载 redis官网下载redis的linux压缩包,官网地址:Redis下载 网盘链接: 通过网盘分享的文件:redis-5.0.4.tar.gz 链接: https://pan.baidu.com/s/1cz3ifYrDcHWZXmT1fNzBrQ?pwdehgj 提取码: ehgj 2.redis安装与配置 将包上传到 /…

印闪网络:阿里云数据库MongoDB版助力金融科技出海企业降本增效

客户背景 上海印闪网络科技有限公司,于2017年1月成立,投资方包括红杉资本等多家国际知名风投公司。公司业务聚焦东南亚普惠金融,常年稳居行业头部。创始团队来自腾讯,中国团队主要由运营、风控及产研人员组成,核心成员…

【有啥问啥】大语言模型Prompt中的“System指令”:深入剖析与误区澄清

大语言模型Prompt中的“System指令”:深入剖析与误区澄清 引言 在与大语言模型(LLM)交互时,“prompt”(提示符)这一概念已不再陌生。Prompt是引导模型生成特定类型文本的关键输入,决定了模型的…

【解决】Vue配置了端口号 发布项目仍会改变

1 梗概 这里记录Vue配置了端口号,npm run serve 发布运行仍会选择其他端口,一般是配置的端口号1 2 解决方案 网上有些教程说是由于 portfonder 版本问题,需要降低版本,可能这个的确是个解决方案。 还有说在package.json 中配置 &q…

uniapp-在windows上IOS真机运行(含开发证书申请流程)

前期准备 1、Itunes [Windows 32位 iTunes]下载地址、所有版本的iTunes下载地址 [Windows 64位 iTunes]下载地址、所有版本的iTunes下载地址 2、爱思助手 https://www.i4.cn/ 3、typeC转Usb接口 (物理意义的设备接口) 4、Mac电脑(用来生成证书&am…

网络层分析

网络访问层仍受到传输介质的性质和相关适配器的设备驱动程序的影响很大。网络层与网络适配器的硬件性质几乎是完全分离的。为什么是几乎呢?该层不仅负责发送和接受网络数据,还负责在彼此不直接连接的系统之间转发和路由分组。查找最佳路由并选择适当的网…

罗技键鼠更换新台式机无蓝牙通过接收器安装

优联驱动下载: http://support.logitech.com.cn/zh_cn/software/unifying (下载安装后按照步骤一步步操作,匹配后即可使用) 向京东客服反馈后提供的驱动下载安装连接 有问题欢迎评论沟通~

《Keras3 minist 手写数字AI模型训练22秒精度达到:0.97》

《Keras3 minist 手写数字AI模型训练22秒精度达到:0.97》 一、修改源码加上如下两条代码二、源码修改如下三、Keras3 minist 训练22秒结束,训练过程截图四、Keras3 minist 源码截图 一、修改源码加上如下两条代码 import os os.environ["KERAS_BAC…

装饰模式的理解和实践

在软件设计中,设计模式提供了一种可复用的解决方案,用于解决常见的设计问题。装饰模式(Decorator Pattern),也称为包装模式(Wrapper Pattern),是结构型设计模式之一。它通过一种对客…

游戏引擎学习第43天

仓库 https://gitee.com/mrxiao_com/2d_game 介绍运动方程 今天我们将更进一步,探索运动方程,了解真实世界中的物理,并调整它们,以创建一种让玩家感觉愉悦的控制体验。这并不是在做一个完美的物理模拟,而是找到最有趣…