• 两阶段提交2PC是分布式事务中最强大的事务类型之一,两段提交就是分两个阶段提交,第一阶段询问各个事务数据源是否准备好,第二阶段才真正将数据提交给事务数据源,当需要同时更新多个数据源实体时,例如确认订单并立即更新库存时,它非常有用。 但是,当您使用微服务时,
  • 像MongoDB, Cassandra, HBase, DynamoDB, 和 Riak这些NoSQL缺乏传统的原子事务机制,所谓原子事务机制是可以保证一系列写操作要么全部完成,要么全部不会完成,不会发生只完成一系列中一两个写操作;因为数据库不提供这种事务机制支持,开发者需要自己编写代码来确保一系列 icon
  • 比特币的区块链机制其实是一种分布式的事件流日志,这个事件流记录着所有的比特币交易事件。 比特币是一种虚拟货币,我们知道我们可以通过自己设立一个机器来专门挖矿,也就是“无偿”获得比特币,但是这个“无偿”并不是真正无偿,你的电脑将以算力和工作量的付出为代价,其 icon
  • 互联网金融时下非常热门,承载着很多人的希望,好处就不多说,想浇两盆冷水。 一盆冷水是一位网友在使用支付宝时,出现了1+42=55元的简单计算错误,如下图: icon
  • 最近一个爆炸新闻是apple收购了名不经传的FoundationDB,之前苹果是使用Cassandra作为来保存各种资源包括用户上传的资料影音媒体图片等等。这一举动引发了多方揣测,一些人认为苹果使用非开源的数据库来保存用户的资料,是不是别有用心? 下面从技 icon
  • 关系数据库ACID或MVCC很简单是一个谎言,最终一致性其实比MVCC简单。Stay Curious在 icon
  • 该文是Salesforce的软件架构师Pat Helland于2016年12月发表的针对其在2007年CIDR(创新数据库研究会议)上首次发表的同名文章的更新和缩写版本。他曾经发表“不变性改变一切”。 业界谈到分布式事务通常指两段提交2PC事务(Sprin icon
  • 增删改查是大部分框架的功能,如果有两个并发请求修改同一个数据怎么办?或者插入本来应该是唯一却重复的数据怎么办?或者插入和修改有其他辅助动作比如保存到另外的表比如校订审计日志。 你会首先想到“事务”,事务确实能够让一组操作一起可靠安全执行,要么全部执行,要么 icon
  • 大部分关系数据库宣称与NoSQL的区别是100%支持ACID事务,在现实中,很少有关系数据库包括Oracle能提供正式的ACID保证,即使他们宣传自己是提供真正ACID。 那么,谁在撒谎呢? 来自2013年文章< icon
  • 关于EventSourcing事务的问题,还是有点不太明白。在事件驱动编程中,数据持久化是异步,那如果持久化失败,我如何在业务流程中得知并处理,如果要等到数据持久化成功才进行下一步操作,不是又变成同步模型了么@banq 老师,心中疑惑,百思不得其解[该贴被tecentIDA8 icon
  • 死锁会杀死服务,我们看看Apache Ignite通过分配数字到事务是如何实现无死锁的事务的。 在多用户环境中,对于缓存内存中同一条数据或对象进行并发事务操作时会引发死锁,这是性能杀手,一旦系统进入严重的死锁状态,恢复需要整个集群重新启动,而Apache icon
  • 今儿去工行ATM给已朋友转账,遇到这么个情况: 选择对外转账后输入转入账号(输入两次),接着提示输入转入金额(输入一次金额),按确定,系统提示交易中,3秒左右,提示“输入账号无效”,系统自动中断了操作,回到了初始界面,我勒个去,只好退卡,再试一次结 icon
  • 您通常需要为OLTP(事务/操作)数据库选择RDBMS。 本文提供一些建议。首先定义一下对于生产级别的24×7 OLTP RDBMS很重要的一些功能。 基于锁与MVCC对于读写混合的操作来说,MVCC某种程度上好于 icon
  • CQRS应该是实现分布式状态的一种挑战性实现,挑战点在于:对于站在数据前面的微服务,我们如何能连接到这些数据集?我们如何获得服务的同意达成分布式一致的状态? CAP理论提供分布式状态的模型实现,给定的可用性 一致性和分区性,只能三个之中选择两个,如果你能够 icon
  • 在分布式数据库领域中,高性能 + 强一致性事务是代表数据库水平高低的重要象征,苹果的开源数据库FoundationDB是媲美Google Cloud Spanner和Azure Cosmos DB,他们发布的事务宣言说明了如何在性能和事务之间做到了最好平衡的设计思路。 icon
  • 请问大牛们,在实际开发过程中,如何将JPA与领域驱动设计结合?如果在领域驱动设计出来的的类上使用JPA注解是否可行?我们知道领域驱动模型分应用层,领域层,基础设施层等,如果在领域类上使用JPA注解的话,那领域驱动模型岂不是在基础设施层了?领域类是否可以用做DTO(数据传输对象)呢?< icon
  • 你是否愿意以几秒钟的写入可能丢失风险换取关系数据库写操作性能的数百倍提升?如果愿意,你可以不必使用NoSQL,通过配置传统关系数据库获得与NoSQL一样的高性能。 MariaDB (之前: MySQL)下面的配置会 icon