Google Cloud database options (关于GCP数据库怎么选择)

news2025/4/16 20:40:19

背景

GCP提供了几种您可以从中选择的数据库服务,可是究竟该用哪个呢?

  • Cloud SQL:
  • Cloud Spanner:
  • BigQuery:
  • Cloud Bigtable:
  • Cloud Firestore:
  • Firebase Realtime Database:
  • Cloud Memorystore:

在这里插入图片描述

from Google Cloud database options

sort out by zhengkai.blog.csdn.net

关系数据库

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

  • 原子:事务中的所有操作都成功或操作被回滚。
  • 一致性:在事务完成后,数据库的结构是健全的。
  • 孤立的:事务处理之间不相互竞争。数据库调节对数据的争议访问,使事务似乎按顺序运行。
  • 持久性:应用事务的结果是永久性的,即使存在故障。

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

在谷歌云中有三个关系数据库选项:云SQL、云扳手和裸金属解决方案。

Cloud SQL:在谷歌云上提供托管的MySQL、PostgreSQL和SQL Server数据库。它降低了维护成本,并自动化了数据库配置、存储容量管理、备份和开箱即用的高可用性和灾难恢复/故障转移。由于这些原因,它最适合用于通用的web框架、CRM、ERP、SaaS和电子商务应用程序。

Cloud Spanner:Cloud Spanner(云扳手?)是一个企业级、全球分布式、且一致性强的数据库,提供高达99.999%的可用性,专门为将关系数据库结构与非关系水平规模的好处相结合而构建。它是一个独特的数据库,它将ACID事务、SQL查询和关系结构与通常与非关系或NoSQL数据库关联的可伸缩性结合在一起。因此,扳手最用于游戏、支付解决方案、全球金融账本、零售银行和库存管理等应用程序,这些应用程序需要具有强一致性和高可用性的无限扩展。

Bare Metal Solution 裸金属解决方案:提供硬件,以在谷歌云上运行专门的工作负载和低延迟。如果有一个Oracle数据库想要提升并转换到谷歌云,这一点特别有用。这使数据中心能够退役,并为遗留应用程序的现代化铺平了道路。

非关系数据库

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

使NoSQL数据库快速运行的品质:

通常,它们是针对特定的工作负载模式(即键值、图、宽列)进行了优化的

  • 水平缩放,通常使用范围分布或散列分布
  • 最终的一致性:许多NoSQL存储通常在以后的某个时候表现出一致性(例如,在读取时出现延迟)。然而,fisetore唯一地提供了强大的全局一致性。
  • 事务:大多数NoSQL存储不支持跨碎片事务或灵活的隔离模式。然而,Firetore唯一地提供跨可序列化隔离的ACID事务。

由于这些属性,非关系数据库被用于需要大规模、可靠性、可用性和频繁的数据更改的应用程序中。它们可以通过添加更多的服务器轻松地水平扩展,而不像一些关系数据库,它们通过随着数据的增长而增加机器大小来垂直扩展。尽管如此,一些关系数据库,如云扳手,支持向外扩展和严格的一致性。

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

  • 文档数据库:将信息存储为文档(以JSON和XML等格式)。例如:固定恢复
  • 键值存储:将集合中的关联数据进行分组,这些记录使用唯一的键进行标识,以便于检索。键值存储只有足够的结构来反映关系数据库的价值,同时仍然保留了NoSQL的好处。例如:大的记忆库
  • 内存数据库:主要依赖于内存来存储数据的专用数据库。这些设计是为了通过消除访问磁盘的需要来获得最小的响应时间。它们适用于需要微秒响应时间和流量峰值的应用程序。例如:存储库
  • 宽列数据库:使用表格格式,但在每行中数据的命名和格式化方面存在很大差异,即使在同一表中也是如此。它们有一些基本的结构,同时保留了很大的灵活性。例如:更大的
  • 图形数据库:使用图形结构来定义存储的数据点之间的关系;用于识别非结构化和半结构化信息中的模式。例如:JanusGraph

谷歌Cloud中有三个非关系数据库:

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

