Google Cloud Spanner 究竟是什么?
谷歌于2017年推出的Google Cloud Spanner,原是谷歌内部使用的一个数据服务,后来又成为了谷歌云平台上搭建的数据库服务。
Google Cloud Spanner 是一种数据库,它结合了传统关系数据库管理系统 (RDBMS) 和 NoSQL 服务的功能。这种组合带来了关系数据库的优势,包括原子性、一致性、隔离性、持久性 (ACID) 事务、关系模式和 SQL 查询。同时,与 NoSQL 类似,它可以横向扩展到数百台服务器以处理事务性工作负载。云平台提供自动伸缩、同步数据复制和节点冗余。
当我们在构建基于云的应用程序时,DBA 和开发者常常必须要在传统数据库(保证事务一致性)和 NoSQL 数据库(提供简洁的数据库水平扩展性和分布式能力)中做出选择。Cloud Spanner则做到了兼顾,在一个完全可控的服务范围内,实现了以上的要求。
Cloud Ace是亚太地区拥有最多据点的Google Cloud经销商,拥有200多名工程师,是谷歌最高级别合作伙伴,多次获得Google Cloud合作伙伴奖。
作为谷歌托管服务商,提供谷歌云、谷歌地图、谷歌Workspace、谷歌云认证培训服务。
Cloud Spanner 特性为:
·强一致性的横向扩展RDBMS集群:使用硬件辅助的时间同步来实现数据一致性。
·支持跨表交易:可以跨越多个表交易--不必局限于一个表(与Apache HBase或Apache Kudu不同)。
主键设计驱动的表:所有的表必须有一个声明的主键(PK),它可以由多个表列组成。表的数据按PK顺序存储,这使得PK查询非常有效和快速。像其他基于PK的系统一样,实施时需要谨慎建模,并考虑到目标用例,以达到最佳性能。
·交错表:表之间可以有物理依赖关系。子表的行可以与父表的行搭配在一起。这种方法加快了可以在数据建模阶段定义的关系的查询,例如,客户和他们的发票的搭配。
·索引:Cloud Spanner支持二级索引。一个索引由索引列和所有PK列组成。当然,一个索引也可以包含其他非索引的列。索引可以与父表交错使用,以加快查询速度。有几个限制适用于索引,比如索引中存储的额外列的最大数量。另外,通过索引进行查询可能不像在其他RDBMS中那样直接。
·服务水平协议(SLA):单区域部署的SLA为99,99%;多区域部署的SLA为99.999%。
Cloud Spanner的优势
Google Cloud Spanner的杀手锏是它能够在全球和 "交易 "一致的关系型数据上运行SQL,并且能够在数据中心和地区之间进行水平扩展(或跨越)。其他可横向扩展的数据库确实存在,但它们不容易运行SQL,而SQL是处理巨大数据流的交易和报告系统的支柱。虽然任何向新技术的迁移都需要平台的重新设计,但Spanner的优势在于熟悉SQL和关系数据模型,同时享有系统的互联和可扩展性,可以在全球范围内根据容量需求的变化进行扩大和缩小。例如,随着交易场所的开放和关闭,额外的服务器可以在需要时自动上线或关闭,而这是固定的、成熟的Oracle和SQL服务器系统所无法做到的。这就是 "弹性云 "在实践中的承诺。
Cloud Spanner的优势如下:
·大大降低了复杂性
·大大降低了成本
·显著减少管理费用,提高敏捷性
·显著提高可用性和可靠性
·在巨大的数据集上提供高级分析的能力
Cloud Spanner的应用场景
Cloud Spanner是为了大规模的数据而生的产品,Spanner拥有高可用性、数据分布、巨大的可扩展性,使得它可以处理复杂且大量的数据,比如说游戏数据。
任何可以交易、出售、赠送或以其他方式从一个玩家转移到另一个玩家的游戏内货币或物品都对大型游戏后端提出了挑战。通常,游戏的流行程度可以超过传统数据库处理单节点数据库中所有内容的能力。根据游戏的类型,数据库可能会遇到处理玩家负载所需的操作数量以及存储数据量的问题。这通常会导致游戏开发人员将他们的数据库分片以提高性能,或者存储不断增长的表。这种类型的解决方案会导致操作复杂性和高维护开销。
Cloud Spanner可以简化库存和交易系统,其强大的可扩展性和地理分布同步可以实现全球几十亿用户的服务器后端数据加载和分发问题。

