Dojo
话题
新佳
订阅
极道
元认知
元逻辑
元设计
元编程
元语言
分布式共识一致性教程
ACID中C与CAP定理中C的区别
ACID和CAP
越深入越触目惊心!
看着这个标题似乎有点夸张了,但其实我做技术这么多年还没有遇到过这么不可思议的项目。我先来简单介绍一下吧,这个项目是个网络电话项目,里面涉及到号码映射和支付、话单等重要相关操作,但这样一个项目我了解到的情况居然在数据库设计中有200多张表,没有一张有外键关联,而且这样数据库居然3个网络电话项目共用。天
CQRS是提高了一致性
这是Reactive微服务框架lagom作者一篇文章,针对CQRS误解进行驳斥,这个误解观点是:CQRS的问题是,它使事情变得更加复杂,因为它降低了一致性。 如果你有一个传统的单片整体系统,所有的数据操作都针对一个数据库,这个唯一的数据库支持ACI
如何提高缓存一致性
一个典型的Web应用程序引入了一个内存缓存像memcache或redis以减少在主数据库上读取热数据的负载。 最原始的设计看起来像下图。
区块链的工作证明其实是一个分布式时钟
本文主要解释了区块链中的重要功能:工作证明(Proof-of-Work)。主要说明工作证明对于区块链是一个重要特征,而且是必须的;区块链中其他经常被提及特征(如安全性)反而是次要的,虽有用但非必须。 本文的解释主要是基于区块链工作证明的一些有趣特性,这些特
海量数据的查询缓存问题
现在面临一张用户使用记录表,可能达到千万级的数据量,用户在基本操作完成后(插入数据),都会查询下记录。用户本身的使用记录数不多,而且也能通过时间来控制查询的条数,但是我们用的是MEMCACHED相对数据进行缓存,但是遇到了一个问题。个人认为缓存仅仅作为一种附属品而存在,是为了提高性能,应该不
著名的分布式事务数据库谷歌Spanner设计有坑!
CAP定理指出,在网络分区的情况下,不可能同时保证一致性和可用性。由于网络分区在可扩展的分布式系统中理论上是可行的,因此现代可扩展数据库系统的架构师分为两大阵营:优先考虑可用性的阵营(NoSQL阵营)和优先考虑一致性的阵营(NewSQL阵营)。 有一段时间
评价分布式事务数据库的5个标准
你知道吗?二手交易网转转的数据库用的是什么?本文由TiDB / TiKV的首席架构师Ed Huang发表,虽然有软文嫌疑,但是从其研发的最先进分布式数据库经验角度看,这五个问题还是很干货的。TiDB/TiKV分布式数据库是一种高一致性的分布式事务数据库,存储使用Rust编写,SQL计算使用Go语言,
幽默!分布式系统共识算法的三阶段
Distributed Systems Consensus timeline:- 1989: consensus is Paxos.- 2013: consensus is Raft.- 2018: consensus is that computers are terrib
关于数据一致性问题的解决方法?
据说现在系统中数据库的设计很多都没有使用外键,有人说使用外键的数据库设计和操作中会有些麻烦。这样虽然省了一个步骤,但是会出现问题,比如主表中数据已经删了,从表中却还有其引用,这就造成了数据的不一致。假如不使用Hibernate等O/R框架,没有配置级联删除、修改等信息,使用简单的DAO实现,比如直接
关于Event Sourcing与分布式事务
关于ES实现如何分布式事务的问题,这个话题是个人为的坚深问题,保守的人与激进的人总是有争执,如同锁有保守锁和乐观锁一样。 一定请注意,事件流本身已经保证了跟随时间变化而保持一定逻辑顺序的一种流,如同我们观看网络电视,永远不会担心我们会首先看到影片结尾,然后
苹果开源其分布式强一致性数据库FoundationDB
苹果终于开源其威力巨大的强一致性分布式数据库,根据CAP定理,在分布式分区的情况下,如果想保持强一致性是很难的,Google的Spanner进行了这方面创新,可惜没有开源,如今另外一个世界顶级数据库苹果的FoundationDB开源了,其官方声明如下: F
使用Kafka Streams构建事件源系统的经验
在基辅召开的JEEConf会议上,Amitay Horwitz描述了他和他的团队如何实施事件溯源的发票系统,他们在生产2年半后遇到的挑战以及他们如何使用Kafka Streams实施新设计。 Wix的软件工程师Horwitz 于2015年开始与他的团队一起
集群碰到的奇怪问题
我们项目组五一前开发了个公安系统,目前在试运行,但用户使用后发现一个问题.很多案件是该派出所填的案件,会在本所消失,跑到另一个派出所中.在数据库中就体现为该案件的"承办单位"字段的值本来是该派出所,但却保存为另一个派出所的值. 在程序中,我们把用户的信息都保存为一个类,像用户ID,姓
弱一致性的问题
看了BANQ对弱一致性的讨论,引用了PPT里面的卖票的用例。票包含了很多状态。这样可以将一个事物操作表示成一个事物的过程。每一个步骤都有对应的状态。还有一个卖咖啡的例子也是。但是这里有一个问题:利用弱一致性达到大吞吐量和性能提升,但是带来的问题就是弱安全性,我们必须通过一种机制来保证数据一致(最终一
上页