資料提供者體系及資料物件模型探討--[2]

來源:互聯網
上載者:User
對象|訪問|資料|體系
          資料提供者體系及資料物件模型探討(Beat 1.0)

             
                                               81_RedStar81@163.com
                                               TomHornson.student@www.sina.com.cn


                                               個人文集:
                      http://www.csdn.net/develop/author/netauthor/RedStar81/

 

 

 

 

                  一、資料提供者體系探討

 

1.Open Client/Open Server

 

C/S結構的中介軟體具體來說是配置在用戶端和伺服器端的軟體包(注2::).Sybase Open Client/Open Server使分布式異構環境下的互操作成為可能.這裡我們簡述Sybase C/S 中介軟體的工作原理.Open Client 是用戶端的API,它使用戶端應用程式和第三方的工具軟體把SQL語句和遠端程序呼叫(RPC)通過網路發送給Sybase SQL Server,或經由Open Server應用(以利用Open Server開發為標誌的應用)發送到其它的資料來源(資料庫系統或Objects Managents或普通的資料存放區體)或其它類型的伺服器.從Open Client API調用到通道傳輸有兩種很重要的行為發生,TDS(同於Telnet、Ftp等屬於應用程式層協議)格式化程式負責將上層的以API調用為標誌的SQL或RPC等轉化為TDS訊息包而支援多種傳輸規程的網路程式庫把TDS包按對應用戶端與伺服器端通訊協定的封裝格式化.自然在用戶端,通道傳輸行為發生之前,同於其它的網路應用還有很多的行為(具體參看有關協議模型的資料).Open Server是伺服器端的API,它允許客戶機以SQL語句或RPC形式向一個非Sql Server資料來源或其它類型的伺服器發送請求.而後使該資料來源或特殊伺服器以標準的TDS格式向用戶端送回狀態和資料.Open Server可構成較為理想的C/S結構環境,即所有的用戶端能按統一的方式與所有的伺服器互動,而所有的伺服器亦能按統一的方式接受用戶端的請求,並以標準的格式向用戶端返回結果.作為擴充,我們這裡再介紹點關於Open Client/Open Server的知識,以便讀者在下面詳細探討的ODBC體系分析中看到一些曆史的技術因素.事實上,正如上面所述,Open Client/Open Server都是API,到Sybase System 11為止,成熟的API包含用戶端的DB-Library、Client-Library和伺服器端的Server-Library還有公用的CS-Library.重要的特性對比列舉如下

      1.Client-Library 優於 較老的DB-Library 而且Client-Library是與SQL無關的.

      2.DB-Library 不支援伺服器端的遊標.Client-Library功能全面,支援所有類型的遊標,包括敏感和不感應式資料指標

      3.Open Server 是伺服器端的API,用來程式開發伺服器端應用.提供一致的資料訪問架構能力.Open Server應用既可與Sybase通訊又可與非Sybase通訊而Sybase SQL Server 串連其它的資料來源需要利用Open Server API開發Sybase Open GetWay.

這裡稍微提一下,通過對Open Client/Open Server實現的功能、當時資料庫系統服務特性、ODBC等較晚出現的介面體系、現時資料庫系統服務特性的綜合分析對比, 你會發

現Open Client 應用(Open Client Application,包含Sybase Open GetWay、Normal DataSource Application、Mail Open Client 及其它的一些體現統一的資料訪問架構的應用)在後來的資料介面體系中亦可實現同樣功能但是實現的方式、功能的實現體及其分布大不相同.雖然到現時還有一些影子.

 

 

2.ODBC(Open DataBase Connectivity : 開放資料庫連接)

 

