写点什么

什么是操作型系统

发布于: 6 小时前

到底什么才是操作型系统呢?

相信从事过 IT 或相关工作的读者对操作型系统都不会感到陌生。几乎所有的互联网线上系统、MIS、OA 等都属于这类系统的应用。操作型系统是一类专门用于管理面向事务的应用的信息系统。“事务”一词在这里存在一些歧义,有些人理解事务是一个计算机或数据库的术语,另一些人所理解的事务是指业务或商业交易,这里使用前一种语义。那么什么是数据库技术中的事务呢?这是首先需要明确的概念。

事务是工作于数据库管理系统(或类似系统)中的一个逻辑单元,该逻辑单元中的操作被以一种独立于其他事务的可靠方式所处理。事务一般代表着数据改变,它提供“all-or-nothing”操作,就是说事务中的一系列操作要么完全执行,要么完全不执行。在数据库中使用事务主要出于两个目的:

(1)保证工作单元的可靠性。当数据库系统异常宕机时,其中执行的操作或者已经完成或者只有部分完成,很多没有完成的操作此时处于一种模糊状态。在这种情况

下,数据库系统必须能够恢复到数据一致的正常状态。

(2)提供并发访问数据库的多个程序间的隔离。如果没有这种隔离,程序得到的结果很可能是错误的。

根据事务的定义,引申出事务具有原子性、一致性、隔离性、持久性的特点,也就是数据库领域中常说的事务的 ACID 特性。

原子性

指的是事务中的一系列操作或全执行或不执行,这些操作是不可再分的。原子性可以防止数据被部分修改。银行账号间转账是一个事务原子性的例子。简单地说,从 A 账号向 B 账号转账有两步操作:A 账号提取,B 账号存入。这两个操作以原子性事务执行,使数据库保持一致的状态,即使这两个操作的任何一步失败了,总的金额数不会减少也不会增加。

一致性

数据库系统中的一致性是指任何数据库事务只能以允许的方式修改数据。任何数据库写操作必须遵循既有的规则,包括约束、级联、触发器以及它们的任意组合。一致性并不保证应用程序逻辑的正确性,但它能够保证不会因为程序错误而使数据库产生违反规则的结果。

隔离性

在数据库系统中,隔离性决定了其他用户所能看到的事务完整性程度。例如,一个用户正在生成一个采购订单,并且已经生成了订单主记录,但还没有生成订单条目明细记录。此时订单主记录能否被其他并发用户看到呢?这就是由隔离级别决定的。数据库系统中,按照由低到高一般有读非提交、读提交、可重复读、串行化等几种隔离级。数据库系统并不一定实现所有的隔离级别,如 Oracle 数据库只实现了读提交和串行化,而 MySQL 数据库则提供这全部四种隔离级别。

隔离级越低,多用户同时访问数据的能力越高,但同时也会增加脏读、丢失更新等并发操作的负面影响。相反,高隔离级降低了并发影响,但需要使用更多的系统资源,也增加了事务被阻塞的可能性。

持久性

数据库系统的持久性保证已经提交的事务是永久保存的。例如,如果一个机票预订报告显示一个座位已经订出,那么即使系统崩溃,被订了的座位也会一直保持被订出的状态。持久性可以通过在事务提交时将事务日志刷新至永久性存储介质来实现。

用户头像

还未添加个人签名 2018.11.20 加入

还未添加个人简介

评论

发布
暂无评论
什么是操作型系统