写点什么

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:001490
用户头像

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

关注

评论

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

华为云携十大系统性创新亮相巴塞罗那 打造最适合AI的基础设施

华为云开发者联盟

云计算 AI 华为云 华为云开发者联盟

SATX合约代币矩阵公排系统开发详情

l8l259l3365

吴恩达AI系列第一课:教你如何利用AI创建一个披萨店客服

cloud studio AI应用

Cloud Cloud Studio 人工智能、

为什么说第三代指标平台的本质是做 “轻” 数仓?

Aloudata

ETL 指标平台

如何做代币分析:以 TRX 币为例

Footprint Analytics

加密货币 Token 代币

讲讲鸿蒙开源与技术细节

Geek_2305a8

SD-WAN与MPLS哪一个是最优选择?

Ogcloud

SD-WAN MPLS SD-WAN组网 SD-WAN服务商 SDWAN

SD-WAN在银行的应用:降低维护成本、提升网络安全

Ogcloud

SD-WAN 企业网络 SD-WAN组网 SD-WAN服务商 SDWAN

文心一言 VS 讯飞星火 VS chatgpt (203)-- 算法导论15.3 2题

福大大架构师每日一题

福大大架构师每日一题

推荐10款C#开源好用的Windows软件

EquatorCoco

C# 开源 软件开发 windows

面试官:说一下红锁RedLock的实现原理?

王磊

Java 面试

打破购物局限!了解闲鱼商品详情关键词搜索电商API接口,挖掘不一样的购物乐趣!

联讯数据

AI与人类联手,智能排序人类决策:RLHF标注工具打造协同标注新纪元,重塑AI训练体验

汀丶人工智能

大模型 智能标注 RLHF

deepin Meetup成都站来了!一起聊聊deepin-IDE 2.0,还有礼品可以拿!

nn-30

flutter Linux 操作系统 linux开发 deepin

智能护航:人工智能引领软件测试新革命

测吧(北京)科技有限公司

测试

都说了别用BeanUtils.copyProperties,这不翻车了吧

不在线第一只蜗牛

Java 数据库 后端 Java后端

金三银四,聊一聊测试跳槽/面试的必备技能

霍格沃兹测试开发学社

测试一波回归模型的误差

EquatorCoco

人工智能 数据 回归 挖掘

火山引擎“数据飞轮”助力教育行业持续优化产品

Geek_2d6073

unsubscribe:Angular 项目中常见场景以及是否需要 unsubscribe

OpenTiny社区

前端 angular

人工智能引领软件测试新的巨大变革

霍格沃兹测试开发学社

解锁财务信任,掌握企业业务合作中的倾听艺术

智达方通

业财融合 全面预算管理 财务管理 经营管理

英特尔亮相MWC 2024,助力企业通过现代化以实现盈利

E科讯

遇见您的私人法律顾问:智能法律大模型,智能解答您的法律困惑

汀丶人工智能

人工智能 智能问答 法律大模型

软件测试学习笔记丨Docker网络模式与Docker-compose介绍

测试人

软件测试 测试开发

为多渠道销售集成商品API接口的正式步骤指南

Noah

优雅使用前端枚举Enum,符合国标的那种!

不在线第一只蜗牛

前端 开发 前端框架 Enum

苹果上架App被拒绝的原因

强大好用的shell:什么是shell?

小魏写代码

SD-WAN技术简化企业网络架构的关键优势

Ogcloud

SD-WAN 企业网络 SD-WAN组网 SD-WAN服务商 SDWAN

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