Cloud Bigtable:Cloud Bigtable(云大表?)是一个少人用的数据库,它可以扩展到数十亿行和数千列,使您能够存储tb甚至pb的数据。它非常适合以非常低的延迟存储非常大量的单键控数据。它支持亚毫秒延迟的高读写吞吐量,是MapReduce操作的理想数据源。它还支持开源的HBase API标准,可以轻松地与Apache生态系统集成,包括HBase、Beam、Hadoop和Spark,以及谷歌云生态系统。

Memorystore:Memorystore是一个完全管理的内存内数据存储服务,用于Redis和内存缓存在谷歌云。它最适合内存和瞬态数据存储,并自动化配置、复制、故障转移和补丁等复杂任务,以便您可以花费更多时间进行编码。因为它提供了极低的延迟和高性能,记忆商店非常适合用于网络和移动、游戏、排行榜、社交、聊天和新闻订阅应用程序。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【自然语言处理】隐马尔科夫模型【Ⅱ】隐马尔科夫模型概述

有任何的书写错误、排版错误、概念错误等,希望大家包含指正。 由于字数限制,分成六篇博客。 【自然语言处理】隐马尔可夫模型【Ⅰ】马尔可夫模型 【自然语言处理】隐马尔科夫模型【Ⅱ】隐马尔科夫模型概述 【自然语言处理】隐马尔科夫模型【Ⅲ】估计问题…

14、TheFatRat木马生成工具-创建后门或payload

kail攻击主机: Kali 192.168.11.106靶机:windows server 2008 r2 192.168.11.134 x64 32位一、TheFatRat介绍 TheFatRat创建的后门或者payload,可以在Linux,Windows,Mac和Android上等多种平台上执行,可生…

九、JavaScript——数据类型_数值

一、数值 定义及规范: 数值 (Number) -在JS中所有的整数和浮点数(小数) 都是Number JS中的数值并不是无限大的,当数值超过一定后会显示近似值,JavaScript表达的最大整数是:9007199254740992 Infinity 是…

设计模式总览——枯燥的知识又增加了

从今天开始呢,阿Q就带大家了解一下 java 的设计模式,并从中选出比较常用的几种设计模式进行总结。首先呢,先给大家说一下设计模式到底是什么。 设计模式 设计模式(Design pattern)代表了最佳的实践,通常被…

iOS备用机自动充电方案

搬到新加坡以后,我拥有了很多张手机卡:1张国内的电话卡,回国时使用1张新加坡电话卡,本地使用1张马来西亚电话卡,去马来西亚旅行时使用1张英国电话卡,去欧洲旅行时使用相对应的,我需要有备用机来…

DSP篇--C6701功能调试系列之 FLASH测试

目录 1、 FLASH介绍 2、 FLASH功能测试 调试的前期准备可以参考前面的博文:DSP篇--C6701功能调试系列之前期准备_nanke_yh的博客-CSDN博客 1、 FLASH介绍 FLASH作为EMIF的外设,对其操作就需要根据EMIF相关配置来确定FLASH的地址了。 一般地&#xff…

Django第二天学习记录

1.对于路由配置的正则化补充(re_path的正则匹配) 对于第一天学习的path转换器过于暴力,对于需要匹配的内容不能很精准的进行转换。为了实现精准的字符串匹配规则,因此引入了re_path(reg,view,namexxx)进行路由规则的精确匹配。 正…

关于云计算的 7 大误区

一直以来,有几个关于云计算的误区四处传播,散布恐惧和不必要的不信任。在使用新技术之前研究新技术并检查事实是很好的。让我们来看看关于云计算的 7 大误区,看看哪些是真的,哪些不是。 1.云迁移可能很麻烦 云迁移包括许多过程&am…

KMP算法讲解与实现

0、概述 KMP是用于字符串查找/匹配的算法; KMP算法的时间复杂度:O(n)O(n)O(n); KMP算法的核心: 1)如何理解 next 数组2)如何利用 next 数组加速匹配过程,优化时的两个实质 KMP算法的实现 1…

