当前位置: 首页 > news >正文

数据科学每日总结--Day10--数据库

数据库

事务调度

定义:事务指的就是用户对数据库的操作。而事务调度主要指的是在实际应用中,多个用户可能同时对数据库进行操作,产生多个事务并发执行。如果不合理调度,可能会出现数据冲突、丢失更新、脏读等问题,影响数据的正确性

ACID属性:

  • 原子性(Atomocity):事务中的所有操作要么全部完成,要么全部不做,不会出现部分完成的情况。比如银行转账,A账户扣钱、B账户加钱,这两个操作要么都成功,要么都失败,不能只完成其中一个。

  • 一致性(Consistency):事务执行前后,数据库都处于一致的状态。事务不能破坏数据库的完整性约束。例如转账后,账户总金额不变,数据不会出现错误或违反约束的情况。

  • 隔离性(Isolation):并发执行多个事务时,各事务之间互不影响,每个事务的中间状态对其他事务不可见。比如,两个用户同时转账,彼此的操作不会互相干扰,最终结果和串行执行一样。

  • 持久性(Durability):事务一旦提交,对数据库的修改就是永久性的,即使系统故障也不会丢失。以转账为例,转账成功后,即使断电或系统崩溃,数据也不会回滚或丢失。

冲突

在事务调度中,冲突指的是两个操作(通常属于不同事务)在同一个数据项上,且至少有一个是写操作时,它们的执行顺序会影响最终结果。

常见的冲突类型:

  • 读-写冲突(RW):一个事务读,另一个事务写同一数据项。

  • 写-读冲突(WR):一个事务写,另一个事务读同一数据项。

  • 写-写冲突(WW):两个事务都写同一数据项。

依赖

依赖是指事务之间由于操作顺序而形成的先后关系。比如,事务T1的某个操作必须在事务T2的某个操作之前执行,否则会影响结果,这就是依赖关系。 依赖通常由冲突产生,如果两个操作冲突,为了保证正确性,必须规定它们的执行顺序,这就形成了依赖。

冲突可串行化

一个调度是冲突可串行化的,指的就是它可以通过交换非冲突操作的顺序,变换成某个串行调度(即所有事务一个一个顺序执行),且结果一致。 一般来说,判断的依据是将所有的冲突指出来,并且写下事务之间的依赖关系,如果事务的依赖关系形成了一个环,即A依赖于B,C依赖于A,B依赖于C,则证明不是冲突可串行化的

http://www.dtcms.com/a/569169.html

相关文章:

  • 【实战】自然语言处理--长文本分类(3)HAN算法
  • 中国建设工程招投网站网站后台登陆口
  • 学校网站建设招聘电商推广计划
  • Ubuntu 20.04 系统库管理详细教程
  • [jmeter-商城测试]
  • Kubernetes包管理利器:Helm核心功能与架构解析指南
  • 17、docker-macvlan-1-理论
  • Mac M系列芯片制作Oracle19镜像使用docker-compose运行
  • Linux source命令详解与应用场景
  • Verilog学习 有限状态机
  • 企业网站备案审核需要多长时间沧州大型企业网站建设
  • Figma高效开发工具链:从设计到测试的完整解决方案
  • React(二):构建一个简单的聊天助手学到的React知识
  • seo优化网站的注意事项北京网络职业学院
  • JWT的说明和使用
  • MFC - 使用 Base64 对图片进行加密解密
  • Git+SSH 实现控制分支的提交权限
  • 网站建设选择题网站的内容建设
  • 怎么用自己电脑做网站服务器刚做淘客没有网站
  • CUDA C++编程指南(3.1)——使用NVCC编译
  • Numpy学习总结
  • 可梦AI获首批企业好评,蜜糖网络入驻共启AI短剧工业化
  • 笔记跨设备无缝切换?Joplin+cpolar让多设备同步更自由
  • Swift 6.2 列传(第四篇):enumerated () 的 “集合神功”
  • PDF 全文翻译开发实现思路:挑战、细节与工程化解决方案
  • 算法解析:从杨辉三角到几何查询的编程实践
  • 数学基础---刚体变换(旋转矩阵与平移矩阵)
  • 找别人建网站去哪里设计网址合集
  • 宁波网站建设费用wordpress启用注册
  • 我的第一个开源项目IOT-Tree Server-实际项目使用介绍