事务架构指南

     

宽事务是坏味道 | Szymon Kulec `Scooletz`

951 1

如果你能感觉到空气中有难闻的气味,你可以说某些东西已经烂了。同样的规则适用于如果发现需要跨越多个实体的事务才能完成业务操作。您可以将这些实体称为聚合,您可以将它们称为Foo或Bar,但如果事务范围很广.

两段事务提交2PC的缺点和解决之道 - DBMS Musings

1 10017 2 9K

现在是时候抛弃2PC了,两阶段提交协议(2PC)已经在企业软件系统中使用了三十多年。它是一种非常有影响力的协议,用于确保访问多个分区或分片中的数据的事务的原子性和持久性。它无处不在 - 无论是在旧的“.

如何获取当前数据库事务ID - Vlad Mihalcea

10800 1 3K

在本文中,我将向您展示如何获取当前数据库事务ID。事务ID对于日志记录非常有用,尤其是如果要关联在同一数据库事务的上下文中执行的多个日志条目。事务基础在关系数据库中,事务是必需的。即使您没有声明数据库.

DDD聚合五种设计方法

2 6634 3 3K

聚合是啥?聚合就是整体与部分的组合,这里推荐一篇Szymon Kulec英文文档,点击标题进入后可获得实现聚合的五种规则,该文档大意翻译如下:我第一次阅读领域驱动设计(DDD)的蓝皮书时,它改变了我对.

使用Spring Boot的事件和事务注意点

6008 3 10K

如果您要使用spring transaction和event publishers编写代码,则需要记住一些规则: 事务绑定到一个线程 默认情况下,当您跳出标记为@Transactional的方法时,将.

使用Spring Cloud Data Flow实现批量数据处理ETL

16048 9 10K
文件摄取是一种ETL应用程序,它逐行读取文件,验证每个行条目,并经常执行某种类型的数据转换。生成的条目放在数据存储中,这些转换后的数据可以被其他应用程序使用。这种类型的处理经常出现在B2B集成领域,零.

Clojure软件事务存储器

1139 5K

