Denodo虛擬化平臺(tái)入門指南
譯文【51CTO.com快譯】作為一個(gè)單獨(dú)的數(shù)據(jù)虛擬化層面,Denodo可以在無需共享任何數(shù)據(jù)源、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)中心、或數(shù)據(jù)庫技術(shù)的情況下,合并來自不同數(shù)據(jù)源的實(shí)時(shí)數(shù)據(jù),并讓這些數(shù)據(jù)真正能夠?yàn)槠髽I(yè)所用。
Denodo的“3C”原則
1. 連接(Connect) – 用于連接到任何數(shù)據(jù)源處(例如:數(shù)據(jù)庫、文件、API等)。
2. 合并(Combine) – 由于數(shù)據(jù)虛擬化的初衷是從多個(gè)來源收集數(shù)據(jù),通過合并以滿足業(yè)務(wù)的需求,因此開發(fā)人員可以在這個(gè)層面上自定義數(shù)據(jù)的轉(zhuǎn)換和組合。
3. 使用(Consume) — 作為一種媒介或方式,讓數(shù)據(jù)使用平臺(tái)可以使用到實(shí)時(shí)的數(shù)據(jù)。目前,Denodo支持諸如:Web service(SOAP/REST)、JDBC驅(qū)動(dòng)程序、以及ODBC接口等多種方式,將數(shù)據(jù)開放給不同的使用者(consumers)。
Denodo的“3C”模型
Denodo管理工具的使用
下面,讓我們來逐步學(xué)習(xí)如何實(shí)現(xiàn)Denodo的“3C”特性。首先,假定您已完成了Denodo的安裝。如果沒有的話,請(qǐng)您參閱安裝指南--https://community.denodo.com/tutorials/browse/basics/1install_index。
1.如下圖所示,在安裝完畢后,請(qǐng)啟動(dòng)Denodo管理工具(Admin Tool)。
啟動(dòng)Denodo
2.如下圖所示,通過提供用戶憑據(jù),您可以登錄到Denodo的管理工具中,并直接單擊“連接(connect)”。
登錄Denodo
注意:Admin和itpilot是Denodo使用的兩個(gè)默認(rèn)數(shù)據(jù)庫。因此,您應(yīng)當(dāng)避免錯(cuò)誤地刪除掉它們。
3.如果您想開始一個(gè)新的項(xiàng)目,那么最好的方法便是創(chuàng)建一個(gè)對(duì)應(yīng)的新數(shù)據(jù)庫。為了達(dá)到該目的,您可以依次進(jìn)入菜單(Menu)->管理(Administration)->數(shù)據(jù)庫管理(Database management)->新建(New)。
數(shù)據(jù)庫管理視圖
4.Denodo的命名規(guī)則包括:數(shù)據(jù)源、基本視圖、派生視圖、以及Web service。因此,我們可以據(jù)此,在新建的新數(shù)據(jù)庫中創(chuàng)建對(duì)應(yīng)的文件夾,即:右鍵單擊數(shù)據(jù)庫名稱,依次選擇新建(Menu)->文件夾(Folder)。這樣的方式將有助于根據(jù)各自不同的功能來維護(hù)對(duì)應(yīng)的元素組。
連接
下面,我們依次來看看Denodo的“3C”原則,首先是“Connect”。在此,我們將創(chuàng)建一個(gè)數(shù)據(jù)源,以便按需進(jìn)行連接。
數(shù)據(jù)源的創(chuàng)建步驟
1. 右鍵單擊數(shù)據(jù)源文件夾(folder)->新建(New)->數(shù)據(jù)源(Data source)-> JDBC。
2. 如下圖所示,創(chuàng)建一個(gè)新的數(shù)據(jù)源。
3. 命名該數(shù)據(jù)源。
4. 在此,我們選擇“MySQL 5”作為數(shù)據(jù)庫適配器。
5. 更改數(shù)據(jù)庫的URI,以匹配本地的MySQL安裝。
6. 輸入數(shù)據(jù)庫的登錄名和密碼。
7. 單擊“連接池配置(Connection Pool configuration)”,然后點(diǎn)擊“測(cè)試連接(Test connection)”。
測(cè)試連接池
注意:在此,雖然我們只展示了如何處置關(guān)系型數(shù)據(jù)源。而實(shí)際上,Denodo還能夠支持諸如:文件、NoSQL數(shù)據(jù)庫、以及API等其他類型的數(shù)據(jù)源。
合并
下面,我們來看第二個(gè)C原則。在此,我們將學(xué)習(xí)如何創(chuàng)建基本視圖,以連接到我們?cè)谏弦还?jié)創(chuàng)建的數(shù)據(jù)源,以及用以創(chuàng)建派生視圖的各項(xiàng)操作。
基本視圖的創(chuàng)建步驟
1. 雙擊數(shù)據(jù)源(Data Source)->創(chuàng)建基本視圖(Create Base View)。
2. 選擇用以創(chuàng)建基本視圖的表/視圖。
3. 選擇那些屬于基本視圖的列。在此,開發(fā)人員可以掌控自己需要在基本視圖上公開的信息。
基本視圖
基本視圖的測(cè)試步驟
1. 右鍵單擊基本視圖(Base View)->VQL Shell->選擇(select)...->執(zhí)行(Execute)。
2. 在元素樹的右側(cè),您可以看到一個(gè)選擇查詢,它能夠提供實(shí)時(shí)的結(jié)果。
派生視圖
注意:創(chuàng)建基本視圖后,您可以通過查詢一到多個(gè)基本視圖,來創(chuàng)建派生視圖。
派生視圖
派生視圖是通過使用一到多個(gè)基本視圖,以及諸如:JOIN/UNION/MINUS等不同的操作組合,來創(chuàng)建簡(jiǎn)單視圖的。
聯(lián)接(JOIN)的操作步驟
1. 右鍵單擊基本視圖(Base View)->新建(New)->聯(lián)接(Join),以打開一個(gè)新的視圖窗口。
2. 您可以從元素樹中拖放各種視圖。
3. 在此,您可以從某個(gè)視圖中拖動(dòng)所需的聯(lián)接列,并將其連接到其他視圖的對(duì)應(yīng)聯(lián)接列處。由于Denodo能夠支持多項(xiàng)聯(lián)接操作,因此您可以通過聯(lián)接多個(gè)視圖以獲得所需的結(jié)果。如下圖快照所示,Client表和Address表的Client_id已聯(lián)接到了一起。而Client表的client_type和client_type的code也聯(lián)接到了一起。
4. 為了從這三個(gè)視圖中選擇所需的列,您可以單擊“輸出(Output)”選項(xiàng)卡,然后利用復(fù)選框除掉那些不必要的列。
5. 接著,您可以將新的視圖重命名為更容易辨認(rèn)的名稱,并單擊保存按鈕或按下組合鍵“ctrl+s”。
重命名視圖
當(dāng)然,除了聯(lián)接(JOIN)操作之外,Denodo工具還提供了諸如:UNION、PROJECTION、SELECTION、AGGREGATION、MINUS/INTERSECTION、FLATTEN等更多“關(guān)系型”數(shù)據(jù)庫的操作。您都可以使用與上述類似的步驟,來創(chuàng)建對(duì)應(yīng)的新視圖。
使用
作為Denodo第三個(gè)重要的C原則,它能夠讓業(yè)務(wù)用戶/企業(yè)級(jí)應(yīng)用程序使用到實(shí)時(shí)的數(shù)據(jù)。
下面,讓我們來看看Denodo將如何提供數(shù)據(jù)給用戶。Denodo采用的是“客戶端-服務(wù)器端(client-server)”體系架構(gòu)。它能夠提供JDBC驅(qū)動(dòng)程序,ODBC接口,以及帶有XML、HTML、JSON輸出的RESTful Web Service。
在此,我們主要展示的是Denodo的RESTful Web Service方式。Denodo的各種Web service都使用到了HTTP,以及基于REST(Representational State Transfer,表示狀態(tài)傳輸)的體系結(jié)構(gòu)。
1. 使用諸如:GET、PUT、POST或DELETE等HTTP動(dòng)詞,來定義一組操作。
2. 其對(duì)應(yīng)的返回?cái)?shù)據(jù)格式通常為HTML、XML或JSON。
3. 為了允許各種外部應(yīng)用程序能夠訪問到數(shù)據(jù),Denodo中的每一個(gè)視圖都可以被發(fā)布為REST Web Service。
4. 同時(shí),Denodo也支持ODATA 4.0的Web service。
創(chuàng)建一個(gè)Web Service
1. 右鍵單擊派生視圖(Derived View)或基本試圖(BaseView)->新建(New)->數(shù)據(jù)服務(wù)(Data services)->REST Web Service。
選擇REST Web Service
2. 接著,您會(huì)看到自己創(chuàng)建的Web Service視圖。在此,您可以根據(jù)用例需求,將多個(gè)視圖添加成為某個(gè)Web service的一部分。
3. 最后,您同樣可以為Web service提供一個(gè)容易辨認(rèn)的名稱,并且從JSON/XML/HTML中選擇所需的數(shù)據(jù)表示形式。
配置表達(dá)設(shè)置
部署Web service
1. 右鍵單擊Web service的部署(Deploy)。
2. 通過該步驟您不但可以部署Web service,而且還能獲得供Web service使用的URL。
原標(biāo)題:A Beginner's Guide to Denodo ,作者: Priyanka Mudgal
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】