免费智能真题库 > 历年试卷 > 信息系统管理工程师 > 2012年上半年 信息系统管理工程师 上午试卷 综合知识
  第57题      
  知识点:   公司级的数据管理   标准化   功能需求   规范化   建模   一致性   应用领域
  关键词:   不一致性   建模   数据   文档   需求        章/节:   系统运行管理知识       

 
各部门、各行业及各应用领域对于相同的数据概念有着不同的功能需求和不同的描述,导致了数据的不一致性。数据标准化是一种按照预定规程对共享数据实施规范化管理的过程,主要包括业务建模阶段、(57)与文档规范化阶段。
 
 
  A.  数据规范化阶段
 
  B.  数据名称规范化阶段
 
  C.  数据含义规范化阶段
 
  D.  数据表示规范化阶段
 
 
 

 
  第22题    2020年下半年  
   29%
某软件公司研发人力资源信息管理系统的过程中,(22)不属于数据库管理员(DBA)的职责。
  第58题    2012年上半年  
   39%
信息资源规划可以概括为“建立两个模型和一套标准”,其中“两个模型”是指信息系统的(58)。
  第59题    2013年上半年  
   30%
在数据的整个生命周期中,不同阶段的数据需要不同水平的保护、迁移、保留和处理措施。通常情况下,在生命周期的初期,数据的生成..
   知识点讲解    
   · 公司级的数据管理    · 标准化    · 功能需求    · 规范化    · 建模    · 一致性    · 应用领域
 
       公司级的数据管理
        如何进行信息资源规划?信息资源规划主要可以概括为“建立两种模型和一套标准”。“两种模型”是指信息系统的功能模型和数据模型,“一套标准”是指信息资源管理基础标准。信息系统的功能模型和数据模型,实际上是用户需求的综合反映和规范化表达;信息资源管理基础标准是进行信息资源开发利用的最基本的标准,这些标准都要体现在数据模型之中。
        企业信息化的最终目标是实现各种不同业务信息系统间跨地域、跨行业、跨部门的信息共享和业务协同,而信息共享和业务协同则是建立在信息使用者和信息拥有者对共享数据的涵义、表示及标识有着相同的而无歧义的理解基础上。然而,由于各部门、各行业及各应用领域对于相同的数据概念有着不同的功能需求和不同的描述,从而导致了数据的不一致性。数据的不一致性主要表现为:数据名称的不一致性、数据长度的不一致性、数据表示的不一致性以及数据含义的不统一性。
        数据标准化是一种按照预定规程对共享数据实施规范化管理的过程。数据标准化的对象是数据元素和元数据。数据元素是通过定义、标识、表示以及允许值等一系列属性描述的数据单元,是数据库中表达实体及其属性的标识符。在特定的语义环境中,数据元素被认为是不可再分的最小数据单元。元数据是描述数据元素属性(即语义内容)的信息,并被存储在数据元素注册系统(又称数据字典)中。数据元素注册系统通过对规范化的数据元素及其属性(即元数据)的管理,可以有效实现用户跨系统和跨环境的数据共享。数据标准化主要包括业务建模阶段、数据规范化阶段、文档规范化阶段等三个阶段。
        数据标准化是建立在对现实业务过程全面分析和了解的基础上的,并以业务模型为基础的。业务建模阶段是业务领域专家和业务建模专家按照《业务流程设计指南》,利用业务建模技术对现实业务需求、业务流程及业务信息进行抽象分析的过程,从而形成覆盖整个业务过程的业务模型。该阶段着重对现实业务流程的分析和研究,尤其需要业务领域专家的直接参与和指导。业务模型是某个业务过程的图形表示或一个设计图。
        数据规范化阶段是数据标准化的关键和核心,该阶段是针对数据元素进行提取、规范化及管理的过程。数据元素的提取离不开对业务建模阶段成果的分析,通过研究业务模型能够获得业务的各个参与方、确定业务的实施细则、明确数据元素对应的信息实体。该阶段是业务领域专家和数据规范化专家按照《数据元素设计与管理规范》利用数据元素注册系统(或数据字典)对业务模型内的各种业务信息实体进行抽象、规范化和管理的过程,从而形成一套完整的标准数据元素目录。在实现数据元素标准化的同时,还应关注数据元素取值的规范化,以此实现信息表示和信息处理的标准化。
        文档规范化阶段是数据规范化成果的实际应用的关键,是实现离散数据有效合成的重要途径。标准数据元素是构造完整信息的基本单元,各类电子文档则是传递各类业务信息的有效载体,并是将分离的标准数据元素信息进行有效合成的手段。该阶段是业务领域专家和电子文档设计专家按照《电子文档设计指南》对各类电子文档格式进行规范化设计和管理的过程,并形成了一批电子文档格式规范。
        综上所述,数据标准化所涉及的三个主要阶段缺一不可、彼此密不可分。业务建模是数据标准化的基础和前提;数据规范化及其管理是数据标准化的核心和重点;文档规范化是数据标准化成果的有效应用的关键。
        此外,数据标准化也可以采用数据字典、数据指南或信息系统字典等加以统一。数据字典实际上也是以数据表和视图为主要存在形式的,它是关于数据的数据表和视图。管理员可以通过数据字典获得全面的数据库信息。
 
       标准化
               标准化概念
                      标准、标准化及标准化对象
                      标准是对重复性事物和概念所做的统一规定。它以科学、技术和实践经验的综合成果为基础,经有关方面协商一致,一个公认机构的批准,以特定形式发布,作为共同遵守的准则和依据。
                      标准化是指在经济、技术、科学及管理等社会实践中,对重复性事物和概念通过制订、发布和实施标准达到统一,以获最佳秩序和社会效益的活动。
                      在国民经济的各个领域中,凡具有多次重复使用和需要制定标准的具体产品,以及各种定额、规划、要求、方法、概念等,都可称为标准化对象。标准化对象一般可分为两大类:一类是标准化的具体对象,即需要制定标准的具体事物;另一类是标准化总体对象,即各种具体对象的总和所构成的整体,通过它可以研究各种具体对象的共同属性、本质和普遍规律。
                      标准化的目的及工作任务
                      标准化的实质是通过制定、发布和实施标准达到统一,其目的是获得最佳秩序和社会效益。
                      中国标准化工作的任务是制定标准、组织实施标准和对标准的实施进行监督。国际标准化组织(ISO)的主要任务是制订国际标准、协调世界范围内的标准化工作。标准化的问题由来已久。中国自秦代开始,历代王朝都有法定度量衡标准以及法定违反标准的罚则。现代标准化是近二、三百年发展起来的。工业革命将标准化问题提上了日程。标准化包括制定标准和贯彻标准,已取得世界上各国和国际社会的重视。
                      标准化的基本特性和作用
                      标准化的基本特性主要包括抽象性、技术性、经济性、连续性(或继承性)、约束性和政策性。其作用如下:
                      (1)标准化为科学管理奠定了基础。所谓科学管理是依据生产技术的发展规律和客观经济规律对企业进行管理,而各种科学管理制度的形式都以标准化为基础。
                      (2)促进经济全面发展,提高经济效益。标准化应用于科学研究,可以避免在研究上的重复劳动;应用于产品设计,可以缩短设计周期;应用于生产,可使生产在科学的和有秩序的基础上进行;应用于管理,可促进统一、协调、高效率等。
                      (3)标准化是科研、生产、使用三者之间的桥梁。一项新技术或科研成果一旦纳入相应标准,就能迅速得到推广和应用,从而促进技术进步。
                      (4)标准化为组织现代化生产创造了前提条件,通过制定和使用标准来保证各生产部门的活动,在技术上保持高度的统一和协调,以使生产正常进行。
                      (5)促进对自然资源的合理利用,保持生态平衡,维护人类社会当前和长远的利益。
                      (6)合理发展产品品种,提高企业应变能力,以更好地满足社会需求。
                      (7)保证产品质量,维护消费者利益。
                      (8)在社会生产组成部分之间进行协调,确立共同遵循的准则,建立稳定的秩序。
                      (9)促进国际技术交流和贸易发展,提高产品在国际市场上的竞争能力。
                      (10)保障身体健康和生命安全,环保标准、卫生标准和安全标准制定发布后,用法律形式强制执行,对保障人民的身体健康和生命财产安全具有重大作用。
               标准化基本过程及分类
               标准是标准化活动的产物,其目的和作用都是要通过制定和贯彻具体的标准来体现的。标准化是一个可分为几个子过程的活动过程,一般包括标准产生(调查、研究、形成草案、批准发布)子过程,标准实施(宣传、普及、监督、咨询)子过程和标准更新(复审、废止或修订)子过程等。
               标准化工作是一项复杂的系统工程,标准为适应不同的要求,从而构成一个庞大而复杂的系统,为便于研究和应用的目的,可以从不同的角度和属性对标准进行分类。根据适用范围可以分类如下:
               (1)国际标准。由国际标准化团体制定、公布和通过的标准。通常,国际标准是指ISO和IEC以及ISO所出版的国际标准题目关键词索引(KWIC Index)中收录的其他国际组织制定、发布的标准等。国际标准在世界范围内统一使用,没有强制的含义,各国可以自愿采用。
               (2)国家标准。由一个国家的政府或国家级的机构制定或批准,适用于全国范围的标准,如我国国家标准(GB)、美国国家标准(ANSI)、德国国家标准(DIN)、英国国家标准(BS)和日本国工业标准(JIS)等。
               (3)区域标准。区域标准又称地区标准,泛指世界上按地理、经济或政治划分的某一区域标准化团体所通过的标准。
               (4)行业标准。由行业机构、学术团体或国防机构制定,并适用于某个业务领域的标准,如美国电气和电子工程师学会标准(IEEE)、中华人民共和国国家军用标准(GJB)、美国军用标准(MIL-S)、美国国防部标准(DOD-STD)等。
               (5)地方标准。由一个国家的地方一级行政机构(省、州或加盟共和国)制定的标准。它一般由地方所属的各企业与单位执行。
               (6)企业标准。由企业或公司批准、发布的标准,某些产品标准由其上级主管机构批准、发布。例如,美国IBM公司通用产品部制定的“程序设计开发指南”仅供该公司内部使用。企业为达到或超过上级标准而对产品质量指标制定高于现行上级标准的内部控制的企业标准,目的在于促进产品质量提高。
               (7)项目规范。由某一科研生产项目组织制定,且为该项任务专用的软件工程规范。例如,计算机集成制造系统(CIMS)的软件工程规范。
               我国标准分为国家标准、行业标准、地方标准和企业标准4类。
               标准的编号
                      国际、国外标准代号及编号
                      国际及国外标准编号的基本结构为“标准代号+专业类号+顺序号+年代号”。其中,“标准代号”大多采用缩写字母,例如IEC代表国际电工委员会(International Electrotechnical Commission)、API代表美国石油协会(American Petroleum Institute)、ASTM代表美国材料与试验协会(American Society for Testing and Materials)等;“专业类号”有字母、数字、字母数字混合式三种形式;“顺序号”和“年号”的形式与我国基本相同,例如国际标准ISO代号及编号格式为:ISO+标准号+[杠+分标准号]+冒号+发布年号(方括号中的内容可有可无),ISO8402:1987和ISO9000-1:1994分别是ISO标准的编号。
                      我国标准代号及编号
                      我国标准编号的基本结构为“标准代号+顺序号+年代号”。
                      (1)国家标准代号由大写汉字拼音字母构成,强制性国家标准代号为GB,推荐性国家标准代号为GB/T。
                      (2)行业标准代号由汉字拼音大写字母组成,再加上斜线T组成推荐性行业标准(如××/T)。行业标准代号由国务院各有关行政主管部门提出其所管理的行业标准范围的申请报告,国务院标准化行政主管部门审查确定并正式公布该行业标准代号。已正式公布的行业代号有QJ(航天)、SJ(电子)、JB(机械)和JR(金融系统)等。
                      (3)地方标准代号由大写汉字拼音DB加上省、自治区、直辖市行政区划代码的前两位数字(北京市11、天津市12、上海市31等)组成,再加上斜线T组成推荐性地方标准(如DB××/T),不加斜线T为强制性地方标准(如DB××)。
                      (4)企业标准的代号由汉字大写拼音字母Q加斜线再加企业代号组成(如Q/×××),企业代号可由大写拼音字母或阿拉伯数字或两者兼用组成。
               信息技术标准化
               信息技术标准化是围绕信息技术开发、信息产品的研制和信息系统建设、运行与管理而开展的一系列标准化工作。其中主要包括信息技术术语、信息表示、汉字信息处理技术、媒体、软件工程、数据库、网络通信、电子数据交换、电子卡、管理信息系统、计算机辅助技术等方面标准化。
                      信息编码标准化
                      编码是一种信息表现形式。在一定条件下,它对事物或概念的描述比自然语言要直接、简洁、准确和有力。要保证信息编码的一致性,就要对编码对象的确定,对象特性的选择,编码方法和代码设计进行标准化。对信息进行编码实际上是对文字、音频、图形和图像等信息进行处理,使之量化,从而便于利用各种通信设备进行信息传递和利用计算机进行信息处理。为了统一编码系统,人们制定了各种标准代码,如国际上较通用的ASCII码等。
                      条码标准化
                      条码是一种特殊的代码,即一组规则排列的条、空及其对应字符组成的标记,用以表示一定的信息。条码中的条、空分别由两种不同深浅的颜色(通常为黑、白色)表示,并满足一定的光学对比度要求,其目的是便于光电扫描设备识读后将数据输入计算机。
                      汉字编码标准化
                      汉字编码是对每一个汉字按一定的规律用若干个字母、数字、符号表示出来。汉字编码的方法很多,主要有数字编码、拼音编码和字形编码。我国在汉字编码标准化方面制定的国家标准主要包括信息交换用汉字编码字符集,共有6集。其中,GB2312—80信息交换用汉字编码字符集是基本集,收入常用基本汉字和字符7445个;GB7589—87和GB7590—87分别是第二辅助集和第四辅助集,各收入现代规范汉字7426个;GB/T12345—90是辅助集,它与第三辅助集和第五辅助集分别是与基本集、第二辅助集和第四辅助集相对应的繁体字的汉字字符集。除汉字编码标准化外,汉字信息处理标准化的内容还包括汉字键盘输入的标准化;汉字文字识别输入和语音识别输入的标准化;汉字输出字体和质量的标准化;汉字属性和汉语词语的标准化等。
                      ISO9000:2000标准
                      ISO9000标准是一系列标准的统称。其质量管理模式为企业管理注入新的活力和生机,给质量管理体系提供评价基础,为企业进行世界贸易带来质量可信度。过程方法的概念,顾客需求的考虑,以及将持续改进的思想贯穿于整个标准,把组织的质量管理体系满足顾客要求的能力和程度体现在标准的要求之中。ISO9000:2000标准的推出标志着国际标准化活动已从名词术语、试验方法及产品质量三大传统领域迈向了管理体系的标准化与认证。ISO9000:2000族标准的构成如下:
                      (1)4个核心标准,即ISO9000:2000《基本原理和术语》、ISO9001:2000《质量管理体系-要求》、ISO9004:2000《质量管理体系-业绩改进指南》和ISO19011:2000《质量和环境管理审核指南》。
                      (2)1个支持标准,即ISO10012《测量设备的质量保证要求》。
                      (3)6个技术报告,即ISO10006《项目管理指南》、ISO10007《技术状态管理指南》、ISO10013《质量管理体系文件指南》、ISO10014《质量经济性指南》、ISO10015《教育和培训指南》和ISO10017《统计技术在ISO9001中的应用指南》。
                      (4)3个小册子,即质量管理原理、选择和使用指南,小型企业的应用指南和一个技术规范。
 
       功能需求
        功能需求即网络在用户单位业务中应该提供的功能,可以通过了解用户单位所从事的行业、该单位在行业内的地位以及和其他单位的关系等来确定其功能需求。另外,还可以通过了解项目背景来明确用户单位建网的目的,从而有助于描述详细的功能需求。
 
       规范化
        关系数据库设计的方法之一就是设计满足适当范式的模式,通常可以通过判断分解后的模式达到几范式来评价模式规范化的程度。范式有:1NF、2NF、3NF、BCNF、4NF和5NF,其中1NF级别最低。这几种范式之间成立。
        通过分解,可以将一个低一级范式的关系模式转换成若干个高一级范式的关系模式,这种过程叫作规范化。下面将给出各个范式的定义。
               1NF(第一范式)
               【定义7.10】若关系模式R的每一个分量是不可再分的数据项,则关系模式R属于第一范式。记为R∈1NF。
               例如,供应者和它所提供的零件信息,关系模式FIRST和函数依赖集F如下:
               FIRST(Sno,Sname,Status,City,Pno,Qty)
               F={Sno→Sname,Sno→Status,Status→City,(Sno,Pno)→Qty}
               对具体的关系FIRST如下表所示。从下表中可以看出,每一个分量都是不可再分的数据项,所以是1NF的。但是,1NF存在4个问题:
               
               FIRST
               (1)冗余度大。例如每个供应者的Sno、Sname、Status、City要与其供应的零件的种类一样多。
               (2)引起修改操作的不一致性。例如供应者S1从“天津”搬到“上海”,若不注意,会使一些数据被修改,另一些数据未被修改,导致数据修改的不一致性。
               (3)插入异常。关系模式FRIST的主码为Sno、Pno,按照关系模式实体完整性规定主码不能取空值或部分取空值。这样,当某个供应者的某些信息未提供时(如Pno),则不能进行插入操作,这就是所谓的插入异常。
               (4)删除异常。若供应商S4的P2零件销售完了,并且以后不再销售P2零件,那么应删除该元组。这样,在基本关系FIRST找不到S4,可S4又是客观存在的。
               正因为上述4个原因,所以要对模式进行分解,并引入了2NF。
               2NF(第二范式)
               【定义7.11】若关系模式R∈1NF,且每一个非主属性完全依赖于码,则关系模式R∈2NF。
               换句话说,当1NF消除了非主属性对码的部分函数依赖,则称为2NF。
               例如,FIRST关系中的码是Sno、Pno,而Sno→Status,因此非主属性Status部分函数依赖于码,故非2NF的。
               若此时,将FIRST关系分解为:
               FIRST1(Sno,Sname,Status,City)∈ 2NF
               FIRST2(Sno,Pno,Qty)∈2NF
               因为分解后的关系模式FIRST1的码为Sno,非主属性Sname、Status、City完全依赖于码Sno,所以属于2NF;关系模式FIRST2的码为Sno、Pno,非主属性Qty完全依赖于码,所以也属于2NF。
               3NF(第三范式)
               【定义7.12】若关系模式R(U,F)中不存在这样的码X,属性组Y及非主属性使得X→Y,成立,则关系模式R∈3NF。
               即当2NF消除了非主属性对码的传递函数依赖,则称为3NF。
               例如,FIRST1?3NF,因为在分解后的关系模式FIRST1中有Sno→Status,Status→City,存在着非主属性City传递依赖于码Sno。若此时将FIRST1继续分解为:
               FIRST11(Sno,Sname,Status)∈ 3NF
               FIRST12(Status,City)∈3NF
               通过上述分解,数据库模式FIRST转换为FIRST11(Sno,Sname,Status)、FIRST12(Status,City)、FIRST2(Sno,Pno,Qty)三个子模式。由于这三个子模式都达到了3NF,因此称分解后的数据库模式达到了3NF。
               可以证明,3NF的模式必是2NF的模式。产生冗余和异常的两个重要原因是部分依赖和传递依赖。因为3NF模式中不存在非主属性对码的部分函数依赖和传递函数依赖,所以具有较好的性能。对于非3NF的1NF、2NF其性能弱,一般不宜作为数据库模式,通常要将它们变换成为3NF或更高级别的范式,这种变换过程称为“关系模式的规范化处理”。
               BCNF(Boyce Codd Normal Form,巴克斯范式)
               【定义7.13】关系模式R∈1NF,若X→Y且时,X必含有码,则关系模式R∈BCNF。
               也就是说,当3NF消除了主属性对码的部分函数依赖和传递函数依赖,则称为BCNF。
               结论:一个满足BCNF的关系模式,应有如下性质。
               (1)所有非主属性对每一个码都是完全函数依赖。
               (2)所有非主属性对每一个不包含它的码,也是完全函数依赖。
               (3)没有任何属性完全函数依赖于非码的任何一组属性。
               例如,设R(Pno,Pname,Mname)的属性分别表示零件号、零件名和厂商名,如果约定,每种零件号只有一个零件名,但不同的零件号可以有相同的零件名;每种零件可以有多个厂商生产,但每家厂商生产的零件应有不同的零件名。这样我们可以得到如下一组函数依赖:
               Pno→Pname,(Pname,Mname)→Pno
               由于该关系模式R中的候选码为(Pname,Mname)或(Pno,Mname),因而关系模式R的属性都是主属性,不存在非主属性对码的传递依赖,所以R是3NF的。但是,主属性Pname传递依赖于码(Pname,Mname),因此R不是BCNF的。当一种零件由多个生产厂家生产时,零件名与零件号间的联系将多次重复,带来冗余和操作异常现象。若将R分解成:
               R1(Pno,Pname)和R2(Pno,Mname)
               就可以解决上述问题,并且分解后的关系模式R1、R2都属于BCNF。
               4NF(第四范式)
               【定义7.14】关系模式R∈1NF,若对于R的每个非平凡多值依赖X→→Y且时,X必含有码,则关系模式R(U,F)∈4NF。
               4NF是限制关系模式的属性间不允许有非平凡且非函数依赖的多值依赖。
               注意:如果只考虑函数依赖,关系模式最高的规范化程度是BCNF;如果考虑多值依赖,关系模式最高的规范化程度是4NF。
               连接依赖5NF
               连接依赖:当关系模式无损分解为n个投影(n>2)会产生一些特殊的情况。下面考虑供应商数据库中SPJ关系的一个具体的值,如下图所示。
               
               关系SPJ是三个二元投影的连接
               第一次SP、PJ投影连接“”起来的结果比原始SPJ关系多了一个元组“S2,P1,J2”,即上图中带下画线的元组。第二次连接的结果去掉了多余的元组,从而恢复了原始的关系SPJ。在这种情况下,原始的SPJ关系是可3分解的。注意,无论我们选择哪两个投影作为第一次连接,结果都是一样的,尽管在每种情况下中间结果不同。
               SPJ的可3分解性是基本与时间无关的特性,是关系模式的所有合法值满足的特性,也就是说,这是关系模式满足一个特定的与时间无关的完整性约束。将这种约束简称为3D(3分解)约束。上述情况就是连接依赖要研究的问题。
               连接依赖:如果给定一个关系模式R,R1,R2,R3,…,Rn是R的分解,那么称R满足连接依赖JD*{R1,R2,R3,…,Rn},当且仅当R的任何可能出现的合法值都与它在R1,R2,R3,…,Rn上的投影等价。
               形式化地说,若R=R1∪R2∪…∪Rn,且,则称R满足连接依赖JD*{R1,R2,R3,…,Rn}。如果某个Ri,就是R本身,则连接依赖是平凡的。
               为了进一步理解连接依赖的概念,我们考虑银行数据库中的子模式:贷款(L-no,Bname,C-name,amount)。其中:
               .贷款号为L-no的贷款是由机构名为Bname贷出的。
               .贷款号为L-no的贷款是贷给客户名为C-name的客户。
               .贷款号为L-no的贷款的金额是amount。
               我们可以看到这是一个非常直观的逻辑蕴涵连接依赖:
               JD*((L-no,Bname),(L-no,C-name),(L-no,amount))
               这个例子说明了连接依赖很直观,符合数据库设计的原则。
               【定义7.15】一个关系模式R是第五范式(也称投影-连接范式PJNF),当且仅当R的每一个非平凡的连接依赖都被R的候选码所蕴涵,记作5NF。
               “被R的候选码所蕴涵”的含义可通过SPJ关系来理解。关系模式SPJ并不是5NF的,因为它满足一个特定连接依赖,即3D约束。这显然没有被其唯一的候选码(该候选码是所有属性的组合)所蕴涵。其区别是,关系模式SPJ并不是5NF,因为它是可被3分解的,可3分解并没有为其(Sno,Pno,Jno)候选码所蕴涵。但是将SPJ3分解后,由于3个投影SP、PJ、JS不包括任何(非平凡的)连接依赖,因此它们都是5NF的。
 
       建模
        建模是在计算机上创造三维形体的过程,建模是三维动画的基础,没有一个好的模型,其他好的效果都难以表现。三维建模的基本方法主要有:利用二维形体的技术、直接进行三维物体建模、造型组合等。
        利用二维形体进行建模的技术的主要思想是首先创建简单的二维形体,如样条线和形状等,然后对这些创建的二维形体进行挤压、旋转、放样等操作以创建三维造型。
        直接进行三维物体建模的常用方法有多边形建模、面片建模、NURBS建模等。
        造型组合是把已有的物体组合成新的物体,其中布尔运算是最重要的组合技术。
 
       一致性
        在讨论一致性之前,先看一下CAP理论。它作为一种理论依据,使得在不同应用中,对一致性也有了不同的要求。CAP理论:简单地说,就是对于一个分布式系统,一致性(Consistency)、可用性(Availablity)和分区容忍性(Partition tolerance)三个特点最多只能三选二。
        一致性意味着系统在执行了某些操作后仍处在一个一致的状态,这点在分布式的系统中尤其明显。比如某用户在一处对共享的数据进行了修改,那么所有有权使用这些数据的用户都可以看到这一改变。简言之,就是所有的结点在同一时刻有相同的数据。
        可用性指对数据的所有操作都应有成功的返回。高可用性则是在系统升级(软件或硬件)或在网络系统中的某些结点发生故障的时候,仍可以正常返回。简言之,就是任何请求不管成功或失败都有响应。
        分区容忍性这一概念的前提是在网络发生故障的时候。在网络连接上,一些结点出现故障,使得原本连通的网络变成了一块一块的分区,若允许系统继续工作,那么就是分区可容忍的。
        在数据库系统中,事务的ACID属性保证了数据库的一致性。比如银行系统中,转账就是一个事务,从原账户扣除金额,以及向目标账户添加金额,这两个数据库操作的总和构成一个完整的逻辑过程,具有原子的不可拆分特性,从而保证了整个系统中的总金额没有变化。
        然而,这些ACID特性对于大型的分布式系统来说,是和高性能不兼容的。比如,你在网上书店买书,任何一个人买书这个过程都会锁住数据库直到买书行为彻底完成(否则书本库存数可能不一致),买书完成的那一瞬间,世界上所有的人都可以看到书的库存减少了一本(这也意味着两个人不能同时买书)。这在小的网上书城也许可以运行得很好,可是对Amazon这种网上书城却并不是很好。
        而对于Amazon这种系统,它也许会用Cache系统,剩余的库存数也许是几秒甚至几个小时前的快照,而不是实时的库存数,这就舍弃了一致性。并且,Amazon可能也舍弃了独立性,当只剩下最后一本书时,也许它会允许两个人同时下单,宁愿最后给那个下单成功却没货的人道歉,而不是整个系统性能的下降。
        由于CAP理论的存在,为了提高性能,出现了ACID的一种变种BASE(这四个字母分别是Basically Available,Soft—state,Eventual consistency的开头字母,是一个弱一致性的理论,只要求最终一致性):
        .Basically Available:基本可用。
        .Soft state:软状态,可以理解为“无连接”的,而与之相对应的Hard state就是“面向连接”的。
        .Eventual consistency:最终一致性,最终整个系统(时间和系统的要求有关)看到的数据是一致的。
        在BASE中,强调可用性的同时,引入了最终一致性这个概念,不像ACID,其并不需要每个事务都是一致的,只需要整个系统经过一定时间后最终达到一致。比如Amazon的卖书系统,也许在卖的过程中,每个用户看到的库存数是不一样的,但最终卖完后,库存数都为0。再比如SNS网络中,C更新状态,A也许可以1分钟就看到,而B甚至5分钟后才看到,但最终大家都可以看到这个更新。
        具体地说,如果选择了CP(一致性和分区容忍性),那么就要考虑ACID理论(传统关系型数据库的基石,事务的四个特点)。如果选择了AP(可用性和分区容忍性),那么就要考虑BASE系统。如果选择了CA(一致性和可用性),如Google的bigtable,那么在网络发生分区的时候,将不能进行完整的操作。
        ACID理论和BASE的具体对比如下表所示。
        
        ACID和BASE的对比表
 
       应用领域
        Java目前主要应用于服务器端的企业级应用(Servlet、JSP)、手持设备(J2ME、K-Java、无线Java)、普通网页(Applet)、普通应用程序。
   题号导航      2012年上半年 信息系统管理工程师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第57题    在手机中做本题