多核或多CPU使得并发的要求更加迫切,传统使用锁来管理并发,遗憾的是已被证明不太理想,因为它们经常导致死锁、饥饿、竞争和容易出错。在这篇文章中,我们将探讨如何利用Clojure的软件事务存储器(STM.

苹果FoundationDB事务宣言

1511 4K

在分布式数据库领域中,高性能 + 强一致性事务是代表数据库水平高低的重要象征,苹果的开源数据库FoundationDB是媲美Google Cloud Spanner和Azure Cosmos DB,他.

分布式事务Saga模式

1 15968 12 5K
两阶段提交2PC是分布式事务中最强大的事务类型之一,两段提交就是分两个阶段提交,第一阶段询问各个事务数据源是否准备好,第二阶段才真正将数据提交给事务数据源,当需要同时更新多个数据源实体时,例如确认订单.

超越分布式事务

1 3886 6 9K

该文是Salesforce的软件架构师Pat Helland于2016年12月发表的针对其在2007年CIDR(创新数据库研究会议)上首次发表的同名文章的更新和缩写版本。他曾经发表“不变性改变一切”。.

MySQL、PostgreSQL、MSSQL、DB/2、Oracle比较

2092 4K
您通常需要为OLTP(事务/操作)数据库选择RDBMS。 本文提供一些建议。首先定义一下对于生产级别的24×7 OLTP RDBMS很重要的一些功能。基于锁与MVCC对于读写混合的操作来说,MVCC某.

使用Apache Ignite实现无死锁事务

3728 1 4K

死锁会杀死服务,我们看看Apache Ignite通过分配数字到事务是如何实现无死锁的事务的。在多用户环境中,对于缓存内存中同一条数据或对象进行并发事务操作时会引发死锁,这是性能杀手,一旦系统进入严重.

关系数据库牺牲持久性Durability获得性能提升

1031

你是否愿意以几秒钟的写入可能丢失风险换取关系数据库写操作性能的数百倍提升?如果愿意,你可以不必使用NoSQL,通过配置传统关系数据库获得与NoSQL一样的高性能。MariaDB (之前: MySQL).

有关分布式状态和微服务的讨论

1641

CQRS应该是实现分布式状态的一种挑战性实现,挑战点在于:对于站在数据前面的微服务,我们如何能连接到这些数据集?我们如何获得服务的同意达成分布式一致的状态?CAP理论提供分布式状态的模型实现,给定的可.

替代传统事务的并发建议

5727 5 2K

增删改查是大部分框架的功能,如果有两个并发请求修改同一个数据怎么办?或者插入本来应该是唯一却重复的数据怎么办?或者插入和修改有其他辅助动作比如保存到另外的表比如校订审计日志。你会首先想到“事务”,事务.

比特币区块链是一种分布式的事件流日志

6 6118 15

比特币的区块链机制其实是一种分布式的事件流日志,这个事件流记录着所有的比特币交易事件。比特币是一种虚拟货币,我们知道我们可以通过自己设立一个机器来专门挖矿,也就是“无偿”获得比特币,但是这个“无偿”并.

为什么大部分NoSQL不提供分布式事务?

1 16576 6 2K
像MongoDB, Cassandra, HBase, DynamoDB, 和 Riak这些NoSQL缺乏传统的原子事务机制,所谓原子事务机制是可以保证一系列写操作要么全部完成,要么全部不会完成,不会.

大部分关系数据库并不真的支持ACID

3 4706 3
大部分关系数据库宣称与NoSQL的区别是100%支持ACID事务,在现实中,很少有关系数据库包括Oracle能提供正式的ACID保证,即使他们宣传自己是提供真正ACID。那么,谁在撒谎呢?来自2013.

苹果为什么收购FoundationDB?

1 4797 9

最近一个爆炸新闻是apple收购了名不经传的FoundationDB,之前苹果是使用Cassandra作为来保存各种资源包括用户上传的资料影音媒体图片等等。这一举动引发了多方揣测,一些人认为苹果使用非.

请教编程技术对领域驱动设计的影响

6 1286

请问大牛们,在实际开发过程中,如何将JPA与领域驱动设计结合?如果在领域驱动设计出来的的类上使用JPA注解是否可行?我们知道领域驱动模型分应用层,领域层,基础设施层等,如果在领域类上使用JPA注解的话.

ACID中C与CAP定理中C的区别

7 12913 11 2K
ACID和CAP定理中都有C,代表Consistent一致性,很多人容易将这两个C混为一谈,其实这两个一致性是有区别的。事务的定义是一系列操作要么全部成功,要么全部不成功,数据库的事务机制是通过ACI.

最终一致性其实比MVCC简单

1 10270 4 5K
关系数据库ACID或MVCC很简单是一个谎言,最终一致性其实比MVCC简单。Stay Curious在If Eventual Consistency Seems Hard, Wait Till You.

吐槽下,工行ATM转账——事务相关性

2 2173 1

今儿去工行ATM给已朋友转账,遇到这么个情况:选择对外转账后输入转入账号(输入两次),接着提示输入转入金额(输入一次金额),按确定,系统提示交易中,3秒左右,提示“输入账号无效”,系统自动中断了操作,.

关于EventSourcing事务的问题

17 4282 4

关于EventSourcing事务的问题,还是有点不太明白。在事件驱动编程中,数据持久化是异步,那如果持久化失败,我如何在业务流程中得知并处理,如果要等到数据持久化成功才进行下一步操作,不是又变成同步.

为什么说互联网金融是对传统软件的一种颠覆

10 6971 7 2K
互联网金融时下非常热门,承载着很多人的希望,好处就不多说,想浇两盆冷水。一盆冷水是一位网友在使用支付宝时,出现了1+42=55元的简单计算错误,如下图: 另外一盆冷水是今天百度理财发表的声明:百度理.

为什么Actor模型是高并发事务的终极解决方案?

22 86032 28 4K
首先看看道友提出的一个问题:用户甲的操作1.开始事务2.访问表A3.访问表B4.提交事务乙用户在操作1.开始事务2.访问表B3.访问表A4.提交事务 如果甲用户和乙用户的两个事务同时发生,甲事务锁住了.

多个事务和一个事务的不同点

4 7714 2

我们项目用存储过程比较多,但是里面的语句有的执行时间比较长,所以我打算把他们从存储过程提出来,用JDBC直接执行这几个SQL,同时应用多线程来缩短执行时间,每个线程里开启一个事务。我通过使用Cycli.

高并发时候的事务控制

2 3764 6

用户甲的操作1.开始事务2.访问表A3.访问表B4.提交事务乙用户在操作1.开始事务2.访问表B3.访问表A4.提交事务 访问时候,进行了操作。大神们,怎么来控制比较好处理呢?.

有关NOSQL事务

1 1654

NOSQL中的mongodb 是我心目中理想的数据库.可是事务问题一直纠结.事物在很多系统之中是必不可少的.如果使用乐观锁来实现事务呢?这个方案有没有明显的漏洞?如果用来做财务系统可行不?[该贴被px.

用于高可用性的Event Sourced 架构

2 1562
Event Sourced Architectures for High Availability可用性是指用户能够访问系统的能力,并不是开机时间。高可用性意味着,当我们需要时,系统总是能够可用。99.