热门文章> 数据库系统的核心是什么? >

数据库系统的核心是什么?

36氪企服点评小编
2021-04-30 19:08
1047次阅读

      数据库系统中的数据模型,真实世界的事物和联系都是由数据模型来描述的,数据库中各种操作功能的实现都是基于不同的数据模型,因此,数据库的核心问题就是模型问题。下面就由小编为您带来数据库系统的核心是什么的相关介绍。

    数据模型是数据库中数据的逻辑结构描述。资料模型大致可分为两类:一类是独立于计算机而存在的,它不涉及信息在计算机中的表达方式;另一类是直接面向计算机的资料模型,它以记录为单位,如数据库中常用的层次模型、网状模型和关系模型等概念模型。

一、什么是面向服务的架构

    面向服务的架构(Service Oriented Architecture,SOA)体系结构基于服务组件模型,将应用程序的不同功能单元(称为服务)通过定义良好的接口契约联系起来。

    接口是采用中立方式进行定义的,独立于实现服务的硬件平台、操作系统和编程语言,使得构建在这样系统中的服务可以以一种统一的、通用的、灵活的方式进行交互。SOA组件模型具备以下特点。

可重用:一个服务创建后能用于多个应用和业务流程。

    松耦合:服务请求者到服务提供者的绑定与服务之间应该是松耦合的。因此,服务请求者不需要知道服务提供者实现的技术细节,例如程序语言、底层平台等,只需要知道服务名与服务接口。服务的部署、迁移、扩容极其便利。

    明确定义的服务接口:服务交互必须是明确定义的。SOA服务组件提供标准的服务接口,服务请求者根据服务名、标准服务接口来获取服务。Web服务描述语言(Web Services Description Language,WSDL)用于描述服务请求者所要求的绑定到服务提供者的细节。

    WSDL不包括服务实现的任何技术细节。服务请求者不知道也不关心服务究竟是由哪种程序设计语言编写的。

   基于开放标准:当前SOA的实现形式基于开放标准,例如,公有Web Service协议或私有开放服务标准协议。可以采用第一代WebService定义的SOAP、WSDL和UDDI,以及第二代Web Service定义的WS-*实现。

   无状态的服务设计:服务应该是独立的、自包含的请求,在实现时它不需要获取从一个请求到另一个请求的信息或状态。服务不应该依赖于其他服务的上下文和状态。当产生依赖时,它们可以定义成通用的业务流程、函数和数据模型。

   几十年来,企业IT组织一直期望试图引入企业级应用的IT标准,以实现同化系统、提升效率和敏捷性,但实际收效甚微。

   20世纪80年代,关系型数据库系统成为主流数据库系统,企业数据模型(EnterpriseData Model,EDM)项目也因此大行其道。EDM为企业的所有业务实体定义了一个全局数据模型,并在公司的所有组织和系统之间共享该模型。但这些EDM项目都以失败而告终。在今天,我们发现,企业有多少数据库,就有多少种数据库的模式。数据库的模式根本无法实现统一。

   20世纪90年代,基于企业级中间件的标准同化企业应用程序“企业软件总线(Ent erpriseSoftware Bus,ESB)”应运而生。ESB试图通过确立独立于软件模块间的、独立于技术、统一的企业级通信标准,从根本上解决应用程序的集成问题。但事实上,今天看来,几乎所有的企业不仅有应用程序异质问题,还有中间件异质问题。很多情况下,CORBA等中间件只能针对单个项目解决点对点的集成问题,并未建立全局的软件总线。在很多企业中,不兼容的中间件系统几乎与不兼容的应用程序一样多。

    SOA不是一项技术,也不是一个标准,而是一种架构。SOA架构独立于标准,提供了架构的蓝图。架构蓝图切开、分块和组合企业应用程序层,将组件“服务”化。SOA中的服务与业务功能相关联,但在技术上独立于业务功能的实现。

数据库系统的核心是什么?数据库系统

二、SOA的基本概念

Dirk Krafzig等人所著的Enterprise SOA一书中,对SOA做了如下定义。

SOA是一个软件架构,包含了4个关键概念:应用程序前端、服务、服务库和服务总线。一个服务包含一个合约、一个或者多个接口以及一个实现。

·应用程序前端:业务流程的所有者。

·服务:提供业务的功能,可以供应用程序前端或者其他服务使用。

·实现:提供业务的逻辑和数据。

·合约:为服务客户指定功能、使用和约束。

·接口:物理地公开功能。

·服务库:存储SOA中各个服务的服务合约。

·服务总线:将应用程序前端和服务连在一起。

在SOA架构中,必须有以下重要实体角色,如图6-2所示。

    服务请求者(Service Customer):服务请求者是一个应用程序、一个软件模块或需要一个服务的另一个服务。它发起对服务管理中心的服务查询(服务寻址),通过服务寻址后,与目标服务建立通道来绑定服务,调用远程服务接口功能。服务请求者根据服务接口合约来获取执行远程服务。

     服务提供者(Service Provider):服务提供者是一个可通过网络寻址的进程实体(托管服务进程),与部署在托管服务进程下的SOA服务组件一起实现服务功能。服务提供者自动将服务组件提供的服务名发布到服务注册中心,以便服务请求者可以发现和访问该服务。服务提供者接收和执行来自服务请求者的请求,通过接口提供服务。

     服务管理中心(Service Management Center):服务管理中心是服务提供者与服务请求者的联系中介,为服务提供者提供服务注册管理,同时为服务请求者提供服务寻址查询。提供服务管理域中全部服务资源注册管理表,以及服务查询请求接口,允许感兴趣的服务请求者查找服务资源。

     SOA体系结构中的每个实体都扮演着服务提供者、请求者和管理中心这3种角色中的某一种(或多种)。SOA体系结构中的操作如下。

     通过提供面向社区和个人两种模式的统一信息资源的部署、集成、发布和共享,支持多社区、多租户模式的联机服务和开发,实现了应用程序和操作系统平台的相对物理数据源的完全可移植性。利用云数据库系统,可以处理分布的异构资源数据。 以上就是小编为您介绍的数据库系统的核心是什么,希望对您有所帮助。

[免责声明]

文章标题: 数据库系统的核心是什么?

文章内容为网站编辑整理发布,仅供学习与参考,不代表本网站赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请及时沟通。发送邮件至36dianping@36kr.com,我们会在3个工作日内处理。

相关文章
最新文章
查看更多
关注 36氪企服点评 公众号
打开微信扫一扫
为您推送企服点评最新内容
消息通知
咨询入驻
商务合作