数据库是应用程序运行过程中至关重要的一部分,Cloud Spanner 作为唯一一个企业级、全球分布和强一致性的企业级数据库服务,将关系数据库结构的优点与非关系型数据库的规模完美结合。更独特的是,Spanner 通常将事务、SQL 查询和关系结构与非关系或 NoSQL 数据库的可伸缩性相结合。

(图 1)

Cloud Spanner 是如何工作的?

在图1中,可以看到一个四节点区域云 Spanner 实例,该实例托管两个数据库。节点是 Cloud Spanner 计算的量度标准。节点服务器提供读取和写入/提交事务请求,但它们不存储数据。每个节点在该区域的三个区域进行复制,数据库存储也在三个区域中复制。区域中的节点负责对其区域中的存储进行读写。数据存储在谷歌基础的巨像分布式复制文件系统中,当涉及到重新分配负载时,可提供巨大的优势,因为数据不链接到单个节点。如果一个节点或数据库发生故障,数据库仍然可用,由剩余的节点提供服务,无需手动干预来保持可用性。

Spanner 如何提供高可用性和可扩展性?

数据库中的每个表都按照主键排序存储,按主键的范围划分,即拆分。每个拆分完全有不同的 Spanner 节点独立管理,表的拆分次数根据数据量而变化,空表只有一次拆分。根据数据量和负载,拆分是动态重新平衡的。但是表和节点是跨三个区域复制的,这是如何工作的呢?

所以内容均在三个区域之间复制,拆分管理也是如此。拆分副本与一个跨区域的组(Paxos)相关联,使用 Paxos 共识协议,其中一个区域被认定为领导者。领导者负责管理该拆分的写入事务,而其他副本可用于读取。若领导者失败,则重新确定共识,并可能选择新的领导者。对于不同的拆分,不同的区域可以成为领导者,从而在 Spanner 计算节点之间分配领导角色。某个节点可以是领导者,也可以是其他拆分的副本。通过这种拆分、领导者、副本的分布式机制,Spanner 实现了高可用性与扩展性。

Spanner 中的读取类型

Cloud Spanner 中有两种读取类型。

强读取- 在需要读取绝对最新值时使用。下面是它的工作原理:
Cloud Spanner API 识别拆分,查找用于拆分的 Paxos 组,并将请求路由到其中一个副本(通常与客户端位于同一区域)在此示例中,请求发送到区域 1 中的仅读取副本;

如果可以读取,则向领导者请求复制副本,并要求提供此行上最新交易的 TrueTime 时间戳;

领导者响应,副本会将响应与其状态进行比较;

如果行是最新的,它可以返回结果。否则,它需要等待领导者发送更新;

响应被返回客户端。

在某些情况下,例如,当行刚刚更新,而读取请求正在传输中,副本的状态足够最新,它甚至不需要向领导者询问最新的事务。

过期读取— 当低读取延迟比获取最新值更重要时,就会使用过期读取,因此可以容忍某些数据过期。在过期读取中,客户端不会请求绝对的最新版本,而只是要求最新的数据(例如,最多为 n 秒)。如果陈旧系数至少为 15 秒,则大多数情况下,副本只需返回数据,甚至不询问领导者,因为其内部状态将显示数据足够最新。您可以看到,在每个读取请求中,无需行锁定 - 任何节点响应读取的能力是 Cloud Spanner 如此快速和可扩展的原因。

Spanner 如何提供全球一致性?

TrueTime 是跨多个数据中心在所有计算机中同步时钟的一种方式。该系统使用 GPS 和原子钟的组合,每个原子钟都针对另一个的故障模式进行矫正,将两个来源进行合并(当然使用多个冗余)为所有 Google 应用程序提供了准确的时间来源。但是,每个单台计算机上的时钟漂移仍然可能发生,即使每 30 秒同步一次,服务器时钟和参考时钟之间的差值也可以高达 2ms。漂移将看起来像一个锯牙图,不确定性增加,直到被时钟同步更正。由于 2ms 的持续时间相当长(至少在计算方面),TrueTime 将此不确定性作为时间信号的一部分。

如果您的应用程序需要一个高度可扩展的关系数据库,可以考虑 Cloud Spanner。要更深入地了解 Cloud Spanner ,请参考官方文档。

官方文档:https://cloud.google.com/spanner/docs

想获取更多谷歌云相关资讯及干货内容?

赶紧关注我们吧!点击“阅读原文”留下您的问题

会有专业人员与您联系哦~

