`

商业智能平台研究(七)

阅读更多
五一期间哪里都没有去,看了一段关于魔兽世界的视频,讲的是4个小孩子被一个人PK,那四个小孩子拼命练级最后打败那个人的故事,其中有一句话翻译的很好,
gentleman ,we are dealing with the guy have absolutely no life .
先生们,我们正在对付一个彻头彻尾的宅男。
五一期间就是当了一个宅男。总是有很多事情觉得应该去做,总是说等有了时间去做。可真的有了时间又没有去做。想到了eygle (oracle一个很厉害的DBA) 的一篇文章,天道酬勤。
http://www.eygle.com/archives/2006/02/the_sun_repays_industriously.html
一年有四个计划,然后又加了一个计划,如以上目标不能实现,则顺延至下一年.
希望自己的计划列表上也不要有这一条吧,加油加油。
引用steve jobs 在stanford上的最后一句话
Stay Hungry. Stay Foolish
求知若飢,虛心若愚。

openI : openI 并没有指定的ETL 工具
spagoBI : spagoBI 官方是支持多种ETL工具的,但他们的合作伙伴是 talend . talend 最近刚刚发布了2.0版本 , 自己声称是业绩第一个开源的ETL工具.基于eclipse平台。1.1版最后处理数据的方式是用perl,2.0版刚刚加了用java处理的方式,不过支持的数据源比较少.
jaspersoft : jasperETL ,一个基于talend的工具,不知道有什么不一样,大概是购买了talend的二次开发许可证。
pentaho : kettle ,现在已经改名叫pentaho data integration 了,不过一样可以叫kettle ,是pentaho独立的一个子项目,最近刚刚发布了2.5版本,非常容易安装和使用,跟pentaho一样,人气很旺。


让我们先看看ETL过程的设计是如何的定义的:
1 .数据抽取、   转换和加载,是数据仓库实现过程中,数据由数据源系统向数据仓库加载的主要方法,整个数据处理过程如下:
2 .数据抽取  : 从数据源系统抽取数据仓库系统所需的数据,数据抽取采用统一的接口,可以从数据库抽取数据,也可以从文件抽取。对于不同数据平台、源数据形式、性能要求的业务系统,以及不同数据量的源数据,可能采用的接口方式不同,为保证抽取效率,减少对生产运营的影响,对于大数据量的抽取,采取“数据分割、缩短抽取周期”的原则,对于直接的数据库抽取,采取协商接口表的方式,保障生产系统数据库的安全。
3 . 数据转换  :  数据转换是指对抽取的源数据根据数据仓库系统模型的要求,进行数据的转换、清洗、拆分、汇总等,保证来自不同系统、不同格式的数据和信息模型具有一致性和完整性,并按要求装入数据仓库。
4 . 数据加载  :  数据加载是将转换后的数据加载到数据仓库中,可以采用数据加载工具,也可以采用API编程进行数据加载。数据加载策略包括加载周期和数据追加策略,对于电信企业级应用,采用对ETL工具进行功能封装,向上提供监控与调度接口的方式。数据加载周期要综合考虑经营分析需求和系统加载的代价,对不同业务系统的数据采用不同的加载周期,但必须保持同一时间业务数据的完整性和一致性。


ETL的功能。

ETL 功能的强弱很难用一个指标来评价,大概从以下几个方面可以粗略的考虑

支持的平台,支持数据源,流程设计,Metadata管理,可扩展性 , API , 数据验证,数据质量管理 ,

*支持的平台
很多的服务器不是运行在Windows系统上,所以平台的支持非常的重要,Windows,Linux, Solaris,HP-UX , IBM AIX ,都是服务器常用的操作系统,至于Applet OSX我就不敢说了,如果哪个ETL工具只绑定在Windows平台上,恐怕支持的程度会很低,所以用java做的东西会占一点点的上风,企业用的东西还是要有一点跨平台的能力滴。

*支持的数据源
这里把数据源分为三种,数据库,文件,第三方应用程序
主流的数据库如 Mysql , Oracle , MS SQL Server , IBM DB2 , Sybase 还包括各种各样的数据库比如MS Access , PostgreSQL , Informix , Firebird SQL , Hypersonic , SAP DB , CA Ingres , SAP R/3 System 和任何支持ODBC的数据库,有人会对MS Access 和 Hypersonic 数据库上榜有疑问,我承认他们不是商业型数据库,可是我们不能否认他们的存在。这里要提一下JDBC 的好处了,JDBC的标准使数据库的通用性提高了很多。
支持的文件格式也算是ETL数据源一种很重要的输入,其中有两种是必须支持的,普通文本格式文件和CSV文件,另外还包括zip文件,XML文件,当然是按照一定格式输出的,有的是数据库本身输出的比如oracle的,有的是第三方工具输出的,也有是自身的ETL工具输出的格式,对文件格式支持又分为Read和Write,Read就是输入,要求支持的格式尽可能的多,而Write则因工具而不同,可能有的特性包括:按照field分隔数据,多种文件格式输出,追加的方式输出,按照文件大小或指定的行数自动分割文件等等。
支持的第三方应用程序也是ETL的附加特性,比如支持SAP 或者一些流行的ERP 数据格式的处理,但是并不是每个ETL工具都会有的特性,这个因工具而异。


*流程设计
ETL数据处理是非常复杂的,一个好的ETL流程设计工具不是凭一两个功能就算是成功的工具,流程设计也不可能因为一两个步骤就完成,我只是尽量挑些我知道的说吧,如果大家有补充的话,也欢迎留言或给我发email:  jj12tt@yahoo.com.cn
由于ETL过程的复杂性,为了方便的管理,高性能,可扩展性,大多采用象多线程,分布式架构,来提高管理和性能,所以GUI设计工具也要有相应的支持才能更好的完成工作.

输入和输出的时候要能够备份和恢复,你也可以认为这是数据流向临时表.
要能够方便的更改数据的结构,最好还有版本控制支持,不一定要非常的强大,至少要记录下每次更改的过程.
字段的转化功能要尽可能的强大,talend的转化设置还可以支持正则表达式.最好很多转换都有默认值,能够支持公式.
可以自定义函数,当然函数本身不能大复杂,跟公式转化能够搭配.
支持复杂的过滤,分组,查询.能够按照行或列进行聚合.
能够有基于时间的调度方式,事实上这也是必须的.
要有好的性能,能够批量的处理请求,并且这些性能是可视化的,也就是要有一个度量.每次转化多少数据用了多少秒或分钟,kettle官方上写的性能指标是4000/s,如果一条数据算1k 的话,一秒钟就是4M 的数据量,1GB就是256秒,大约4分钟多,应该算是非常可以接受的值了,不然别人也不会写在官方网站上了.
所有的任务都是能够集中管理的.也就是说,多个不同的客户端ETL工具有一个共用的服务器来设计任务,每个人可以设计自己的部分,但是执行的时候是一个整体在执行.
要有好的异常处理方式.出错是在所难免的,问题是出错了之后你怎么处理的问题.
是否支持集群,大型的数据库可能都会避免不了使用集群,如果转化的时候支持集群速度可能会提高非常之多,而且集群的特点就是只读服务器比较多,而ETL本身就是只读的,所以和集群也是非常和的来的.



流程是分步骤的,一个步骤又有可能是由多个任务来组成的,所以一个好的GUI是必不可少的,所以我们也说说GUI的特性:
1 . drag and drop 特性是必不可少的。而且有的时候需要一些对话框和向导来收集用户的行为。
2 . 任务是可以复制和剪切的。
3 . 每一个动作都是可以描述的。也是可以取消和重做的。取消和重做的次数不说是无限次数,也要尽可能的大。
4 . 每一个任务都是必须要有起点和终点的,起点只有一个,但是终点就不一定了。
5 . 要有图形化建立数据库链接的方式。能用图形化建立每一步,每个任务的方式。
6 . 界面的可定制性要好,颜色要选鲜艳一点的,字体可以调的,图形化界面要可以放大和缩小的,(不是吧,这也算)。当你要面对数十个任务的时候,数据错综复杂,颜色鲜艳一点不至于让你睡着了,你就知道为什么需要了。
7 . 支持多条路线,也就是一个数据点可以把数据分散到多个不同的下一级数据点,多个下一级数据点又可以把数据汇集到同一个数据点。
8 . 可以预览,所谓的预览就是把指定数量的数据而不是全部数据进行处理,查看结果是否满意。
9 . 可以在数据运行的时候动态的pause , cancel , redo .尤其是在进行耗时很长的动作的时候,或者你发现前一个步骤出错的时候。
10 . 显示数据处理时的状态要清楚。你正在链接到一个database ,你正在读8000条记录,你正在更新这些记录而不是新建记录,每一步操作所处的状态要明确。
11 . 要支持缓存 .这应该算是提高性能的好方法,但是缓存不能丢失。
12 . 所有的操作可以存储。不论你是存储成XML格式的,还是用元数据储存在database里面。
13 . 存储的操作可以读取。并且是不丢失任何数据的读取。
14 . 识别不同的数据库数据类型。long , String , data , text ,还包括table , index, sequence 等等。
15 . 对数据库要有编辑器的支持。要有可视化图形的建立 query 的方式。旁边应该有group , order by , sum , avg 等标准函数的支持。


下一篇介绍ETL 的metadata .
分享到:
评论

相关推荐

    艾瑞咨询:2019年中国商业智能研究报告

    《2019年中国商业智能研究报告》为艾瑞咨询自主研究发布的商业智能行业研究报告。区别于传统商业智能,本报告聚焦于将人工智能及相关技术用于商业智能决策,梳理核心技术体系与行业应用价值,分类研究典型商业场景及...

    商业数据智能行业数字化转型系列报告:数字决策,中国商业数据智能行业研究.pdf

    商业数据智能行业数字化转型系列报告:数字决策,中国商业数据智能行业研究报告对中国商业数据智能市场的发展前景进行了预测和分析,并对商业数据智能与企业数字化转型的关系进行了阐述。 知识点1:商业数据智能的...

    商业智能解决方案的研究与应用

    ### 商业智能解决方案的研究与应用 #### 一、引言 在企业信息化发展的历程中,随着信息技术的应用日益广泛,企业内部积累了大量的业务数据。这些数据分布在不同的业务系统中,例如企业资源规划(ERP)、客户关系...

    中国商业智能行业研究报告

    中国商业智能行业研究报告2017版覆盖了商业智能和大数据的多个方面,包括技术发展、应用场景、企业案例以及面临的挑战与未来趋势等。报告指出,中国企业在精细化运营方面的需求正在爆发增长,商业智能成为企业从数据...

    论文研究-商业智能解决方案的研究与应用.pdf

    通过商业智能关键技术的研究给出了一个商业智能较为完整的解决方案,并结合项目实践,重点研究了商业智能在航运企业中的应用。最后给出了某航运企业商业智能系统的应用实例。商业智能关键技术若推广于军用舰艇管理,...

    基于SmarteVision的商业智能平台的研究

    基于SmarteVision的商业智能平台的研究 商业智能(Business Intelligence,BI)是指通过数据分析和报表来帮助企业领导做出正确的决策。它通常由数据仓库、查询报表、数据分析、数据挖掘、数据备份和恢复等部分组成...

    2017年中国商业智能行业研究报告

    区别于能够实现海量数据的管理、简单分析与可视化的传统商业智能,艾 瑞的此份商业智能报告将聚焦于人工智能技术如何用于商业智能决策,实 现商业经营的智能化与自动化。 摘要 • 中国企业精细化运营的需求正在爆发 ...

    中国商业智能BI市场研究报告

    中国商业智能BI市场研究报告

    人工智能下“O2O”房屋租赁平台商业模式研究.pdf

    在人工智能技术的推动下,“O2O”房屋租赁平台商业模式的研究展现出新的发展趋势和潜在价值。随着互联网技术的飞速发展,尤其是在移动互联网、大数据、人工智能等领域的技术革新,房屋租赁行业也逐渐由传统模式向...

    2020中国商业智能化发展研究报告.pdf

    ### 中国商业智能化发展研究报告知识点总结 #### 一、引言 - **数字经济的重要性:** 随着互联网技术和信息化基础设施的快速发展,数字经济已经成为中国经济增长的重要驱动力之一。2019年中国数字经济规模达到31.3...

    2010商业智能研究分析报告(超详细)

    2010商业智能研究分析报告(超详细).pdf

    中国商业智能研究报告

    ### 中国商业智能研究报告知识点概览 #### 一、商业智能概述 - **定义与演进**:商业智能(BI, Business Intelligence)的概念最早可追溯至1958年,其核心理念是将企业的现有数据转化为知识,进而支持企业做出明智...

    2020中国商业智能化发展研究报告

    2020中国商业智能化发展研究报告

    2019年中国人工智能商业落地研究报告.pdf

    2. 2019中国人工智能商业落地榜单研究 2.1 2019中国人工智能商业落地初创企业100强榜单 2.2 2019中国人工智能商业落地成熟企业60强及20大巨头 企业榜单 2.3 2019中国人工智能落地投入强度十大城市榜单 3.人工...

    大数据数据仓库商业智能平台设计与实现.pdf

    在当今信息化高速发展的数据时代,大数据和商业智能(BI)已成为企业和研究机构关注的焦点。大数据环境下,企业需要解决如何有效地收集、处理、分析和利用海量数据的问题,以支持决策和业务发展。商业智能平台的设计...

    2022年数字决策:中国商业数据智能行业研究.pdf

    《2022年数字决策:中国商业数据智能行业研究》报告深入探讨了中国商业数据智能行业的现状、发展趋势和市场前景。报告指出,中国商业数据智能市场在行业政策、数字经济、人工智能等多重因素的推动下展现出强劲的增长...

    2021-2025年中国商业智能行业市场发展战略研究报告.pdf

    在商业智能(BI)行业,特别是中国的市场领域,商业智能指的是一系列工具和技术,这些工具和技术能够将数据转换成可理解的信息和知识,以便企业做出更加明智的决策。商业智能的市场战略包括对行业的发展方向、竞争...

    Gartner2020年商业智能和分析平台魔力象限报

    2020年的商业智能和分析平台魔力象限报告聚焦于商业智能(BI)和分析技术的发展趋势、市场定义、以及战略规划假设等多个方面。报告中提到的关键知识点如下: 1. 增强分析(Augmented Analytics)正成为商业智能和分析...

Global site tag (gtag.js) - Google Analytics