【问题2】(12分)请从数据获取方式、数据交互方式和数据访问的上下文无关性三个方面对王工和李工的方案进行比较,并用500字以内的文字说明为什么没有采用王工的方案。

题目

【问题2】(12分)

请从数据获取方式、数据交互方式和数据访问的上下文无关性三个方面对王工和李工的方案进行比较,并用500字以内的文字说明为什么没有采用王工的方案。


相似考题

1.试题四(共 25 分)阅读以下关于数据集成的叙述,在答题纸上回答问题 1 至问题3。某互联网销售企业需要建立自己的电子商务平台,将所有产品信息集中在一起,为用户提供全方位的产品信息检索服务。但产品供应商大多数已经建有自己的电子商务平台,且数据独立存储,而且数据格式和数据平台有较大差异,有的供应商甚至没有采用数据库来存储商品信息。为此该企业专门成立专家组来论证其数据集成方案。李工提出采用集中式集成方式把产品供应商的数据集中在一起,采用数据仓库技术来实现与各家供应商的数据集成。而王工提出采用松耦合的联邦数据库集成方案。专家组经过激烈讨论,认为王工方案更为合理,建议采用王工提出的集成方案。【问题 1】(10 分)请结合数据仓库和联邦数据库集成方案各自的特点,简要说明专家组采用王工提出的集成方案的原因。【问题 2】(7 分)部分供应商的产品信息没有相应的数据库,而是直接嵌入在 WEB 页面中供用户浏览。数据集成时需要直接从供应商电子商务平台的网页上获取其产品信息。请简要给出此类数据集成的方法和基本步骤。【问题 3】(8 分)在方案评审会上,项目组针对李工和王工的方案展开了激烈的讨论。刘工指出两种方案在实施的过程中,都存在数据源之间的语义映射和转换问题,都会带来数据集成的不确定。请简要说明产生不确定的原因。

2.试题四(共25分)阅读以下Web应用系统架构设计的说明,在答题纸上回答问题1至问题3。【说明】某公司拟开发一个市场策略跟踪与分析系统,根据互联网上用户对公司产品信息的访问情况和产品实际销售情况来追踪各种市场策略的效果。其中互联网上用户对公司产品信息的访问情况需要借助两种不同的第三方Web分析软件进行数据采集与统计,并生成不同格式的数据报表;公司产品的实际销售情况则需要通过各个分公司的产品销售电子表格或数据库进行采集与汇总。得到相关数据后,还要对数据进行分析与统计,并通过浏览器以在线的方式向市场策略制定者展示最终的市场策略效果。在对市场策略跟踪与分析系统的架构进行设计时,公司的架构师王工提出采用面向服务的系统架构,首先将各种待集成的第三方软件和异构数据源统一进行包装,然后将数据访问功能以标准Web服务接口的形式对外暴露,从而支持系统进行数据的分析与处理,前端则采CSS等技术实现浏览器数据的渲染与展示。架构师李工则认为该系统的核心在于数据的定位、汇聚与转换,更适合采用面向资源的架构,即首先为每种数据元素确定地址,然后将各种数据格式统一转换为JSON格式,通过对JSON数据的组合支持数据的分析与处理任务,处理结果经过渲染后在浏览器的环境中进行展示。在架构评估会议上,专家对这两种方案进行综合评价,最终采用了李工的方案。【问题1】(7分)请根据题干描述,对市场策略跟踪与分析系统的数据源特征与数据操作方式进行分析,完成表4-1中的(1)~(3),并用200字以内的文字说明李工方案的优点。【问题2】 (12分)请从数据获取方式、数据交互方式和数据访问的上下文无关性三个方面对王工和李工的方案进行比较,并用500字以内的文字说明为什么没有采用王工的方案。【问题3】(6分)表现层状态转换( REST)是面向资源架构的核心思想,请用200字以内的文字解释什么是REST,并指出在REST中将哪三种关注点进行分离。

