如何 0 成本启动全员 AI 技能提升?戳> 了解详情
写点什么

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

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

关注

评论

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

Nautilus Chain 现已推出测试网“Triton ”,有哪些潜在的机会?

股市老人

运维训练营第17周作业

好吃不贵

细说react源码中的合成事件

flyzz177

React

新版本发布!TDengine 3.0.3.0 为数据压缩、事件窗口等七大功能加“Buff”

TDengine

大数据 tdengine 开源 时序数据库 国产数据库

A-Ops 数据库场景在线应用性能诊断案例

openEuler

数据库 Linux 操作系统 openEuler 性能测评

震惊,一行MD5居然让小伙伴都回不了家!!!

京东科技开发者

md5 京东云 京东技术 企业号 3 月 PK 榜

React Context源码是怎么实现的呢

flyzz177

React

前端常见react面试题合集

夏天的味道123

前端 React

马克·安德森:纯粹产品护城河在硅谷少见,SaaS公司护城河是“分销”

B Impact

React源码分析(一)Fiber

goClient1992

React

Matlab常用图像处理命令108例(五)

timerring

图像处理

文盘Rust -- 安全连接 TiDB/Mysql

京东科技开发者

rust TiDB 京东云 京东技术 企业号 3 月 PK 榜

精华推荐 |【深度挖掘RocketMQ底层源码】「生产故障分析系列」深度挖掘RocketMQ底层那些导致消息丢失的汇总盘点透析(TIMEOUT_CLEAN_QUEUE)broker busy

码界西柚

RocketMQ 消息队列 3月日更 原理分析 底层源码

2023算云融合产业大会-行业先驱!算力云服务领航者计划评选结果即将揭晓

中国IDC圈

算力 云算力 云计算,

@Transaction注解的失效场景

京东科技开发者

京东云 京东技术 企业号 3 月 PK 榜

JRC Flink流作业调优指南

京东科技开发者

Apache 京东云 京东技术 企业号 3 月 PK 榜

这可能是你需要的React实战技巧

夏天的味道123

前端 React

前端工程师leetcode算法面试必备-二分搜索算法(下)

js2030code

JavaScript LeetCode

用javascript分类刷leetcode3.动态规划(图文视频讲解)

js2030code

JavaScript LeetCode

深入探究 Go log 标准库

江湖十年

Go 后端 日志 log

如何用好免费的chatGPT

劼哥stone

人工智能 openai ChatGPT

一天吃透分布式事务八股文

程序员大彬

Java 分布式事务

深入react源码看setState究竟做了什么?

flyzz177

React

Amazon Detective 支持 Amazon EKS 上的 Kubernetes 工作负载以进行安全调查

亚马逊云科技 (Amazon Web Services)

前端工程师leetcode算法面试必备-二分搜索算法(上)

js2030code

JavaScript LeetCode

博睿数据入选中国高科技高成长企业系列榜单

博睿数据

可观测性 智能运维 博睿数据 荣誉奖项 高科技企业

mybatis plus怎么使用注解的方式执行原生sql

俊俊哥

mybatis Mybatis-Plus 原生sql

React-Hooks源码深度解读

goClient1992

React

看透react源码之感受react的进化

goClient1992

React

PyTorch深度学习实战 | 搭建卷积神经网络进行图像分类与图像风格迁移

TiAmo

PyTorch 图像处理

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