写点什么

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

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

关注

评论

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

人像分割技术解析与应用

ZEGO即构

Web前端培训班学前端技术靠谱吗

小谷哥

大数据技术培训班怎么选择?

小谷哥

未来小间距竞争的着力点在哪里

Dylan

LED显示屏 led显示屏厂家

10年稳定性保障经验总结,故障复盘要回答哪三大关键问题?|奈雪的茶李道兵

TakinTalks稳定性社区

打破文件锁限制,以存储力量助力企业增长新动力

焱融科技

存储 文件存储 分布式文件存储 文件锁

设计专业第一台笔记本 华硕灵耀Pro16 2022 新品首发超值入手

科技热闻

易周金融分析 | 银行ATM机智能化改造提速;互联网贷款新规带来挑战

易观分析

金融 分析

50W+小程序开发者背后的数据库降本增效实践

石云升

数据库 severless 全球架构师峰会 ArchSummit 8月月更

兆骑科创科创赛事平台,创业赛事活动路演,线上直播路演

兆骑科创凤阁

30分钟成为Contributor|如何多方位参与OpenHarmony开源贡献?

OpenHarmony开发者

Open Harmony

PanGu-Coder:函数级的代码生成模型

华为云开发者联盟

人工智能

vue高频面试题(附答案)

helloworld1024fd

Vue

为了带你搞懂RPC,我们手写了一个RPC框架

PPPHUANG

Java 架构 dubbo RPC RPC 协议实现原理

2.8K 120Hz触控双屏加持 灵耀X 双屏Pro 2022让办公无惧想象

科技热闻

首届中国计算机学会芯片大会召开,宋继强分享英特尔最新底层技术创新进展

科技之家

️前端研发的新基础设施 - Rust ️🦀️

阿里技术

​Rust

开源一夏 | 五分钟带你上手ShardingJDBC实现MySQL分库分表

知识浅谈

开源 8月月更

BPM是什么意思?BPM的优势及好处有哪些?

优秀

BPM

如何使用 Mashup 技术在 SAP Cloud for Customer 页面嵌入自定义 UI

汪子熙

html5 前端开发 SAP C4C 8月月更

WPF如何自定义隐藏下拉框选项

吴脑的键客

WPF

动态模型中嵌入静态模型实践

FunTester

“查找附近的商铺”|Geohash+MySQL实现地理位置筛选

领创集团Advance Intelligence Group

MySQL sql geohash

java培训学习怎么样?

小谷哥

80篇国产数据库实操文档汇总(含TiDB、达梦、openGauss等)

墨天轮

数据库 opengauss TiDB 国产数据库 南大通用

武汉参加web前端培训哪家好

小谷哥

大数据培训机构有哪些?

小谷哥

兆骑科创平台招才引智,海内外高层次人才引进平台

兆骑科创凤阁

选择合适的 DevOps 工具,从理解 DevOps 开始

飞算JavaAI开发助手

游戏元宇宙发展趋势展望分析

易观分析

游戏 分析 元宇宙

百图生科卓越开发者计划全面升级暨《计算免疫问题白皮书》发布

硬科技星球

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