ODBC是Microsoft Windows Open Standards Architecture (WOSA,Windows開放服務體系)的重要組成部分,由Microsoft公司於1991年底發布,短短几年已成為事實上的工業標準.它建立了一組規範,提供了一套分層(隨著層的擴充,資料服務能力不斷的增強)的標準API(支援SQL),它解決了嵌入式SQL介面的非規範核心,資料應用系統用它來訪問任何提供了ODBC驅動程式(一組DLL)的資料庫,結束了過去針對不同的資料庫系統開發須掌握相應資料訪問API的時代.事實上,可將ODBC體系看作統一的資料訪問介面,而使這種統一的資料訪問成為可能的就是各資料庫產品廠商提供的相應的ODBC Provider(ODBC提供者即ODBC 驅動),但ODBC一般只能用於關聯式資料庫,很難訪問對象資料庫或其它非關聯式資料庫或資料系統.下面簡述ODBC體系的組成和工作原理. ODBC規範闡釋,ODBC體系有四個組成部分:Application、Driver Manager、Driver、Data Source.(如下圖).

 

    結合現實的高層開發工作流程如下:

         1.資料應用系統首先獲得在ODBC資料來源管理器中建立的DSN(儲存了與資料提供者串連的詳細資料包含資料庫位置、資料庫類型及相應的ODBC驅動程式等),然後 Driver Manager依賴一種叫做資料庫獨立的交流(Database Indepedent Communications Technology)的技術與資料來源建立聯絡(其中涉及用戶端和伺服器端多種Agent對象的問題,詳情不敘,可參見下圖).



 

        2.Driver Mangaer調用特定ODBC驅動程式將ODBC標準API轉化為適用於具體資料庫系統的函數調用(資料庫特徵不同之處也在這裡翻譯如SQL文法差異等),然後經由用戶端的Request Agent發送到資料來源.

        3.資料來源Database Agent處理操作,將結果返回到用戶端的Request Agent,再向上經Driver(這裡會有翻譯和標準化錯誤碼的行為)、Driver Mangaer返回給Application.

      需要說明的是定義和操作游標、維護事務、負責任何與訪問資料來源的必要軟體層進行互動(包括與底層網路或檔案系統介面的軟體)等行為亦由驅動程式完成.

  

    結合ODBC API調用順序描敘工作流程:初始化(分配環境--->分配串連控制代碼--->與伺服器串連--->分配語句控制代碼)-------->SQL處理(語句處理和檢索部分)-------->終止(釋放語句控制代碼--->與伺服器斷開--->釋放串連控制代碼--->釋放環境).

 

 

3.OLE DB(Object Link and Embedding DataBase)

 

  隨著網路技術和資料庫技術的不斷髮展,現在的應用系統對Data Integration的要求越來越高.有必要將不同的地方,不同的格式(如關係型資料庫和操作 系統中的檔案、試算表、電子郵件、多媒體資料以及目錄服務資訊或主機系統中的IMS和VSAM資料等等)的Data Integration.傳統的解決方案是使用大型的資料庫系統,把所有這些資料都移到資料庫系統中,然後按照操作資料庫的辦法對這些資料進行訪問,這樣做雖然能夠按統一的方式對資料進行各種操作,這種間接訪問方式帶來了很多問題,比如資料更新不及時、空間資源的冗餘和訪問效率低等等

   此時Microsoft公司的通用資料訪問技術(UDA)應運而生,它使資料應用系統能通過實現標準OLE DB介面的資料提供者來訪問各種各樣的資料,而不管資料駐留在何處,也不需要進行資料轉移或複製、轉換.

   OLE DB作為一種資料提供者體系,體現了Microsoft的通用資料訪問(UDA)策略的理念.UDA能夠通過標準介面來訪問各種類型的資料.同於ODBC體系它也提供了一套標準API,不過OLE DB API是完全基於COM的,其特點是採用了多層模型.在COM通訊層的一側是資料另一側則是資料使用者.這種基於COM的通訊可被概括為在抽象對象(如DataSource、Session、Command 和 Rowset)上執行的操作.因此,當使用者串連到DataSource,開啟 Session,發出Command,並返回資料Rowset時,便會出現這種情況.

 

  事實上,OLE DB是系統級的編程介面,它定義了一組COM介面,這組介面封裝了各種資料

系統的訪問操作,這組介面為資料使用者和資料提供者建立了標準,OLE DB還提供了一組標準

的服務元件,用於提供查詢、緩衝、資料更新、交易處理等操作,因此資料提供方只需實現一

些簡單的資料操作.在使用方就可以獲得全部的資料控制能力.

 

 

待續:

 





4.  JDBC(Java DataBase Connectivity : Java資料庫連接)

二、資料物件模型探討(待續)
附錄:美國著名資料庫產品記事(參考)

           

 




 

 


相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。