数据库ACID事务教程

     

Spring中JPA在异常后三种方法继续事务

28 16K

JPA 中的事务机制是一个强大的工具,它通过提交所有更改或在发生异常时回滚它们来确保原子性和数据完整性。然而,在某些情况下,遇到异常后需要继续事务而不回滚数据更改。在本文中,我们将深入研究出现这种情况.

分布式系统CAP定理教程

18 4K

本文探讨了 CAP 定理。理解 CAP 对于设计分布式系统至关重要,我们将深入研究每个属性的含义。什么是分布式系统?分布式系统将计算和数据分布在网络内的多个互连节点上。这可能涉及卸载处理能力或在地理上.

Rama通过拓扑通用语言实现ACID事务

21 3K

Rama是一个新的编程平台, Rama 的突破最重要的是,它首次出现了用于构建软件应用程序的内聚模型,无论规模如何。ACID事务ACID原子性、一致性、隔离性和持久性是数据库系统的关键特征。Rama .

PostgreSQL中多版本并发控制详解

31 10K

这篇博文讨论了 PostgreSQL 中多版本并发控制的基础知识。然后介绍快照以及它们如何控制元组的可见性。还讨论了与表扫描 API 的集成。与许多关系数据库管理系统一样,PostgreSQL 使用多.

Spring Data JPA中事务回滚意外RollbackException

25 3K

Spring Data JPA 通过在底层持久层上提供更高级别的抽象来简化 Java 应用程序中的数据访问。但是,在处理事务时,开发人员可能会遇到意外行为,例如 UnexpectedRollbackE.

Spring Boot注解@Transactional结合实际例子讲解

41 3K

在今天的文章中,我们将学习 Spring Boot @Transactional 中使用的最重要注释之一的基础知识。理解springboot中使用@Transactional进行事务管理: 事务注释用.

MySQL中分布式事务2PC的异常恢复

37 3K

分布式事务(也称为 XA 事务)的出现是为了解决分布式环境中跨多个数据库或系统协调事务的复杂性。想象一下,您正在指挥一个管弦乐队,其中每个音乐家代表不同的数据库或服务。就像确保音乐的和谐需要精确的协调.

深入探讨 Java Spring 框架事务注释

66 4K
最近,我必须使用六边形架构模式 在 Java 中实现一个新的 CRUD 服务。六边形架构模式是一种强调系统中关注点分离和组件独立性的软件模式。遵循此模式的服务由以下部分组成: 核心模块:这是应用程序的.

Spring中的TransactionSynchronizationManager

61

在企业应用程序开发领域,管理事务对于确保数据完整性和一致性至关重要。然而,协调事务上下文中的多个资源可能很复杂。这就是 TransactionSynchronizationManager 发挥作用的地.

SpringBoot中DataSourceTransactionManager

86 2K

在基于 Spring 的应用程序中,"DataSourceTransactionManager "通常用于在使用关系数据库时管理事务。它负责在一个或多个数据库之间协调事务。以下示例演示了如何在 Spr.

Spring Boot中操作数据库的几种并发事务方式

270 1 5K

当有多个并发事务时,会发生丢失更新异常。来自一个或多个事务的更新可能会丢失,因为其他事务会用其结果覆盖它。让我们通过一个例子来检验一下。考虑以下执行事务的方法。public void withdraw.

Java中AtomicReference专家指南

215 23K

Java中的AtomicReference是一个有趣的功能,它增强了应用程序的线程安全性。本指南深入探讨了 AtomicReference 的复杂性,解释了它的功能、优点以及在 Java 开发中的实际.

十个数据库错误偏见

82

关于数据库,你会听到的十个“错误”的事情: 1)SQL数据库不能扩展。 2)ACID中的一致性= CAP中的一致性 3)CAP中的可用性是指“高可用性”  4)NoSQL数据库不使用B树 5)所有数据.

Postgres中如何防止长时间运行的事务?

89

如何彻底杜绝长时间运行事务的发生?简短的回答:仅使用 Postgres 设置是不能的。从 PG16 / 2023 开始,Postgres 没有提供限制事务持续时间的方法有两个限制设置可以帮助减少长时间.

Java事务API

70 2K

在当今世界,数据完整性和一致性至关重要,处理事务在任何软件应用程序中都变得至关重要。事务确保一组数据库操作作为单个工作单元执行,要么全部成功,要么全部失败,从而保持数据的完整性。Java Transa.

Java.sql 和 Javax.sql 之间的区别

98 5K

