1、数据建模白皮书 2022Yonghong Technology CO.,Ltd永洪科技Data Modeler白皮书 V2.1Table of Contents1Z-Data Modeler31.1Query Editor (查询编辑)31.1.1Build Query (建立查询)31.1.1.1SQL Query (关系数据库查询)41.1.1.2Script Query (脚本查询)41.1.1.3Customized Query (自定义查询)41.1.1.4Cloud Query (云查询)51.1.1.5Embed Query (嵌入式查询)51.1.2VPM51.1.3Cube6
2、1.1.4Materialized Query (物化查询)61.2Query Engine (查询引擎)6Abbreviations and DefinitionsAbbreviationDefinitionSQLStructured Query Language (结构化查询语言)ODBCOpen Database Connectivity (开放数据库互连)JDBCJava Data Base Connectivity(Java数据库互连)APIApplication Programming Interface (应用程序编程接口)DBMSDatabase Management Syst
3、em (数据库管理系统)Z-Data ModelerZ-Data Modeler是Yonghong Z-Suite的核心模块之一,作为软件的第一级接口与数据源相连接,将原始数据按照客户的需求进行筛选和优化,为后续数据分析操作提供输入。由于当前的数据类型,数据结构,数据范围和数据库类型种类繁多,千变万化,不能够直接被数据分析所使用,必须按照用户和Yonghong Z-Suite的需求进行标准和过滤,才能成为系统可以识别的数据,才可直成为接被数据分析的数据。因此Z-Data Modeler目的就是提供各种不同的条件,严格筛选数据,输出适合的数据给其他功能模块使用。Z-Data Modeler包括查
4、询定义编辑器和查询引擎两个主要模块。用户通过查询定义编辑器定义各种查询条件,为后续的数据分析提供分析模型和输入准那么。当大量的原始数据进入到Z-Data Modeler以后,查询引擎就根据设定好的条件对于数据进行排列组合,生成查询列表,为以后的数据分析提供效劳。针对于不同用户对于数据查询的需求和自身所能提供的技术的复杂度,Z-Data Modeler提供了各种不同级别的查询支持。Query Editor(查询编辑)Query Editor是使用Z-DataModeler的开始,通过定义各种不同的查询条件,将原始数据转换成为系统所需的数据类型和数据模式,为后续操作提供各种输入。Query Edi
5、tor目前支持五种数据查询,通过定义查询条件,连接各种不同的数据库类型,提供各种数据过滤效劳,产生最终的查询表单。五种查询Build Query(建立查询)SQL Query (关系数据库查询)现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。关系模型就是指二维表格模型,因而一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织。关系数据库是建立在关系模型根底上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据,是目前数据库存储类型中的常用类型。当前主流的关系型数据库有ORACLE, DB2, SQLSERVER. MYSQL, DERBY, INFOMIX, SY
6、BASE, ACCESS, POSTGRESQL, INFOBANK等。标准数据查询语言SQL一种介于关系代数与关系演算之间的结构化查询语言,包括查询、操纵、定义和控制,是一个通用的、功能极强的关系性数据库语言,同时又是一种高度非过程化的语言,只要求用户指出做什么而不需要指出怎么做。SQL集成实现了数据库生命周期中的全部操作,提供了与关系数据库进行交互的方法,它可以与标准的编程语言一起工作。SQL Query主要是通过JDBC和ODBC与目前主流数据库相联系。JDBC和ODBC提供了一组对数据库访问的标准API,建立了一组数据库访问的标准,支持SQL语句的执行,同时也是Yonghong Z-S
7、uite与数据源之间的主要接口。Yonghong对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的数据库驱动程序完成。除了一些主流关系型数据库,用户还可以通过选择GENERIC类型和输入正确的数据驱动接口,链接到其他类型的数据库,比方一些非关系型的数据库类型VERTICA, EXADATA, NETEZZA, TERADATA, SYBASE IQ, GREENPLUM等。Script Query (脚本查询)Script Query提供脚本语言和数据接口的方式,实现SQL Query所提供的功能。但这种方式比较于SQL Query本身设计上的局限,又
8、能使查询操作更加灵活自由,为专业人士提供了便利。通过在工具库里提供了一些常用Javascript函数接口,Script Query支持客户通过编程的方式进行查询。虽然这些接口被限制在设定功能范围内,但是已经能够满足现有日常的工作。此外Script Query提供了SQL Query不支持的联合查询功能。其类似于SQL中的联合查询,根据客户需求,将来自不同数据表单上的数据,通过脚本JOIN查询方法展现在一张表单上。但Script Query提供了比SQL的联合查询提供了更为强大的功能。SQL联合查询的前提是所有的数据表单都来自于同一个数据库,而Script Query可以连接不同数据库的数据表单
9、,例如某个公司的经营数据保存在DB2,而其管理数据保存在ORACLE,客户通过Script Query可以把他们联合在一起并组成一张新的查询表用来分析,实现了不同数据源之间的合并。Customized Query (自定义查询)Customized Query基于Script Query的设计理念,提供给客户更加自由灵活的操作方式,完全由用户自己定义查询条件和选择数据来源,因此它也是这五中查询方式里面对于客户技术要求最高的。用户在使用Yonghong Z-Suite之前已经建立好自己的查询系统,并和自己的数据系统深度绑定,因此不需要重新定义查询机制。Customized Query正好满足此类
10、用户的需求,可以将自有的查询系统与Yonghong Z-Suite快速绑定。Customized Query在建立新的查询的时候,提供g5.qry.GCustomQuery类接口给用户,帮助他们通过Java编程的方式与自己原有查询系统进行绑定。通过继承Query的方式,Yonghong Z-Suite可以返回用户自定义的查询结果。另外当用户希望直接从数据库获取原始数据而不使用查询功能的时候,Customized Query也可以帮助用户完成此类操作。Customized Query 具有并支持和Script Query类似的联合查询功能,可以将多张表单的查询结果链接在一起,同时支持不同数据库类
11、型。但是他们之间也有一些不同,Script Query是基于可视化界面的输出进行数据操作,而Customized Query在技术方面那么要求更高,需要用户自定义java文件。Cloud Query (云查询)Cloud Query作为Yonghong Z-Suite云计算的接口为用户提供云数据查询效劳。当用户购置了Yonghong Z-Suite云计算模块以后,需要根据自己的需求配置云环境,包括硬件配置和软件配置两局部。通过将后台数据与云计算应用关联起来,云计算模块就可以正常工作了。由于云计算支持的效劳器数量众多,需要处理的数据量级别超过普通数据量,必须有特殊的文件存储系统为云查询效劳。云计
12、算所需要的查询数据都会被单独存放在指定的文件目录下,Cloud Query创立新的查询的时候,用户可以直接指定到该目录下,选择已经部署好并可以使用的文件创立云查询表。一般情况下查询数据会在创立查询之前被定义,并定时与云端数据互动更新,保证在文件夹数据是最新的,这也是Yonghong Z-Suite相对于同类软件的独有的功能。Cloud Query同时支持用户通过调用云计算的API 接口生成的云数据文件。这种方式相比较通过系统生成的文件更加灵活方便,但是对于用户的技术要求也很高,需要用户自己设计程序和应用。由此产生的查询表单与其他查询功能产生的表单是一致的,没有特别的地方。Embed Query
13、 (嵌入式查询)相对于其他四个查询功能,Embed Query提供的功能比较简单,适用于数量级别要求不高的用户。当用户的数据量不大,参数对象有限,数据关系固定,更新需求不多的时候,Embed Query能够很好地满足了这种数据固化的需求。通过提供简单的自定义查询方式,方便用户直接创立数据结构,定义参数类型,给参数赋值,生成所需要的查询表单。VPMZ产品支持权限控制模块,在系统中分为个模块,分别是提供管理用户信息和管理访问权限的功能。用户可以选择权限控制的类型,一种是不需要权限控制,一种是选择产品自带的文件系统权限控制,还有一种是用户自定义得权限控制系统,只要注册两个类(分别实现定义好的API)
14、就可以。权限控制模块可以实现控制对资源的认证访问。除了资源级别的权限控制,Z产品还支持在数据级别的访问权限控制,用户能配置一个查询的列对哪些用户可见,一个查询的行对哪些用户可见。对于一个省的经营分析系统而言,不同地区的用户只能看到本地区的数据,用这个功能很方便的就可以支持。CubeCube包括Dimension(维度)和Measure(度量)两个条件。一般维度用来给数据分组的,是表示一个方面;而量度是用来做汇总统计的数值。通过不同的方面,来分析一些数值的指标,这样数据就被组合成cube(立方体),这符合人类的思维方式。对立方体的数据过滤,可以切成小立方,和一个平面片。这分别就是BI的OLAP概
15、念离得Slice 和Dice。维度是可以被划分成hierarchy(层次)的,根据层次的上下,用户可以向上、向下钻取(drill up、drill down, drill through)。Materialized Query(物化查询)Materialized Query 并不是真正意义上的数据查询。它不与链接数据库链接,不进行实际的数据查询,而是将数据库里的数据保存到本地,让保存在文件里的数据通过可操作而变得真实。它的主要功能是使数据展示和数据操作与其他查询模块产生的结果一致。Materialized Query所使用的数据来源于已经建立好的文件,而不是直接从数据库里读取数据。因此用户会困
16、惑并质疑文件里的数据到底是否能按照数据库的操作方式进行真正的操作。当数据文件通过特别的存储技术被读取并参加到查询结果的时候,用户可以通过Materialized Query对数据进行各种操作。此时用户的感觉就像操作真正的数据库一样,这就是物化查询的最重要的作用。Query Engine(查询引擎)Query Engine是Z-Data Modeler中数据查询,分析和运行的核心模块。用户通过Query Editor将数据导入进Yonghong Z-Suite中,通过可视化的操作界面对数据进行各种查询操作。而 Query Engine 作为后台处理平台,执行这些查询请求,并将结果返回给前台。END OF DOCUMENT