免费智能真题库 > 历年试卷 > 系统分析师 > 2019年上半年 系统分析师 下午试卷 案例
  第4题      
  知识点:   MySQL   关系数据库   数据层   数据库

 
【说明】
某软件企业开发了一套新闻社交类软件,提供常见的新闻发布、用户关注、用户推荐、新闻点评、新闻推荐、热点新闻等功能,项目采用MySQL数据库来存储业务数据。系统上线后,随着用户数量的增加,数据库服务器的压力不断加大。为此,该企业设立了专门的工作组来解决此问题。
张工提出对MySQL数据库进行扩展,采用读写分离,主从复制的策略,好处是程序改动比较小,可以较快完成,后续也可以扩展到MySQL集群,其方案如图4-1所示。李工认为该系统的诸多功能,并不需要采用关系数据库,甚至关系数据库限制了功能的实现,应该采用NoSQL数据库来替代MySQL,重新构造系统的数据层。而刘工认为张工的方案过于保守,对该系统的某些功能,如关注列表、推荐列表、热搜榜单等实现困难,且性能提升不大;而李工的方案又太激进,工作量太大,短期无法完成,应尽量综合二者的优点,采用Key-Value数据库+MySQL数据库的混合方案。

经过组内多次讨论,该企业最终决定采用刘工提出的方案。
 
问题:4.1   (8分)
张工方案中采用了读写分离,主从复制策略。其中,读写分离设置物理上不同的主/从服务器,让主服务器负责数据的(a)操作,从服务器负责数据的(b)操作,从而有效减少数据并发操作的(c),但却帯来了(d)。因此,需要采用主从复制策略保持数据的(e)。
MySQL数据库中,主从复制是通过binary log来实现主从服务器的数据同步,MySQL数据库支持的三种复制类型分别是(f)、(g)、(h)。
请将答案填入(a)~(h)处的空白,完成上述描述。
 
问题:4.2   (8分)
李工方案中给出了关系数据库与NoSQL数据的比较,如表4-1所示,以此来说明该新闻社交类软件更适合采用NoSQL数据库。请完成表4-1中的(a) ~ (d)处空白。
                                                          表4-1关系数据库与NoSQL数据库特征比较
 
