數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)模型,真實世界的事物和聯(lián)系都是由數(shù)據(jù)模型來描述的,數(shù)據(jù)庫中各種操作功能的實現(xiàn)都是基于不同的數(shù)據(jù)模型,因此,數(shù)據(jù)庫的核心問題就是模型問題。下面就由小編為您帶來數(shù)據(jù)庫系統(tǒng)的核心是什么的相關(guān)介紹。
數(shù)據(jù)模型是數(shù)據(jù)庫中數(shù)據(jù)的邏輯結(jié)構(gòu)描述。資料模型大致可分為兩類:一類是獨立于計算機而存在的,它不涉及信息在計算機中的表達方式;另一類是直接面向計算機的資料模型,它以記錄為單位,如數(shù)據(jù)庫中常用的層次模型、網(wǎng)狀模型和關(guān)系模型等概念模型。
面向服務(wù)的架構(gòu)(Service Oriented Architecture,SOA)體系結(jié)構(gòu)基于服務(wù)組件模型,將應(yīng)用程序的不同功能單元(稱為服務(wù))通過定義良好的接口契約聯(lián)系起來。
接口是采用中立方式進行定義的,獨立于實現(xiàn)服務(wù)的硬件平臺、操作系統(tǒng)和編程語言,使得構(gòu)建在這樣系統(tǒng)中的服務(wù)可以以一種統(tǒng)一的、通用的、靈活的方式進行交互。SOA組件模型具備以下特點。
可重用:一個服務(wù)創(chuàng)建后能用于多個應(yīng)用和業(yè)務(wù)流程。
松耦合:服務(wù)請求者到服務(wù)提供者的綁定與服務(wù)之間應(yīng)該是松耦合的。因此,服務(wù)請求者不需要知道服務(wù)提供者實現(xiàn)的技術(shù)細節(jié),例如程序語言、底層平臺等,只需要知道服務(wù)名與服務(wù)接口。服務(wù)的部署、遷移、擴容極其便利。
明確定義的服務(wù)接口:服務(wù)交互必須是明確定義的。SOA服務(wù)組件提供標準的服務(wù)接口,服務(wù)請求者根據(jù)服務(wù)名、標準服務(wù)接口來獲取服務(wù)。Web服務(wù)描述語言(Web Services Description Language,WSDL)用于描述服務(wù)請求者所要求的綁定到服務(wù)提供者的細節(jié)。
WSDL不包括服務(wù)實現(xiàn)的任何技術(shù)細節(jié)。服務(wù)請求者不知道也不關(guān)心服務(wù)究竟是由哪種程序設(shè)計語言編寫的。
基于開放標準:當前SOA的實現(xiàn)形式基于開放標準,例如,公有Web Service協(xié)議或私有開放服務(wù)標準協(xié)議。可以采用第一代WebService定義的SOAP、WSDL和UDDI,以及第二代Web Service定義的WS-*實現(xiàn)。
無狀態(tài)的服務(wù)設(shè)計:服務(wù)應(yīng)該是獨立的、自包含的請求,在實現(xiàn)時它不需要獲取從一個請求到另一個請求的信息或狀態(tài)。服務(wù)不應(yīng)該依賴于其他服務(wù)的上下文和狀態(tài)。當產(chǎn)生依賴時,它們可以定義成通用的業(yè)務(wù)流程、函數(shù)和數(shù)據(jù)模型。
幾十年來,企業(yè)IT組織一直期望試圖引入企業(yè)級應(yīng)用的IT標準,以實現(xiàn)同化系統(tǒng)、提升效率和敏捷性,但實際收效甚微。
20世紀80年代,關(guān)系型數(shù)據(jù)庫系統(tǒng)成為主流數(shù)據(jù)庫系統(tǒng),企業(yè)數(shù)據(jù)模型(EnterpriseData Model,EDM)項目也因此大行其道。EDM為企業(yè)的所有業(yè)務(wù)實體定義了一個全局數(shù)據(jù)模型,并在公司的所有組織和系統(tǒng)之間共享該模型。但這些EDM項目都以失敗而告終。在今天,我們發(fā)現(xiàn),企業(yè)有多少數(shù)據(jù)庫,就有多少種數(shù)據(jù)庫的模式。數(shù)據(jù)庫的模式根本無法實現(xiàn)統(tǒng)一。
20世紀90年代,基于企業(yè)級中間件的標準同化企業(yè)應(yīng)用程序“企業(yè)軟件總線(Ent erpriseSoftware Bus,ESB)”應(yīng)運而生。ESB試圖通過確立獨立于軟件模塊間的、獨立于技術(shù)、統(tǒng)一的企業(yè)級通信標準,從根本上解決應(yīng)用程序的集成問題。但事實上,今天看來,幾乎所有的企業(yè)不僅有應(yīng)用程序異質(zhì)問題,還有中間件異質(zhì)問題。很多情況下,CORBA等中間件只能針對單個項目解決點對點的集成問題,并未建立全局的軟件總線。在很多企業(yè)中,不兼容的中間件系統(tǒng)幾乎與不兼容的應(yīng)用程序一樣多。
SOA不是一項技術(shù),也不是一個標準,而是一種架構(gòu)。SOA架構(gòu)獨立于標準,提供了架構(gòu)的藍圖。架構(gòu)藍圖切開、分塊和組合企業(yè)應(yīng)用程序?qū)樱瑢⒔M件“服務(wù)”化。SOA中的服務(wù)與業(yè)務(wù)功能相關(guān)聯(lián),但在技術(shù)上獨立于業(yè)務(wù)功能的實現(xiàn)。
數(shù)據(jù)庫系統(tǒng)
Dirk Krafzig等人所著的Enterprise SOA一書中,對SOA做了如下定義。
SOA是一個軟件架構(gòu),包含了4個關(guān)鍵概念:應(yīng)用程序前端、服務(wù)、服務(wù)庫和服務(wù)總線。一個服務(wù)包含一個合約、一個或者多個接口以及一個實現(xiàn)。
·應(yīng)用程序前端:業(yè)務(wù)流程的所有者。
·服務(wù):提供業(yè)務(wù)的功能,可以供應(yīng)用程序前端或者其他服務(wù)使用。
·實現(xiàn):提供業(yè)務(wù)的邏輯和數(shù)據(jù)。
·合約:為服務(wù)客戶指定功能、使用和約束。
·接口:物理地公開功能。
·服務(wù)庫:存儲SOA中各個服務(wù)的服務(wù)合約。
·服務(wù)總線:將應(yīng)用程序前端和服務(wù)連在一起。
在SOA架構(gòu)中,必須有以下重要實體角色,如圖6-2所示。
服務(wù)請求者(Service Customer):服務(wù)請求者是一個應(yīng)用程序、一個軟件模塊或需要一個服務(wù)的另一個服務(wù)。它發(fā)起對服務(wù)管理中心的服務(wù)查詢(服務(wù)尋址),通過服務(wù)尋址后,與目標服務(wù)建立通道來綁定服務(wù),調(diào)用遠程服務(wù)接口功能。服務(wù)請求者根據(jù)服務(wù)接口合約來獲取執(zhí)行遠程服務(wù)。
服務(wù)提供者(Service Provider):服務(wù)提供者是一個可通過網(wǎng)絡(luò)尋址的進程實體(托管服務(wù)進程),與部署在托管服務(wù)進程下的SOA服務(wù)組件一起實現(xiàn)服務(wù)功能。服務(wù)提供者自動將服務(wù)組件提供的服務(wù)名發(fā)布到服務(wù)注冊中心,以便服務(wù)請求者可以發(fā)現(xiàn)和訪問該服務(wù)。服務(wù)提供者接收和執(zhí)行來自服務(wù)請求者的請求,通過接口提供服務(wù)。
服務(wù)管理中心(Service Management Center):服務(wù)管理中心是服務(wù)提供者與服務(wù)請求者的聯(lián)系中介,為服務(wù)提供者提供服務(wù)注冊管理,同時為服務(wù)請求者提供服務(wù)尋址查詢。提供服務(wù)管理域中全部服務(wù)資源注冊管理表,以及服務(wù)查詢請求接口,允許感興趣的服務(wù)請求者查找服務(wù)資源。
SOA體系結(jié)構(gòu)中的每個實體都扮演著服務(wù)提供者、請求者和管理中心這3種角色中的某一種(或多種)。SOA體系結(jié)構(gòu)中的操作如下。
通過提供面向社區(qū)和個人兩種模式的統(tǒng)一信息資源的部署、集成、發(fā)布和共享,支持多社區(qū)、多租戶模式的聯(lián)機服務(wù)和開發(fā),實現(xiàn)了應(yīng)用程序和操作系統(tǒng)平臺的相對物理數(shù)據(jù)源的完全可移植性。利用云數(shù)據(jù)庫系統(tǒng),可以處理分布的異構(gòu)資源數(shù)據(jù)。 以上就是小編為您介紹的數(shù)據(jù)庫系統(tǒng)的核心是什么,希望對您有所幫助。
[免責聲明]
文章標題: 數(shù)據(jù)庫系統(tǒng)的核心是什么?
文章內(nèi)容為網(wǎng)站編輯整理發(fā)布,僅供學習與參考,不代表本網(wǎng)站贊同其觀點和對其真實性負責。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時溝通。發(fā)送郵件至36dianping@36kr.com,我們會在3個工作日內(nèi)處理。