Youtube 都在用的 Cloud Spanner 到底是“何方神圣”相关推荐

  1. 【一】数据挖掘(DM)到底是何方神圣?

    [一]数据挖掘(DM)到底是何方神圣? 什么是数据挖掘? 数据挖掘有什么用处? 数据挖掘怎么做? 在此借助 5W1H 的思想,从整体上了解下数据挖掘,比如什么是数据挖掘.为什么要做数据挖掘.在哪些场景 ...

  2. 齐天大圣孙悟空的师傅到底是何方神圣?

    下面是我引自百度的一段原文: 菩提即是佛教的醒悟真理.灵台方寸山即指人的思想和内心世界. 菩提祖师到底是谁?有三种猜测,其一,认为是如来本人:其二,认为是如来的师兄:其三,认是如来的十大弟子之一,即须 ...

  3. 续写千倍币神话,PlusFo到底是何方神圣?

    周星驰的<新喜剧之王>已经上映,但似乎反响平平.是他江郎才尽?黔驴技穷?答案是不!这部电影不仅仅是个喜剧,其中蕴含的道理值得你慢慢体会.影片中的小龙套获得影后的感言发人深省:也许我们会失败 ...

  4. 拿到华为200万年薪的8个人到底是何方神圣?为什么有人反而不屑?

    点击上方"AI算法与图像处理",选择加"星标"或"置顶" 重磅干货,第一时间送达 转载自:计算机视觉联盟 昨天,任正非签发的总裁办电子邮件刷 ...

  5. GraalVM到底是何方神圣?

    JVM的弊端 JVM实现了跨平台,使得一次编译即可到处运行,但是詹姆斯·高斯林没有跟你说的是,应用运行之前要先启动JVM虚拟机,然后还要加载一大批的类.并做链接和初始化等步骤,而使得光启动一个JVM就 ...

  6. 好评率超94%,aigo智能播放器M2 Pro到底是何方神圣?

    在手机.平板.电脑等设备的挤压之下,MP3 已经消失殆尽?其实不然,现在的MP3 之所以没有那么热门,最根本的原因是产品功能过于单一.在某些方面,MP3 要比手机更有优势,比如:音质.推力.续航这些都 ...

  7. 理一次发要4万的店,到底是何方神圣?

    这两天被一则新闻刷屏, 杭州一小伙去一家店理发,理发期间服务员推荐其它附加服务项目免费体验, 小伙一听免费决定体验一番,完事结账一看账单,小伙惊呆了,账单上写着,所有项目加起来,总共消费4万块,不过店 ...

  8. 把机器人建图做成一门极致艺术的SLAM 3.0到底是何方神圣?

    机器人在未知场景中,要想实现类人般的智能移动,必须要具备地图构建及导航能力.地图的好坏,直接影响机器人在环境中的定位和导航能力 . 为了帮助机器人适应多种应用环境,思岚优化了软件算法.强化了建图引擎, ...

  9. Enum到底是何方神圣

    2019独角兽企业重金招聘Python工程师标准>>> Enum是在java 1.5这个版本引入的, 存放于java.lang中,它是所有java枚举类型的基本类. 它的最大的一个作 ...

最新文章

  1. DateGridView列的输出顺序反了
  2. java利用opencv降维_opencv中PCA降维
  3. 使用JMeter进行HTTP负载测试
  4. Roguelike游戏的视野算法
  5. Debian 9.6.0 + OpenMediaVault 4.x : U盘作系统盘时遇到的问题
  6. Hbuilder开发app实战-识岁06-face++的js实现【完结】
  7. Java 多线程基本概念
  8. idea超炫的自定义模板
  9. elasticsearch6.0单机配置+centos7.0J+dk1.8
  10. 如何将Safari中保存的密码导入Chrome ?
  11. HTML5 data-* 自定义属性 ---转载 原文地址:https://www.cnblogs.com/dolphinX/p/3348458.html...
  12. 【教程】CoreAVC+Haali安装及设置简易教程(KMPlayer)(1)
  13. MNE example《Motor imagery decoding from EEG data using the Common Spatial Pattern (CSP)》
  14. [Camera Drv]Factory mode下camera图像rotate了180度 - MTK物联网在线解答 - 技术论坛
  15. oracle 体系架构图
  16. COMMENT的简单介绍,,及在Navicat中COMMENT的使用方法
  17. 华为面试题: 杨辉三角形的变形
  18. 项目管理心得:一个项目经理的个人体会、经验总结
  19. 安检x光机原理计算机实现,安检X光机组成及工作原理(图文)
  20. 交易者应该学习的东西

热门文章

  1. 实施微服务架构模式所面临的挑战
  2. SpringCloud-getway路由网关
  3. hive 静音模式 -S
  4. Linux环境下搭建区块链私有链+部署智能合约
  5. 梦想天空(优秀的博主)
  6. 怎么查看服务器的CPU内存使用情况
  7. asp.net core TransactionScope 提交或回滚事务
  8. [4G5G专题-16]:需求-3GPP对5G系统提出的8大维度的性能需求
  9. 互联网电脑监控软件有哪些?可以远程办公的监控软件?
  10. 16进制转换10进制的方法