更多“【问题2】(12分) 请从数据获取方式、数据交互方式和数据访问的上下文无关性三个方面对王工和李工 ”相关问题
  • 第1题:

    试题二(共25分)

    阅读以下关于软件系统数据建模的说明,在答题纸上回答问题l至问题3.

    【说明】

    某软件公司成立项目组为某高校开发一套教职工信息管理系统。与教职工信息相关的数据需求和处理需求如下:

    (1)数据需求:在教职工信息中能够存储学校所有在职的教工和职工信息,包括姓名、所属部门、出生年月、工资编号、工资额和缴税信息;部门信息中包括部门编号、部门名称、部门人数和办公地点信息。

    (2)处理需求:能够根据编制内或外聘教职工的工资编号分别查询其相关信息;每个月的月底统一核发工资,要求系统能够以最快速度查询出教工或者职工所在部门名称、实发工资金额;由于学校人员相对稳定,所以数据变化及维护工作量很少。

    项目组王工和李工针对上述应用需求分别给出了所设计的数据模型(如图2-1和图2-2所示)。王工遵循数据库设计过程,按照第三范式对数据进行优化和调整,所设计的数据模型简单且基本没有数据冗余;而李工设计的数据模型中存在大量数据冗余。

    项目组经过分析和讨论,特别是针对数据处理中对数据访问效率的需求,最终选择了李工给出的数据模型设计方案。

    【问题1】(9分)

    请用300字以内的文字,说明什么是数据库建模中的反规范化技术,指出采用反规范化技术能获得哪些益处,可能带来哪些问题。

    【问题2】(8分)

    请简要叙述常见的反规范化技术有哪些。

    【问题3】(8分)

    请分析李工是如何应用反规范化技术来满足教职工信息管理需求的。


    正确答案:
    试题二
    【问题1】
    规范化设计后,数据库设计者希望牺牲部分规范化来提高性能,这种从规范化设计的回退方法称为反规范化技术。
    采用反规范化技术的益处:降低连接操作的需求、降低外码和索引的数目,还可能减少表的数目,能够提高查询效率。
    可能带来的问题:数据的重复存储,浪费了磁盘空间;可能出现数据的完整性问题,为了保障数据的一致性,增加了数据维护的复杂性,会降低修改速度。
    【问题2】
    (1)增加冗余列:在多个表中保留相同的列,通过增加数据冗余减少或避免查询时的连接操作。
    (2)增加派生列:在表中增加可以由本表或其它表中数据计算生成的列,减少查询时的连接操作并避免计算或使用集合函数。
    (3)重新组表:如果许多用户需要查看两个表连接出来的结果数据,则把这两个表重新组成一个表来减少连接而提高性能。
    (4)水平分割表:根据一列或多列数据的值,把数据放到多个独立的表中,主要用于表数据规模很大、表中数据相对独立或数据需要存放到多个介质上时使用。
    (5)垂直分割表:对表进行分割,将主键与部分列放到一个表中,主键与其它列放到另一个表中,在查询时减少I/O次数。
    【问题3】
    在教职工信息管理系统的需求中,能够根据编制内或外聘教职工的工资编号分别查询其相关信息,数据查询要求有很高的处理效率。李工所设计的数据模型中采用了三种反规范化技术:
    (1)增加冗余列:增加“部门名称”列,消除了数据查询中“教职工信息”表和“部门信息”表之间的连接;
    (2)增加派生列:增加“实发工资”列,消除了实发工资的计算过程;
    (3)水平分割表:将教职工信息表分割为“编制内教职工信息”表和“外聘教职工信息”表,减少了数据查询的范围。

  • 第2题:

    试题四 (共 2S 分)阅读以下关于数据库设计的叙述,在答题纸上回答问题 1 至问题 3。【说明】某制造企业为拓展网上销售业务,委托某软件企业开发一套电子商务网站。初期仅解决基本的网上销售、订单等功能需求。该软件企业很快决定基于.NET 平台和 SQL Server 数据库进行开发,但在数据库访问方式上出现了争议。王工认为应该采用程序在线访问的方式访问数据库:而李工认为本企业内部程序员缺乏数据库开发经验,而且应用筒单,应该采用 ORM<对象关系映射>方式。最终经过综合考虑,该软件企业采用了李工的建议。随着业务的发展,该电子商务网站逐渐发展成一个通用的电子商务平台,销售多家制造企业的产品,电子商务平台的功能也日益复杂。目前急需对该电子商务网站进行改造,以支持对多种异构数据库平台的数据访问,同时满足复杂的数据管理需求。该软件企业针对上述需求,对电子商务网站的架构进行了重新设计,新增加了数据访问层,同时采用工厂设计模式解决异构数据库访问的问题。新设计的系统架构如图 4-1 所示。

    【问题 1】 (9 分)请用 300 字以内的文字分别说明数据库程序在线访问方式和 ORM 方式的优缺点,说明该软件企业采用 ORM 的原因。
    【问题 2】 (9 分)请用 100 宇以内的文字说明新体系架构中增加数据访问层的原因。请根据图 4-1 所示,填写图中空白处(1) - (3)。【问题 3】 (7 分) -应用程序设计中,数据库访问需要良好的封装性和可维护性,因此经常使用工厂设计模式来实现对数据库访问的封装。请解释工厂设计模式,并说明其优点和应用场景: 请解释说明工厂模式在数据访问层中的应用。请用 100 宇以内的文字说明新体系架构中增加数据访问层的原因。请根据图 4-1 所示,填写图中空白处(1) - (3)。


    答案:
    解析:
    数据库程序在线访问方式优点:1. 性能比直接SQL好;2. 可以处理复杂的查询语句。数据库程序在线访问方式不足:1. 程序员必须懂SQL语句;2. 修改维护相对困难。 ORM方式优点:1. 降低学习和开发成本;2. 程序员不用再写SQL进行数据库操作;3. 减少程序代码量;4. 降低由于SQL代码质量差带来的影响。 ORM方式缺点:1. 性能比直接用SQL差2. 处理复杂查询比较困难。 采用ORM原因:(1)缺乏数据库开发经验,因此SQL语句编写质量有潜在风险;(2)学习成本高;(3)应用比较简单,没有太复杂功能。参考答案:(1)涉及多种异构数据库平台,数据访问复杂性增加,不宜与业务逻辑混合在一起;(2)数据管理变复杂之后,需要使用代码量增加,分层次有利于逻辑更加清晰,程序维护更加方便;(3)业务逻辑应以相同的方式应对异构数据库,为了做好隐蔽性需要单独设计数据访问层。 (1)~(3)分别填入:执行业务逻辑 、工厂层(factory)、数据访问接口层。工厂模式分为:抽象工厂和工厂方法,本题为抽象工厂设计模式。抽象工厂设计模式提供一个接口,可以创建一系列或相互依赖的 对象,而无需指定他们具体的类。优点:方便创建一系列的对象,其使用场景也是创建系列对象的情况。该题目中,可以针对oracle,mysql,sqlserver分别抽象建立抽象工厂,若指定当前工厂为oracle工厂,则创建出来的数据库连接,数据集等一系列对象都是符合oracle操作要求的,这样便于数据库之间的切换。

  • 第3题:

    阅读以下关于数据集成的叙述,在答题纸上回答问题 1 至问题3。
    某互联网销售企业需要建立自己的电子商务平台,将所有产品信息集中在一起,为用户提供全方位的产品信息检索服务。但产品供应商大多数已经建有自己的电子商务平台,且数据独立存储,而且数据格式和数据平台有较大差异,有的供应商甚至没有采用数据库来存储商品信息。为此该企业专门成立专家组来论证其数据集成方案。
    李工提出采用集中式集成方式把产品供应商的数据集中在一起,采用数据仓库技术来实现与各家供应商的数据集成。而王工提出采用松耦合的联邦数据库集成方案。专家组经过激烈讨论,认为王工方案更为合理,建议采用王工提出的集成方案。
    【问题 1】(10 分)
    请结合数据仓库和联邦数据库集成方案各自的特点,简要说明专家组采用王工提出的集成方案的原因。
    【问题 2】(7 分)
    部分供应商的产品信息没有相应的数据库,而是直接嵌入在 WEB 页面中供用户浏览。数据集成时需要直接从供应商电子商务平台的网页上获取其产品信息。请简要给出此类数据集成的方法和基本步骤。
    【问题 3】(8 分)
    在方案评审会上,项目组针对李工和王工的方案展开了激烈的讨论。刘工指出两种方案在实施的过程中,都存在数据源之间的语义映射和转换问题,都会带来数据集成的不确定。请简要说明产生不确定的原因。


    答案:
    解析:
    【问题1】
    数据仓库集成是把多种来源的数据集中在一起,建立数据仓库,所有数据都驻留在单个数据库服务器上,配置大型处理器和存储容量。数据仓库主要用于决策支持,在数据处理过程中强调分析。其特点是:
    (1)集成的数据。
    (2)面向主题。
    (3)数据相对稳定。
    (4)包含历史信息。
    联邦数据库集成是把多个数据库系统联合在一起,构成"联邦数据库系统",数据库之间通过接口查询,互相通信,数据分布在不同地方的计算机或数据库服务器上,通过网络连接。其特点是:
    (1)联邦数据库提供集成的数据格式,对用户提供统一的访问,屏蔽了各个数据库的复杂性和分布情况,简化了开发数据库查询和对数据统一理解的工作。这种分布式的数据集成,更加符合应用系统的实际情况。
    (2)异构数据源不仅仅是数据库系统,通过中间件,可以扩展到传感器、文件和应用程序等。
    【问题2】
    此类数据往往是非结构化或者半结构化的,但同一个数据源往往有统一的页面模式,因此应该采用Web内容提取(挖掘/文本挖掘)的集成方法来获取对应供应商的产品信息。
    其基本步骤为:
    (1)分析页面,确定其页面中的数据模式。
    (2)抓取页面,通过爬虫技术获取对应的网页。
    (3)特征提取与处理,获取相应数据。
    (4)数据清洗,根据规则进行判断,抛弃异常数据。
    (5)数据转换,根据顶先定义好的语义映射关系,将数据转换为统一格式。
    【问题3】
    数据集成系统依靠模式映射来指明数据源中的数据和中介所用数据之间的语义关系,但映射过程中可能发生不确定性,其原因有:
    (1)数据源与中介模式之间的语义映射可能是近似的。
    (2)用户不熟悉模式或系统的域太宽,不能提供基于表单式的查询接口,需要使用关键字查询,但将关键字查询转换成一组候选的结构化查询时,会带来不确定性。
    (3)数据常常是使用信息获取技术从非结构化数据源获取的,而这些获取技术一般只是"大致可用",所取得的数据可能是不确定的。
    【解析】

    本题主要考查数据集成中的数据仓库方案和联邦数据库方案的内容。
    【问题1】
    本问题考查数据仓库和联邦数据库集成方案的基本概念。数据仓库集成是把多种来的数据集中在一起,建立数据仓库,所有数据都驻留在单个数据库服务器上,配置大型处理器和存储容量。数据仓库主要用于决策支持,在数据处理过程中强调分析。其特点是:①集成的数据;②面向主题;③数据相对稳足;④包含历史信息。但是此种集成方法中需要将数据源的数据转换为数据仓库中的语义,而且需要定期的数据复制和数据更新。数据源往往指的是数据库系统。
    联邦数据库集成是把多个数据库系统联合在一起,构成"联邦数据库系统",数据之间通过接口查询,互相通信,数据分布在不同地方的计算机或数据库服务器上,通过网络连接。其特点是:①联邦数据库提供集成的数据格式,对用户提供统一的访问,屏蔽了各个数据库的复杂性和分布情况,简化了开发数据库查询和对数据统一理解的工作。这种分布式的数据集成,更加符合应用系统的实际情况。②异构数据源不仅仅是数据库系统,通过中间件,可以扩展到传感器、文件和应用程序等。
    两种方式都需要将数据源中的数据语义转换为统一数据语义,这种转换往往存在不定性。
    【问题2】
    本问题考查Web内容提取或Web数据挖掘的相关知识。Web信息系统中的数据往住是非结构化或者半结构化的,但同一个数据源往往有统一的页面模式,但是其数据呈现是嵌入在页面中。因此需要采用Web内容提取(挖掘/文本挖掘)的集成方法来获取对应供应商的产品信息。
    其基本的步骤是:
    (1)分析页面,确定其页面中的数据模式。制定数据挖掘的特征和提取规则,编写特定的页面分析和数据提取程序。
    (2)抓取页面,通过爬虫技术获取对应的网页。将远端的页面下载到本地进行存储,为后续数据提取做准备。
    (3)特征提取与处理,获取相应数据,依据的原则是分析页面阶段所形成的特征和提取规则。
    (4)数据清洗,根据规则进行判断,抛弃异常数据。
    (5)数据转换,根据预先定义好的语义映射关系,将数据转换为统一格式。
    Web内容提取的算法程序本身是近似的,因此在获取数据的内容上存在不确定性。
    【问题3】
    本问题考查在数据集成过程存在的不确定性问题。问题1和问题2中实际己经明确了集成过程中存在不确定性。主要的原因在于数据集成系统依靠模式映射来指明数据源中的数据和中介所用数据之间的语义关系,但映射过程中可能发生不确定性。具体原因有:
    (1)数据源与中介模式之间的语义映射可能是近似的。实际系统中往往很难有非常精确、完整的语义映射。
    (2)用户不熟悉模式或系统的域太宽,不能提供基于表单式的查询接口,需要使用关键字查询,但将关键字查询转换成一组候选的结构化查询时,会带来不确定性。
    (3)数据常常是使用信息获取技术从非结构化数据源获取的,而这些获取技术一般只是"大致可用",所取得的数据可能是不确定的。
    因此,在本试题中,无论采用数据仓库或者联邦数据库集成方案,都存在数据源之间的语义映射和转换问题,都会带来数据集成的不确定。

  • 第4题:

    试题四(共25分)

    阅读以下关于数据库架构设计的叙述,回答问题1至问题3。

    某软件公司欲开发一个社交网络系统,该系统能够接收多个不同种类客户端发送的信息,并将这些信息实时显示在每个客户端的页面上供客户阅读。该系统将为数以百万计的用户服务,因此,要求采用的数据库能够支持大量信息存储,能够满足并发读写要求,并要求随着数据规模的扩大,数据库系统要易于进行扩充。关于数据库架构的设计,王工和张工提出了两种模式:王工提出基于传统的关系型数据库模式,通过向上扩展( Scale-up)以满足数据库的可扩展性要求;李工提出利用新兴的NoSQL数据库模式,通过向外扩展( Scale-out)以满足数据库的可扩展性要求。项目组经过讨论,决定采用李工提出的设计方案。

    【问题1】(11分)

    请指出关系数据库模式和NoSQL模式在并发支持、存储与查询、扩展方式、索引方式和应用领域五个方面各自的特点,结果填入表4-1中(1)~(10);并针对应用需求,说明项目组选择李工提出的设计方案的原因。

    【问题2】(8分)

    与传统的关系型数据库相比,NoSQL数据库所支持的典型数据存储类型有哪些?

    【问题3】(6分)

    在实际应用中,NoSQL数据库存在的问题有哪些?


    正确答案:

    试题四分析
    传统关系型数据库在需要处理大规模并发数据访问的社交网络应用场景下,暴露出了很多问题,例如需要很高的实时插入性能;需要海量的数据存储能力同时还需要非常快的查询和检索速度;需要将数据存储无缝扩展到整个集群环境下,并且能够支持在线扩展等。NoSQL数据库模式打破了传统关系型数据库的范式约束、SQL查询语言和事务一致性,实现了以键值数据格式存储的Hash数据库。
    本问题主要考查应试者对于关系型数据库和NoSQL数据模式的掌握情况,特别是关系型数据库和NoSQL数据库模式的特点和实现方式。本题结合一个典型的实际项目案例,首先要求应试者分析关系型数据库和NoSQL模式之间的异同,然后针对系统需求分析采用NoSQL数据库模式的原因;针对NoSQL数据库模式的典型应用,列举出其能够支持的数据存储方式及其特点;最后分析在实际应用中还需要在哪些方面进行改进以提升其应用效果。
    【问题1】
    本问题要求考生针对关系数据库模式和NoSQL模式的特点进行分析。关系数据库利用加锁机制支持并发操作,执行效率较低,利用关系表的方式存储数据,通过SQL语言和数据库进行交互,主要通过提升硬件配置等向上扩展方式提升性能,B树和哈希是常用的索引结构,其能够广泛应用于多个领域;NoSQL作为新兴的数据库模式处理并发的效率较高,支持海量数据存储和查询,利用增加分布存储的数据库节点数目扩展性能,主要以键值方式存储数据,在对于大规模并发数据处理的分布式应用中有更好的表现。
    根据项目的实际应用需求,所以采用NoSQL模式更为合适。
    【问题2】
    本问题要求考生掌握NoSQL数据模式所支持的数据类型。常见的数据类型包括表格/列存储、文档存储、图像存储、键值存储、对象和多值存储等。
    【问题3】
    本问题要求应试者分析NoSQL数据库模式在实际应用中的不足之处。作为一种新兴的数据库模式,其实现的完整性、应用范围和专业知识等与成熟的关系型数据库相比还有一定的差距。
    参考答案
    【问题1】
    关系数据库模式和NoSQL模式的特点比较:

    选择李工方案的原因分析:
    (1)社交网络系统对于数据库并发负载要求非常高,对于数量较大的数据库并发写要求,关系型数据库难以满足;
    (2)海量数据的高效率存储和访问需求,数百万账号信息,关系型数据库查询效率很低;
    (3)可扩展性需求,可以通过增加更多的服务器节点来实现扩展。
    【问题2】
    MySQL数据库支持的数据存储类型有:
    (1)表格/列存储:存储稀疏表格数据,类似于传统的二维表格式存储;
    (2)文档存储:用于存储非结构化或半结构化文件;
    (3)图像存储:利用节点、边和属性的方式存储图片类数据,常被用于存储社交网络服务中;
    (4)键值存储:类似哈希表一样存储简单的键值对,有基于内存和基于磁盘两种实现方式;
    (5)对象和多值存储:对象数据库存储面向对象语言中的对象,多值数据库存储表格型数据,每个单元格中可存储多个值。
    【问题3】
    NoSQL数据库存在的问题是:
    (1)成熟度不够,大量关键特性有待实现;
    (2)开源数据库产品的支持力度有限;
    (3)数据挖掘与商务智能支持不足,现有的产品无法直接使用NoSQL数据库;
    (4) NoSQL数据库专家较少,大部分都处于学习阶段。

  • 第5题:

    阅读以下关于分布式数据库缓存设计的叙述,在答题纸,上回答问题1至问题3.[说明]某企业是为城市高端用户提供高品质蔬菜生鲜服务的初创企业,创业初期为快速开展业务,该企业采用轻量型的开发架构(脚本语言+关系型数据库)研制了一套业务系统。业务开展后受到用户普遍欢迎,用户数和业务数量迅速增长,原有的数据库服务器已不能满足高度并发的业务要求。为此,该企业成立了专门的研发团队来解决该问题。张工建议重新开发整个系统,采用新的服务器和数据架构,解决当前问题的同时为日后的扩展提供支持。但是,李工认为张工的方案开发周期过长,投入过大,当前应该在改动尽量小的前提下解决该问题。李工认为访问量很大的只是部分数据,建议采用缓存工具MemCache来减轻数据库服务器的压力,这样开发量小,开发周期短,比较适合初创公司,同时将来也可以通过集群进行扩展。然而,刘工又认为李工的方案中存在数据可靠性和一致性问题,在宕机时容易丢失交易数据,建议采用Redis来解决问题。 在经过充分讨论,该公司最终决定采用刘工的方案。
    [问题1](9分)在李工和刘工的方案中,均采用分布式数据库缓存技术来解决问题。请说明分布式数据库缓存的基本概念。表4- 1中对MemCache和Redis两种工具的优缺点进行了比较,请补充完善表4-1中的空(1) ~ (6) 。表4-1

    [问题2](8分)刘工认为李工的方案存在数据可靠性和一致性的问题,请说明原因。为避免数据可靠性和一致性的问题,刘工的方案采用Redis作为数据库缓存,请说明基本的Redis与原有关系数据库的数据同步方案。[问题3](8分)请给出Redis分布式存储的2种常见方案和Redis集群切片的几种常见方式。


    答案:
    解析:
    [问题1](1)Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储。(2)不支持(3)支持(4)不支持(5)支持(6)弱支持,只能保证事务中的每个操作连续执行
    [问题2]主从复制集群、数据分片(Sharding)集群
    [问题3]客户端分片、Twemproxy、Redis Cluster、Proxy + Redis Cluster