QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

Google Cloud Platform 提倡在数据存储中使用强一致性

  • 2018-02-07
  • 本文字数:844 字

    阅读完需:约 3 分钟

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

在创建应用平台中,为降低复杂性并减少潜在的软件缺陷,一开始就应以实现数据层中的强一致性为基础。这一前提是Mike Curtiss 最近在Google Cloud Platform 博客上发表的一篇博文中提出的。按Curtiss 的论述:“换句话说,将数据集整体置于缺省提供事务和一致性的数据存储中,会导致错误更少、麻烦更小,并且应用代码也更易于维护。”

在大量的系统中,必须要处理并发数据访问。任何工作于其中的开发人员,对Curtiss 所描述的场景都不会陌生。两个银行账户之间转账,就是一个需要外部一致性的教科书式范例。但是,如果要在应用逻辑中解决这种一致性,可能会导致错误、额外的复杂性,以及其它一些意想不到的复杂性。相比较而言,如果使用了缺省提供外部一致性的数据存储,那么就可以简化应用逻辑。这将使系统更强大,并提高了开发团队的生产力。

Google Cloud Spanner 就是一种以构建强一致性为基础功能的的关系数据库服务。在 Spanner 中,组合了水平可扩展性和强一致性。这引发了一种看法,认为 Spanner违反了CAP 定理

在博客文章中,很好地比较了各种数据存储所使用的一致性级别。Curtiss 也尝试去挑战一些常见假设,例如是否外部一致性会对性能产生不合理的严重影响。但是,鉴于Spanner 全面提供强一致性读,避免了开发人员碰上使用其它大多数数据存储中习以为常的一些限制。

虽然这篇博文意在推销Spanner 的能力,但文中也提供了一些通用的使用指导。首先,应尽可能使用强一致性读。在强一致性读操作不可用的情况下,只要确认妥协(compromises),可以退而求其次使用有限过期(Bounded staleness)一致性读。按理说,强一致性写要比强一致性读更重要。如果系统没有提供强一致性写,那么应用开发人员会承受额外的负担,并且可能会引入数据不一致。

此外,Google Clound Platform 为 Cloud Spanner 外部一致性提供了更多信息。

查看英文原文: Google Cloud Platform Recommends Strong Consistency in Data Stores

2018-02-07 18:001531
用户头像

发布了 391 篇内容, 共 138.4 次阅读, 收获喜欢 256 次。

关注

评论

发布
暂无评论
发现更多内容

产品文档总结

mas

分享一个务实派CEO的理念和实践

boshi

经验分享 七日更 28天写作

第五周作业

z

第5周作业

KYoKO

挑一个产品,想一个你想做的新功能,然后写个相对完整的文档

mas

一文帮你搞懂 Android 文件描述符

vivo互联网技术

android 文件 文件系统

「产品经理训练营」作业 05

🌟

产品 产品经理 产品经理训练营 产品训练营 产品训练营作业

产品经理训练营第四章作业(二)

新盛

时间管理这件事儿「Day 11」

道伟

28天写作

第五六周心得

Trigger

极客时间 产品经理训练营

Elasticsearch search scroll 游标查询

escray

elastic 七日更 28天写作 死磕Elasticsearch 60天通过Elastic认证考试 3月日更

滚动加载的网页只需点 10 下鼠标即可抓取,无编码学爬虫之四

梦想橡皮擦

Python 28天写作 3月日更

抽奖助手--抽奖用例流程图

小蜜蜂

0 期产品训练营第五周作业 - 学情周报活动图

skylar

第五周

Jove

作业

云随心

产品训练营作业

3月份开始了

Nydia

算法刷题提醒——微信小程序 [持续优化ing]

小匚

深度思考 随笔杂谈 成长与思考

玩家永远是对的——认知失调

Justin

心理学 28天写作 游戏设计

ICDAR2021首届文档图像与自然语言处理研讨会征稿开始

爱极客侠

来自农村的大学生开发者,用技术改变自己的家乡

华为云开发者联盟

开发者 物联网 IoT 华为云 智慧大棚

MySQL异常问题经验贴

华为云开发者联盟

MySQL 数据库 时区 SSL 连接

产品经理训练营第四章作业(二)

猫。

抽奖助手小程序 发起抽奖流程图

Shine

产品

架构学习20210302日(001)

张小胖

在云中应用自动化的5种方法

云计算

To B产品经理需要哪些能力呢?

博文视点Broadview

数仓GaussDB(DWS)全量备份总结

华为云开发者联盟

数据安全 GaussDB 备份 Roach 数据备份

极客时间购买课程的流程图

踏凌霄

关于数码产品

ES_her0

28天写作 3月日更

设计模式【3.1】-- 浅谈代理模式之静态、动态、cglib代理

秦怀杂货店

动态代理 代理模式

Google Cloud Platform提倡在数据存储中使用强一致性_数据库_Thomas Betts_InfoQ精选文章