问题:4.3   刘工提出的方案采用了Key-Value数据库+MySQL数据库的混合方案,是根据数据的读写特点将数据分别部署到不同的数据库中。但是由于部分数据可能同时存在于两个数据库中,因此存在数据同步问题。请用200字以内的文字简要说明解决该数据同步问题的三种方法。
 
 
 

   知识点讲解    
   · MySQL    · 关系数据库    · 数据层    · 数据库
 
       MySQL
        MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司。MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
 
       关系数据库
               关系模型概述
               关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。关系模型的数据结构单一,现实世界的实体以及实体间的各种联系均用关系来表示。在用户看来,关系模型中数据的逻辑结构是一张二维表。关系模型中常用的关系操作包括选择、投影、连接、除、并、交、差等查询操作,和增加、删除、修改操作两大部分。早期的关系操作能力通常用关系代数和关系演算来表示,关系代数是用对关系的运算来表达查询要求的方式,关系演算是用谓词来表达查询要求的方式。另外还有一种介于关系代数和关系演算之间的语言SQL,它不仅具有丰富的查询功能,而且具有数据定义和数据控制功能,是关系数据库的标准语言。
               关系数据结构及形式化定义
               首先介绍一些概念:
               (1)域(Domain):域是一组具有相同数据类型的值的集合。
               (2)笛卡尔积(Cartesian Product):给定一组域D1, D2,…,Dn,这些域中可以有相同的。D1,D2,…,Dn的笛卡尔积为:D1×D2×…×Dn={(d1,d2,…,dn) |di∈Di, i=1,2,…,n}其中每一个元素(d1,d2,…,dn)叫做一个n元组或简称元组。元素中的每一个值di叫做一个分量。笛卡尔积可以用来表示二维表,表中的每行对应一个元组,每列对应一个域。
               (3)关系(Relation):D1×D2×…×Dn的子集叫做在域D1,D2,…,Dn上的关系,表示为R (D1, D2,…,Dn),这里R表示关系的名字,n是关系的目或度(Degree),关系中的每个元素是关系中的元组。
               关系是笛卡尔积的有限子集,所以关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。一个元组就是该关系所涉及的属性集的笛卡尔积的一个元素。由于在笛卡尔积的定义中,域是可以相同的,所以为了加以区分,必须对每个列起一个名字,称之为属性,n目关系必须有n个属性。若关系中的某一属性组的值能够唯一标识一个元组,则称该属性组为候选码(Candidate Key)。若一个关系有多个候选码,则选定其中之一为主码(Primary Key)。主码的各个属性称为主属性(Prime Attribute)。不包含在任何候选码中的属性称为非码属性(Non-key Attribute)。当关系模式的所有属性组是这个关系模式的候选码时,称为全码(All-Key)。
               关系的完整性
               (1)实体完整性。
               若属性A是基本关系R的主属性,则属性A不能取空值。也就是说基本关系得所有主属性都不能取空值,而不仅是主码整体不能取空值。
               (2)参照完整性。
               现实世界中的实体之间往往存在某种联系,在关系模型中实体之间的联系用关系描述,这样就会存在着关系间的引用。例如,学生、课程、选课三个关系如下:
               学生(学号,姓名,性别,专业)
               课程(课程号,课程名,教师,学分)
               选课(学号,课程号,成绩)
               它们之间是多对多联系,存在着属性的引用,即选课关系引用了学生关系的主码和课程关系的主码,如画线所示。在选课关系中必须满足:①选课关系中的“学号”值必须是确实存在的学生的学号,即在学生关系中有该学生的记录;②选课关系中“课程号”也必须确实存在,即课程关系中有该课程的记录。也就是说,选课关系中某些属性的取值需要参照其他关系的属性的取值。
               设F是基本关系R的一个或一组属性,但不是关系R的码。如果F与基本关系S的主码KS相对应,则称F是基本关系R的外码,并称基本关系R为参照关系,基本关系S为被参照关系或目标关系,关系R和S不一定是不同的关系。在上例中,“学号”和“课程号”是选课关系的外码,学生关系和课程关系是被参照关系,选课关系是参照关系。
               参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码KS相对应(关系R和S不一定是不同的关系),则对于R中每个元组在F上的值或者取空值或者等于S中某个元组的主码值。
               (3)用户定义的完整性
               用户定义的完整性就是针对某一具体关系数据库的约束条件。例如属性的取值范围、属性间必须满足一定的函数关系等。
 
       数据层
        数据层主要包括银行信息系统的处理对象——客户数据和账务数据。当前,银行普遍采用总行数据大集中的管理模式。为了充分发挥数据大集中管理和综合前置平台的功能,需要对数据分布进行合理规划,明确哪些数据放置在总行数据大集中服务器,哪些数据放置在分行前置平台。银行信息系统中的数据包括:
        (1)客户信息数据。包括授信客户的各种风险评估资料和经营状况资料在内的客户信息数据存放在总行数据大集中服务器上,便于全行集中式风险控制和数据仓库技术的应用。
        (2)综合账务数据。包括对公、对私账务数据,由于账务系统是运行在总行数据大集中服务器上的,所以这些数据全部应存放在总行数据大集中服务器上。
        (3)信用卡账务数据。信用卡系统也运行在总行数据大集中服务器上,所以这些数据也应存放在总行数据大集中服务器上。
        (4)中间业务的客户数据。由于中间业务是本地化特色很强的金融业务,所以中间业务的客户资料数据在不同分行会有不同的表述,很难由总行统一实现,这些数据主要存储在各地分行的前置平台上。
        (5)清算和对账数据。在金融交易中,银行会与金卡、券商等银行客户进行对账,与本地网上支付网关进行对账。在对账时,分支行负责和所有的清算单位(金卡、电信等)对账,主要通过勾对流水的方式来进行处理,然后与总行统一勾对账务信息。所以在下属分行的前置平台应存放清算与对账的交易流水信息。
        (6)地方性安全认证数据。出于对各地安全措施千差万别的考虑,例如,各地分行对公同城通兑方式不同,IC卡安全论证方式不同等,对交易进行合法性校验的安全认证信息最好应存放在下属分行的前置平台,由下属分行负责这些数据的安全。
 
       数据库
        数据库(DataBase,DB)是指长期存储在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
        系统使用的所有数据存储在一个或几个数据库中。
   题号导航      2019年上半年 系统分析师 下午试卷 案例   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
 
第4题    在手机中做本题