首页 > 其他分享 >事务的一致性是什么?

事务的一致性是什么?

时间:2023-11-26 21:25:41浏览次数:25  
标签:状态 事务 定律 数据库 宇宙 规则 一致性 什么

熵增定律

什么是熵增定律?

熵的物理意义是分子无序化的量度,换句话说,熵是对体系混乱程度的一种度量。

而熵增,即是在一个孤立系统中,事物总是自发、不可逆的朝着熵增加(混乱)方向进行。当熵达到最大值时,系统就会出现严重混乱,最终走向灭亡。

可以说,熵增定律是人类至今为止所发现的最令人忧伤和绝望的物理定律。

宇宙 --> 熵增 --> 宇宙

before --> after

数据库A ->(规则)一致性-> 数据库A

事务的AID特性都是为了C一致性服务的.

所谓一致性是数据库处理前后结果应与其所抽象的客观世界中真实状况保持一致。这种一致性是一种需要管理员去定义的规则。管理员如何指定规则,数据库就严格按照这种规则去处理数据。

这个一致性的规则是由程序(编写程序的人)来决定的,如果符合一致性规则,那么就数据库就会按照这个规则去处理数据.任何在数据库中的修改操作都要满足预先定义好的规则(这个规则就是一致性规则),由程序去判断这个操作是否符合一致性规则,如果符合规则,则认为事务是一致性的,如果不符合规则,就不会发生,即便发生也会rollback

比如上述的熵增定律,把宇宙比作一个容器,这个容器最后的状态是确定的,这个确定的规则就是熵增定律,那么熵增定律就是宇宙的一致性

由原来的有序状态,逐渐转化为混乱的无序状态,熵就是描述这个无序状态的程度的一个指标.

那么宇宙由一种状态转化为另一种状态,之间经过的过程 就是熵增(一致性规则),不幸的是这个规则是神决定的.

同理:数据库由一种状态,转化为另一种状态 中间经过的过程 也是一致性过程(规则),幸运的是这个规则是人决定的

AID都是属于数据库的特性,而这些特性都是为了一致性服务的

片面理解:AID都是为了应用层的程序服务的,由应用层的程序定义一致性规则

而数据库会按照应用层的一致性规则来处理数据

标签:状态,事务,定律,数据库,宇宙,规则,一致性,什么
From: https://www.cnblogs.com/RepublicLine/p/17857973.html

相关文章

  • 熵模型-为什么使用条件概率优于个元素独立的全分解模型?
    熵模型论文<VARIATIONALIMAGECOMPRESSIONWITHASCALEHYPERPRIOR提出使用超先验,来捕获潜在表示的超先验。追根溯源发现:在香农的通信理论中给出数学解释即,使用联合分布比独立分布更优如果有先验的信息,对后续编码而言其不确定性会更小,从而获得更小的比特流。该博客提供......
  • 大模型训练过程中用到的 gpt_merge.txt和gpt_vocab.json是干什么用的?
    下面这边文章讲的非常清晰,原文链接:https://blog.csdn.net/ljp1919/article/details/113616226......
  • 为什么全序集降位和和逆序对在同一长度的排列的分布相同?
    引入在q-analog中,我们知道:\[\sum_{p\inS}q^{\operatorname{maj}(p)}=\sum_{p\inS}q^{\tau(p)}=\binom{\suma_i}{a_1,a_2,\dots,a_n}_q\]其中\(S\)是\(a_i\)个\(i\)元素(对于所有\(i\))构成的排列集合。\[\operatorname{maj}(p)=\sum_{i<\suma_i}i[p_i>p......
  • Java中的事务——JDBC事务和JTA事务
    简介: 本文来介绍一下J2EE中和事务相关的内容,在阅读本文之前,希望读者对分布式有一定的了解。Java事务的类型有三种:JDBC事务、JTA(JavaTransactionAPI)事务、容器事务。本文来介绍一下J2EE中和事务相关的内容,在阅读本文之前,希望读者对分布式有一定的了解。Java事务的类型有三种:JDB......
  • MySQL_事务
    事务的特性ACIDA原子性:一个事务中的所有操作,要么全部完成,要么全部不完成。undolog保证C一致性:事务操作前和操作后,数据满足完整性约束,数据库保持一致性状态。原子性、隔离性、持久性保证I隔离性:多个并发事务交叉执行,使用相同的数据时,互不干扰,每个事务都有一个完整的数据空间......
  • 电脑不开机是什么原因
    1、硬盘设置错误。2、主机与显示器连接的线出现了松动。3、电脑被黑,需要恢复系统重装电脑。4、主板跳线安插错误。5、电源开关未开/电源故障。6、机箱开机按键故障。7、CPU过热。8、核心硬件故障。9、内存问题。10、BIOS设置错乱。电脑介绍电子计算机(electroniccomputer)通称电脑,是......
  • 什么时候会重写equals和hashcode方法
    在Java中,通常情况下,当你使用自定义类的实例作为集合的元素、键(key)或者在需要进行对象比较的场景,你可能会需要重写equals()和hashCode()方法。这两个方法在Object类中定义,但默认的实现是基于对象的内存地址,而不是基于对象的内容。通过重写这两个方法,你可以自定义对象相等性的......
  • 什么是 SAP ABAP 的 Conversion Exits
    ConversionExits是ABAP中的一种技术,用于在数据库和用户界面之间转换数据。这是一个非常重要的概念,因为在不同的系统和应用中,相同的数据可能需要以不同的形式进行表示。例如,日期在数据库中可能以一种格式存储,但在用户界面上可能需要以另一种更易于理解的格式显示。ConversionE......
  • 面向对象软件设计中常见的问题 - 为什么要定义类的私有方法
    "为什么要定义私有方法?"这是一个在面向对象软件设计中常见的问题,涉及到封装性、安全性和设计灵活性等方面的考虑。首先,让我们来看看为什么要使用私有方法。封装性(Encapsulation):面向对象编程的一个基本原则是封装,即将对象的内部细节隐藏起来,只暴露必要的接口给外部。私有方法是......
  • c++ 为什么引入函数对象?
    C++引入函数对象主要是因为函数对象具有以下优势:函数对象可以有自己的状态:我们可以在类中定义状态变量,这样一个函数对象在多次的调用中可以共享这个状态。但是函数调用没这种优势,除非它使用全局变量来保存状态。函数对象有自己特有的类型,而普通函数无类型可言:这种特性对......