除了游戏外,Cloud Spanner还适合零售行业、金融行业和社交软件等在全球范围内拥有庞大的用户群体的行业,利用Cloud Spanner的大型可扩展性数据库服务,实现数据的扩展,同时保证其高可用性和自动化。
目前已有Uber、SnapChat、Lucille Game等大型平台使用了Cloud Spanner,Lucille game的创始人表示:“Google Cloud Spanner 有一种关系数据库的感觉,您可以在其中轻松创建表之间的关系并快速提取您需要的信息。同时,它像 Google Cloud Datastore 一样横向扩展,因此我们可以添加大量数据而无需使事情过于复杂。”
Google Cloud Spanner 究竟是什么?的更多相关文章
- google cloud storage products
https://cloud.google.com/products/storage/ BigTable Cloud Bigtable 是 Google 面向大数据领域的 NoSQL 数据库服务.它也是 ...
- 对Google cloud platform 做了点研究
Google也推出了云计算基础服务, 加上微软Azure,亚马逊AWS, 都齐活了. 下面是研究了一下对其的一个初步了解. 计算: Compute Engine IaaS平台,提供VM,操作灵 ...
- Getting Started(Google Cloud Storage Client Library)
在运行下面的步骤之前,请确保: 1.你的项目已经激活了Google Cloud Storage和App Engine,包括已经创建了至少一个Cloud Storage bucket. 2.你已经下载了 ...
- Activating Google Cloud Storage
先决条件 你需要下面的内容: 1.一个Google账户,比如来自Gmail.如果你没有,请在Google account signup site注册. 2.一个新的或已经存在的Google Devel ...
- Downloading the Google Cloud Storage Client Library
Google Cloud Storage client是一个客户端库,与任何一个生产环境使用的App Engine版本都相互独立.如果你想使用App Engine Development server ...
- Java Client for Google Cloud Storage
关于Google Cloud Storage Google Cloud Storage有益于大文件的存储与服务(serve).此外,Cloud Storage提供了对访问控制列表(ACLs)的使用,提 ...
- 使用GCM服务(Google Cloud Messaging)实现Android消息推送
最近在网上查了关于很多Android消息推送的资料,其中主要有四种方法. 1) 使用GCM服务(Google Cloud Messaging) 2) 使用XMPP协议(Openfire + Spark ...
- 使用 PUTTY 操作 Google Cloud
目的: 使用putty连接Google Cloud 实例. 总说: 首先要用 PuTTYgen生成 private key 和 public key, 之后 登录Google Cloud 将生成的 ...
- 使用Google Cloud Platform构建机器学习项目-宠物识别
宠物识别我们使用到了tensorflow object-detection API (https://github.com/tensorflow/models/tree/master/researc ...
- CRT工具远程登陆Google Cloud远程ssh登录方法
首先使用Google Cloud SSH连接上去:1.切换到 rootsudo -i12.编辑ssh配置文件vi /etc/ssh/sshd_config13.修改以下内容即可PermitRootLo ...
随机推荐
- Spring事务传播行为实战
一.什么是事务传播行为? 事务传播行为(propagation behavior)指的就是当一个事务方法被另一个事务方法调用时,这个事务方法应该如何运行. 例如:methodA方法调用methodB方 ...
- CSS选择器大全48式
00.CSS选择器 CSS的选择器分类如下图,其中最最常用的就是基础选择器中的三种:元素选择器.类选择器.id选择器.伪类选择器就是元素的不同行为.状态,或逻辑.然后不同的选择器组合,基于不同的组合关 ...
- Flutter 构建windows应用
Flutter Windows 桌面端支持进入稳定版 | Flutter 中文文档 | Flutter 中文开发者网站 从2.10之后的版本,flutter已经正式支持构建windows应用.不过距离 ...
- 开源项目在线化 中文繁简体转换/敏感词/拼音/分词/汉字相似度/markdown 目录
前言 以前在 github 上自己开源了一些项目.碍于技术与精力,大部分项目都是 java 实现的. 这对于非 java 开发者而言很不友好,对于不会编程的用户更加不友好. 为了让更多的人可以使用到这 ...
- sqlmap的安装及使用
前提:安装SQLMap前需安装Python环境!!!(此处不进行描述...) 一.安装 1.在官网(http://sqlmap.org/)进行SQLMap安装包下载: 2.在Python的安装目录下新 ...
- Halcon使用MeasurePos来实现检测边缘点
(1)为了提高性能,测量句柄只需要初始化一次: 参数:测量矩形的中心点行坐标,测量矩形中心的列坐标,测量矩形的角度,测量矩形的宽,测量矩形的高,待处理图像的宽,待处理图像的高,使用的算法,输出测量句柄 ...
- 解决Halcon转C#时,图像显示的问题
不知道大家在使用Halcon进行图像处理,由于要连续处理多张图片,转为C#代码的时候,使用了Halcon控件显示图像,但是运行的时候,中间的其他图片没有显示在控件上,之前我一直以为是运行速度快导致看不 ...
- UBOOT编译--- UBOOT的顶层config.mk(五)
1. 前言 UBOOT版本:uboot2018.03,开发板myimx8mmek240. 2. 概述 此文件包含在 ./Makefile 和 spl/Makefile 中. 清理状态以避免添加两次相同 ...
- 关于linux mint(nemo)添加右键菜单修改方法
前言 其实在 linux mint 桌面上右键弹出的菜单,以及在资源管理器 nemo 中右键菜单,这些都是基于 nemo,进行的操作,所以更改右键菜单也就是更改nemo的配置文件 操作 在目录 /ho ...
- Spring04:JdbcTemplate及事务控制(AOP、XML、注解)
今日内容 Spring中的JdbcTemplate 作业:Spring基于AOP的事务控制 Spring中的事务控制 基于XML的 基于注解的 一.JdbcTemplate 1.JdbcTemplat ...