推荐|资深架构师 10 年 10 条干货职场心得

出道这么些年,跳过好多公司,除了国企其他的基本上都去过,甲方、乙方、外包、外企、互联网公司、创业公司…总结下来有这么些体会,希望能对你和大家有些参考价值。1. 保持学习可能离开了学校之后,所有的学习几乎都出于工…

b站黑马的Vue快速入门案例代码——图片切换(类似手动播放的轮播图)

目录 目标效果: 重点原理: 1.用数组储存图片的数据 2.v-bind指令可以设置元素属性 e.g.src 语法 v-bind:属性名表达式 简写【实际开发常用】 :属性名表达式 3.v-show和v-if都可以切换元素的显示/隐藏状态 (1)频繁切换显示/隐藏的dom元素用 v…

Opencv项目实战:17 贪吃蛇游戏

目录 0、项目介绍 1、效果展示 2、项目搭建 3、项目代码展示与讲解 4、项目资源 5、项目总结 0、项目介绍 这次是一个有意思的计算机视觉游戏——贪吃蛇,我们以食指为蛇头,不断的移动我们的手指,当吃到甜甜圈的时候,蛇身增…

浅谈字节码增强技术系列2-Asm与Cglib

作者:董子龙 前言 记得那是2022年秋天的第一场雨,比2021年来的稍晚一些,在那个秋雨朦胧的下午,正在工位上奋笔疾书的我突然听到了前面波哥对着手机听筒说出来的"温柔"的话语:说说你了解的spring-aop。话音…

基于Vision Transformers的文档理解简介

文档理解是从pdf、图像和Word文档中提取关键信息的技术。这篇文章的目标是提供一个文档理解模型的概述。 文档理解算法使用编码器-解码器结构分析文档内容,该管道结合了计算机视觉(CV)和自然语言处理(NLP)方法。管道的CV部分将文档作为输入图像进行分析&#xff0c…

对数据库索引的理解以及索引在MySQL中的数据结构

引言 索引在本质上相当于书的目录,通过目录就可以快速的找到某个章节对应的位置。索引的效果,就是加快了查找的速度。日常进行数据库的操作,一般地都是进行增删查改,而在很多场景中,进行查找的概率要比增删改大很多。…

搭建Flutter Web开发调试环境

Setting up the Framework/Engine development environment背景搭建 framework 开发环境修改调试 framework 源码运行 framework 测试用例同步更新 framework 源码搭建 engine 开发环境准备 depot_tools部署 engine 源码编译 engine 源码修改调试 engine 源码指定 --local-engi…

​极氪汽车被曝拟美股上市:最高募资10亿 李书福接连收获IPO

雷递网 雷建平 12月13日极氪汽车日前被曝出已“秘密递交申请”,准备在美股上市,此次拟募资10亿美元,估值可能高达100亿美元。有分析认为,极氪汽车秘密递交招股书,是为尽可能向其他竞争对手隐藏招股书细节,以…

十二、对象继承深入、call_apply、※圣杯模式、※构造函数和闭包、※企业模块化

十二、对象继承深入、call_apply、※圣杯模式、※构造函数和闭包、※企业模块化 对象继承深入 原型链继承 原型链定义 ​ 对象沿着__proto__在原型上寻找属性形成一种链条式的继承关系,这种继承关系就叫做原型链。 例如: Professor.prototype {na…

Linux(二)vim编辑器,gcc,库

vim 简介 vi是“visual interface”的简称。 类似于Windows下的记事本。 vim可以视为vi的高级版本 按下vimtutor进入帮助文档,以下内容在其中都有 vim的三种模式 Vi有三种基本工作模式:命令模式、文本输入模式、末行模式 基本操作 命令模式下的操作…

迷宫--dfs解法以及迷宫问题要不要回溯

文章目录题意题解思路:问题: 迷宫问题dfs要不要回溯?题意 一天Extense在森林里探险的时候不小心走入了一个迷宫,迷宫可以看成是由 n∗n 的格点组成,每个格点只有2种状态,.和#,前者表示可以通行…