Dojo
话题
新佳
订阅
极道
元认知
元逻辑
元设计
元编程
元语言
事务架构指南
ACID中C与CAP定理中C的区别
ACID和CAP
为什么大部分NoSQL不提供分布式事务?
像MongoDB, Cassandra, HBase, DynamoDB, 和 Riak这些NoSQL缺乏传统的原子事务机制,所谓原子事务机制是可以保证一系列写操作要么全部完成,要么全部不会完成,不会发生只完成一系列中一两个写操作;因为数据库不提供这种事务机制支持,开发者需要自己编写代码来确保一系列
分布式事务Saga模式
两阶段提交2PC是分布式事务中最强大的事务类型之一,两段提交就是分两个阶段提交,第一阶段询问各个事务数据源是否准备好,第二阶段才真正将数据提交给事务数据源,当需要同时更新多个数据源实体时,例如确认订单并立即更新库存时,它非常有用。 但是,当您使用微服务时,
超越分布式事务
该文是Salesforce的软件架构师Pat Helland于2016年12月发表的针对其在2007年CIDR(创新数据库研究会议)上首次发表的同名文章的更新和缩写版本。他曾经发表“不变性改变一切”。 业界谈到分布式事务通常指两段提交2PC事务(Sprin
苹果为什么收购FoundationDB?
最近一个爆炸新闻是apple收购了名不经传的FoundationDB,之前苹果是使用Cassandra作为来保存各种资源包括用户上传的资料影音媒体图片等等。这一举动引发了多方揣测,一些人认为苹果使用非开源的数据库来保存用户的资料,是不是别有用心? 下面从技
大部分关系数据库并不真的支持ACID
大部分关系数据库宣称与NoSQL的区别是100%支持ACID事务,在现实中,很少有关系数据库包括Oracle能提供正式的ACID保证,即使他们宣传自己是提供真正ACID。 那么,谁在撒谎呢? 来自2013年文章<
DDD聚合五种设计方法
聚合是啥?聚合就是整体与部分的组合,这里推荐一篇Szymon Kulec英文文档,点击标题进入后可获得实现聚合的五种规则,该文档大意翻译如下: 我第一次阅读领域驱动设计(DDD)的蓝皮书时,它改变了我对业务领域的看法。一开始,我认为这种新方法纯粹是技术性的
使用Spring Boot的事件和事务注意点
如果您要使用spring transaction和event publishers编写代码,则需要记住一些规则: 事务绑定到一个线程 默认情况下,当您跳出标记为@Transactional的方法时,将提交事务 默认情况下,事务内部调用的所有方法都使用它
使用Spring Cloud Data Flow实现批量数据处理ETL
文件摄取是一种ETL应用程序,它逐行读取文件,验证每个行条目,并经常执行某种类型的数据转换。生成的条目放在数据存储中,这些转换后的数据可以被其他应用程序使用。这种类型的处理经常出现在B2B集成领域,零售商的制造商产品更新批量供应产品,金融服务公司之间的证券交易以及内部批处理过程中。事实上,这
Clojure软件事务存储器
多核或多CPU使得并发的要求更加迫切,传统使用锁来管理并发,遗憾的是已被证明不太理想,因为它们经常导致死锁、饥饿、竞争和容易出错。在这篇文章中,我们将探讨如何利用Clojure的软件事务存储器(STM)来更好地利用现代硬件。 Clojure
苹果FoundationDB事务宣言
在分布式数据库领域中,高性能 + 强一致性事务是代表数据库水平高低的重要象征,苹果的开源数据库FoundationDB是媲美Google Cloud Spanner和Azure Cosmos DB,他们发布的事务宣言说明了如何在性能和事务之间做到了最好平衡的设计思路。
MySQL、PostgreSQL、MSSQL、DB/2、Oracle比较
您通常需要为OLTP(事务/操作)数据库选择RDBMS。 本文提供一些建议。首先定义一下对于生产级别的24×7 OLTP RDBMS很重要的一些功能。 基于锁与MVCC对于读写混合的操作来说,MVCC某种程度上好于
使用Apache Ignite实现无死锁事务
死锁会杀死服务,我们看看Apache Ignite通过分配数字到事务是如何实现无死锁的事务的。 在多用户环境中,对于缓存内存中同一条数据或对象进行并发事务操作时会引发死锁,这是性能杀手,一旦系统进入严重的死锁状态,恢复需要整个集群重新启动,而Apache
关系数据库牺牲持久性Durability获得性能提升
你是否愿意以几秒钟的写入可能丢失风险换取关系数据库写操作性能的数百倍提升?如果愿意,你可以不必使用NoSQL,通过配置传统关系数据库获得与NoSQL一样的高性能。 MariaDB (之前: MySQL)下面的配置会
有关分布式状态和微服务的讨论
CQRS应该是实现分布式状态的一种挑战性实现,挑战点在于:对于站在数据前面的微服务,我们如何能连接到这些数据集?我们如何获得服务的同意达成分布式一致的状态? CAP理论提供分布式状态的模型实现,给定的可用性 一致性和分区性,只能三个之中选择两个,如果你能够
替代传统事务的并发建议
增删改查是大部分框架的功能,如果有两个并发请求修改同一个数据怎么办?或者插入本来应该是唯一却重复的数据怎么办?或者插入和修改有其他辅助动作比如保存到另外的表比如校订审计日志。 你会首先想到“事务”,事务确实能够让一组操作一起可靠安全执行,要么全部执行,要么
比特币区块链是一种分布式的事件流日志
比特币的区块链机制其实是一种分布式的事件流日志,这个事件流记录着所有的比特币交易事件。 比特币是一种虚拟货币,我们知道我们可以通过自己设立一个机器来专门挖矿,也就是“无偿”获得比特币,但是这个“无偿”并不是真正无偿,你的电脑将以算力和工作量的付出为代价,其
请教编程技术对领域驱动设计的影响
请问大牛们,在实际开发过程中,如何将JPA与领域驱动设计结合?如果在领域驱动设计出来的的类上使用JPA注解是否可行?我们知道领域驱动模型分应用层,领域层,基础设施层等,如果在领域类上使用JPA注解的话,那领域驱动模型岂不是在基础设施层了?领域类是否可以用做DTO(数据传输对象)呢?<
上页
下页