在 Java 编程领域,使用数据库是构建健壮且可扩展的应用程序的一个组成部分。为了方便数据库操作,Java提供了两个包:java.sql和javax.sql。虽然这两个包的目的相同,即提供对数据库的访.

MySQL 8.0.34 中可重复读有假?

180 6K

杰普森对 MySQL 并发控制的深入分析,结果包括: MySQL 可重复读取违反了内部一致性并违反了单调原子视图 AWS RDS MySQL 集群经常违反可串行性 MySQL 的 binlog 复制显.

数据库全面知识详细讲解

347 1 25K

大约一年前,我在考虑下一个项目应该选择哪个数据库时,发现自己对数据库的区别了解得还不够。我浏览了不同的数据库网站,看到的大多是市场营销和我不理解的词汇。这时,我决定阅读 Alex Petrov 所著的.

Postgres必须设置用于防止事务ID回绕失败的监视和警报

79

防止 PostgreSQL 数据库中的事务 ID 环绕失败涉及设置监控和警报系统,以便在潜在问题导致严重问题之前主动识别和解决它们。 PostgreSQL 使用 32 位事务 ID,当达到最大值时,会.

ARIES:一种支持细粒度锁定和部分回滚的事务恢复方法

104 2K

内存与磁盘两难: 内存速度很快,但不持久。磁盘很耐用,但速度很慢。 我们想要既快速又耐用。 我们可以在内存中执行并提交事务,以实现快速执行,但提交的事务也应该是持久的。将每个事务刷新到磁盘会在每次提交.

数据操作中RUM(读/更新/内存开销)权衡设计

99 2K

本文将 RUM(读/更新/内存开销)权衡确定为访问方法面临的主要权衡,探讨了现有数据结构如何探索权衡空间,并展望了未来,RUM 猜想将创造一种趋势,即构建能够高效地访问的方法。变形以支持不断变化的需求.

亚马逊DynamoDB大规模分布式事务原理

131 4K
DynamoDB 的一个杀手级功能是任何规模的可预测性。请阅读Marc Brooker 的文章以充分理解此功能。这篇论文出现在 7 月的 USENIX ATC 2023 上。与这种可预测性原则相一致,.

Spring Boot中悲观锁

138 6K

悲观锁是数据库系统中使用的一种并发控制机制。它可以防止多个事务同时更新相同的数据。Spring悲观锁应用:@SpringBootApplicationpublic class SpringPessim.

Epoxy:跨不同数据存储的 ACID 事务

116 4K

Epoxy 利用 Postgres 事务数据库作为主数据库/协调数据库,并扩展多版本并发控制 (MVCC) 以实现跨数据存储隔离。它通过乐观并发控制 (OCC) 和两阶段提交 (2PC) 协议提供隔离.

又是每个程序员都应该知道的:幂等性

135 2K

在编程世界中,每个开发人员都应该理解许多概念,以便构建高效可靠的系统。其中一个重要的概念是幂等性,它指的是操作或函数的属性,多次应用时产生的结果与仅应用一次时产生的结果相同。这似乎是一个简单的概念,但.

Epoxy分布式事务简介

357 3K
传统的解决方案是通过像X/Open XA这样的协议使用两阶段提交。 然而,虽然XA被大多数大型关系数据库(如Postgres和MySQL)支持,但它不受流行的更新数据存储(如MongoDB,Cassa.

10个Postgres使用高级技巧

738 8K

PostgreSQL不仅仅是另一个数据库,它是一个包含可以改变您处理数据方式的功能的系统。1、元组是行的物理版本PostgreSQL的基础之一是元组(tuple)的概念,这让许多新手感到惊讶。简单地说.

使用 db-scheduler 和 Spring 的事务性分阶段作业

909 2 7K

在 web 应用程序中,除了更新数据库之外,请求处理通常具有次要效果,例如更新另一个数据源或发送电子邮件。但是很难可靠地控制二次效应发生的时间和条件。在这篇博文中,我将向您展示如何使用db-sched.

PostgreSQL数据库MVCC事务机制的四个问题 - ottertune

778 1 8K

MVCC 的 PostgreSQL 实现是一种设计选择,可实现 ANSI 标准概述的并发隔离级别。MVCC优势(引用自PostgreSQL 文档):使用并发控制的 MVCC 模型而不是锁定的主要优点是.

什么是分布式事务?

711 1 3K
作为一名软件工程师,我一直想知道事务是如何工作的,以及它们在分布式系统中是如何管理的,所以我用谷歌搜索了一下,发现了很多模式和规范,比如 JTA、2PC、SAGA、事件驱动架构、发件箱等……在本文中,.