sherrywong0 2020-02-03
Denodo的“3C”原则
1. 连接(Connect) – 用于连接到任何数据源处(例如:数据库、文件、API等)。
2. 合并(Combine) – 由于数据虚拟化的初衷是从多个来源收集数据,通过合并以满足业务的需求,因此开发人员可以在这个层面上自定义数据的转换和组合。
3. 使用(Consume) — 作为一种媒介或方式,让数据使用平台可以使用到实时的数据。目前,Denodo支持诸如:Web service(SOAP/REST)、JDBC驱动程序、以及ODBC接口等多种方式,将数据开放给不同的使用者(consumers)。
Denodo的“3C”模型
Denodo管理工具的使用
下面,让我们来逐步学习如何实现Denodo的“3C”特性。首先,假定您已完成了Denodo的安装。如果没有的话,请您参阅安装指南--https://community.denodo.com/tutorials/browse/basics/1install_index。
1.如下图所示,在安装完毕后,请启动Denodo管理工具(Admin Tool)。
启动Denodo
2.如下图所示,通过提供用户凭据,您可以登录到Denodo的管理工具中,并直接单击“连接(connect)”。
登录Denodo
注意:Admin和itpilot是Denodo使用的两个默认数据库。因此,您应当避免错误地删除掉它们。
3.如果您想开始一个新的项目,那么最好的方法便是创建一个对应的新数据库。为了达到该目的,您可以依次进入菜单(Menu)->管理(Administration)->数据库管理(Database management)->新建(New)。
数据库管理视图
4.Denodo的命名规则包括:数据源、基本视图、派生视图、以及Web service。因此,我们可以据此,在新建的新数据库中创建对应的文件夹,即:右键单击数据库名称,依次选择新建(Menu)->文件夹(Folder)。这样的方式将有助于根据各自不同的功能来维护对应的元素组。
连接
下面,我们依次来看看Denodo的“3C”原则,首先是“Connect”。在此,我们将创建一个数据源,以便按需进行连接。
数据源的创建步骤
1. 右键单击数据源文件夹(folder)->新建(New)->数据源(Data source)-> JDBC。
2. 如下图所示,创建一个新的数据源。
3. 命名该数据源。
4. 在此,我们选择“MySQL 5”作为数据库适配器。
5. 更改数据库的URI,以匹配本地的MySQL安装。
6. 输入数据库的登录名和密码。
7. 单击“连接池配置(Connection Pool configuration)”,然后点击“测试连接(Test connection)”。
测试连接池
注意:在此,虽然我们只展示了如何处置关系型数据源。而实际上,Denodo还能够支持诸如:文件、NoSQL数据库、以及API等其他类型的数据源。
合并
下面,我们来看第二个C原则。在此,我们将学习如何创建基本视图,以连接到我们在上一节创建的数据源,以及用以创建派生视图的各项操作。
基本视图的创建步骤
1. 双击数据源(Data Source)->创建基本视图(Create Base View)。
2. 选择用以创建基本视图的表/视图。
3. 选择那些属于基本视图的列。在此,开发人员可以掌控自己需要在基本视图上公开的信息。
基本视图
基本视图的测试步骤
1. 右键单击基本视图(Base View)->VQL Shell->选择(select)...->执行(Execute)。
2. 在元素树的右侧,您可以看到一个选择查询,它能够提供实时的结果。
派生视图
注意:创建基本视图后,您可以通过查询一到多个基本视图,来创建派生视图。
派生视图
派生视图是通过使用一到多个基本视图,以及诸如:JOIN/UNION/MINUS等不同的操作组合,来创建简单视图的。
联接(JOIN)的操作步骤
1. 右键单击基本视图(Base View)->新建(New)->联接(Join),以打开一个新的视图窗口。
2. 您可以从元素树中拖放各种视图。
3. 在此,您可以从某个视图中拖动所需的联接列,并将其连接到其他视图的对应联接列处。由于Denodo能够支持多项联接操作,因此您可以通过联接多个视图以获得所需的结果。如下图快照所示,Client表和Address表的Client_id已联接到了一起。而Client表的client_type和client_type的code也联接到了一起。
4. 为了从这三个视图中选择所需的列,您可以单击“输出(Output)”选项卡,然后利用复选框除掉那些不必要的列。
5. 接着,您可以将新的视图重命名为更容易辨认的名称,并单击保存按钮或按下组合键“ctrl+s”。
重命名视图
当然,除了联接(JOIN)操作之外,Denodo工具还提供了诸如:UNION、PROJECTION、SELECTION、AGGREGATION、MINUS/INTERSECTION、FLATTEN等更多“关系型”数据库的操作。您都可以使用与上述类似的步骤,来创建对应的新视图。
使用
作为Denodo第三个重要的C原则,它能够让业务用户/企业级应用程序使用到实时的数据。
下面,让我们来看看Denodo将如何提供数据给用户。Denodo采用的是“客户端-服务器端(client-server)”体系架构。它能够提供JDBC驱动程序,ODBC接口,以及带有XML、HTML、JSON输出的RESTful Web Service。
在此,我们主要展示的是Denodo的RESTful Web Service方式。Denodo的各种Web service都使用到了HTTP,以及基于REST(Representational State Transfer,表示状态传输)的体系结构。
1. 使用诸如:GET、PUT、POST或DELETE等HTTP动词,来定义一组操作。
2. 其对应的返回数据格式通常为HTML、XML或JSON。
3. 为了允许各种外部应用程序能够访问到数据,Denodo中的每一个视图都可以被发布为REST Web Service。
4. 同时,Denodo也支持ODATA 4.0的Web service。
创建一个Web Service
1. 右键单击派生视图(Derived View)或基本试图(BaseView)->新建(New)->数据服务(Data services)->REST Web Service。
选择REST Web Service
2. 接着,您会看到自己创建的Web Service视图。在此,您可以根据用例需求,将多个视图添加成为某个Web service的一部分。
3. 最后,您同样可以为Web service提供一个容易辨认的名称,并且从JSON/XML/HTML中选择所需的数据表示形式。
配置表达设置
部署Web service
1. 右键单击Web service的部署(Deploy)。
2. 通过该步骤您不但可以部署Web service,而且还能获得供Web service使用的URL。