星期五, 三月 12, 2010
网络广告形式 CPM、CPC、CPA、CPS、CPT
星期六, 二月 20, 2010
[fwd]到底有多少面向BI的数据库
BI作为一个方兴未艾的领域, 在我们还没来得及数清到底有多少BI 工具提供商的时候, 大大小小的专门面向BI的数据仓库解决方案已经进入竞争激烈的市场, 其中不乏传统的数据库大鳄,更有不少新兴的创业公司,当然也少不了开源数据库厂商的参与.除开传统的商业智能方面数据库四大天王:teradata , oracle,ibm, microsoft 之外, 也有不少后期之秀不断挑战,像是我们熟知的"以列为导向的"Sybase IQ . 除开我们众所周知的明星之外, 下面介绍一些大家不太熟悉的有潜力的挑战者, 让我们开始这场选秀活动吧(Rock and Roll) :!
Garnter 的数据库魔力四象限
我们看到最接近Sybase IQ 的Netezza 公司是非常有实力的挑战者之一 , 它的主要特点就是面向商业智能并且专注于商业智能领域的应用,其主要产品为Netezza Performance Server系列数据仓库专用设备,为了能够分析商业数据,其数据仓库专用设备中整合了数据库、服务器和存储等各项功能, 你可能对这家公司不太熟悉,但是这家成立于2000年的公司早已经是中高端市场的老大了, 早已经是混的风声水起,即使是Oracle Open World 大会上,oracle 与hp 推出了硬件和软件组合的两款Exadata Programmable Storage Server 和HP Oracle Database Machine , Netezza 一样毫不含糊, 立刻展开针对这个组合的宣传,Netezza is fast, Netezza has more processing power, Netezza handles analytics inside the box,netezza is integrated in one box,from one vendor, netezza needs no tunning or indexing, 甚至打出了连圣诞老人都想要netazza 的广告, 专门针对oracle 销售策略,俨然一副我是老大,就算你是oracle 和hp 跟我抢食也要看你有几分斤两.
Greenplum 也是非常耀眼的新星之一 , 其首要目标就是直指PB 级别的超大型数据仓库, 其shared-nothing 的架构更是不像Teradata 和netezza 一样需要专属高端硬件配合, 任何Intel , AMD 芯片的普通服务器都能很容易的搭建集群环境, SQL Parallel Process + MapReduce 技术优势更是其宣传的最大卖点,Teredata 共有5家客户达到PB 级别,其中ebay 和walmart 的级别更是2PB 和 1.1 PB , Greenplum 这个运行在普通PC Server 上通过集群的高性能数据库相信在不久的将来也会很快有真正的PB 级别的案例产生. 在获得Sun ,SAP 等公司的风投后共获得4200万美元资金,更在中国建立合作伙伴关系开发国内市场,SUN 更是直言不讳的想通过Greenplum 的优势杀入商业智能市场,带动其服务器,储存和Solaris 的销售, 国内的淘宝团队也开始考虑使用greenplum + hadoop 的技术构建商业智能平台, 它不仅支持SQL、MapReduce、R、Pythons 等编程语言,新的3.2 功能还增加了GUI , 性能管理器的功能. 如果你嫌Teredata 和 Oracle RAC 太昂贵的话, Greenplum 一定在你构建超大型数据仓库的考虑范围之内. 注意它虽然构建在Postgresql 之上,但是数据库本身是闭源的商业产品, 因为Postgresql 是BSD license 的.
http://rdc.taobao.com/blog/dw/archives/category/greenplum
淘宝的一些greenplum 研究.
DATAllegro 是一家已经被microsoft 收购的公司,为了补充SQL Server 在商业智能方面的应用. 它同时也提供专属的硬件,microsoft 收购之后已经着手进行整合,产品的最终版本可能要到2010年上半年才能面世. 数据库的规模大概在百T左右.
Kognitio是一家提供数据仓库主机托管解决方案提供商(APS),第一次进入Gartner , 主要市场针对UK.
Sand Technology 是一家加拿大的公司,主要市场在UK,Germany , US. 也是基于列的数据库, 主要强调用廉价的低速磁盘获得可接受的查询性能.
http://www.dbms2.com/2008/12/16/introduction-to-sand-technology/
除了能够上Garnter 的一些厂商之外,还有很多商业产品都各自有其技术优势: 像是Clearpace 比较强调数据归档和压缩,查询性能也能够与Oracle 匹敌(当然没有Netezza 那么肯定的强调) .
还有vertica , 也是强调基于列和网格的数据库,也能进行高性能的分析查询.运行于普通的硬件上,大客户包括JP Morgan Chase 等,Vmware 上还有一个装好的vertica analytic database 虚拟机给你玩, 它的ETL 性能测试还刷新的新的ETL记录,一小时转载了5.4TB 的数据.
http://www.vmware.com/appliances/directory/1266
vmware 虚拟机的下载地址.
kickfire 一家基于mysql 数据库,但是面向商业智能的基于列的数据库提供商.
还有太多就不一一列举了
http://pyrrhodb.msroot.paisley.ac.uk/org/
每个都是各有强调重点, 技术特长不一.
就像OLTP 数据库中众多的厂商也没有阻止开源数据库的脚步,data warehouse 数据库中自然也不乏开源的身影.
比较有名的像是Infobright (http://www.infobright.org) , 这是一个基于mysql 的储存引擎, 同样也是基于列计算, 其最大的宣传重点在于高压缩比率和知识网络, 宣传的压缩比率经常在10:1 � 40:1 之间, 其知识网格技术可以不使用索引也能够进行高效率的查询运算.另外还有高速的数据装载工具, 当然还有一些技术上的限制比如缺乏国际支持, 并发性不高, 不能利用多核,没得到Windows或Solaris支持,没有ALTER TABLE有关的支持等, 详情可以查看
http://tech.it168.com/a2008/1024/209/000000209206.shtml
Bizgres(http://bizgres.org) , 是一个多厂商合作的,主要由greenplum 领导,基于postgresql 的商业智能数据库, 它最大的强调重点就是和其他开源的商业智能工具和平台提供商有很好的合作,像是JasperSoft reporting tools 和Kinetic Networks ETL tools
enterprisedb (http://www.enterprisedb.com) , 在基于postgresql 的基础上构建了OLTP 的数据库,主要走商业路线, 在商业智能领域则是另外一款产品grid sql , 或者说postgresql plus , 听名字就知道强调网格计算, 使运行在普通PC Server 上的数据库可以轻松进行并行计算完成复杂查询,再加上postgresql 本来就有的不少高级特性(物化视图,bitmap index 和分区) , 使得在中小型数据仓库中也值得一试.
MonetDB (http://monetdb.cwi.nl/) , 强调其在数据挖掘上的应用,OLAP , GIS, XML Query , 文本和多媒体查询. 有windows 和linux 两个版本, 如果你有特殊的商业智能应用,或者科研机构之类的可以研究一下.
LucidDB (http://www.luciddb.org/) 将是今天最后一个介绍的数据库, 它强调自己是第一个也是唯一一个只为数据仓库目的建造的数据库,同样也有 列储存,bitmap indexing , hash join/aggregation 等常见数据仓库技术, 新版中强调在线热备份和基于时间点的快照功能, 另外一个最大的特色就是和开源的商业智能厂商之间有很好的合作, 像是开源ETL工具中的kettle 和talend 都有其插件帮助装载数据, 还有pentaho 最有名的产品,开源OLAP 中的实际标准mondrian 的支持:automatic Mondrian aggregate table designer add-on 和Mondrian source replication . (注: mondrian aggregate 是pentaho 2.0 新功能之一, 查看我写的pentaho 2.0 新功能一览(http://www.gemini5201314.net/?p=108) )
它同时是Eigenbase 项目的一部分,主要也是强调商业智能和数据仓库这一块的一个项目,和一个商业的中间件sqlstream 可以很好的组合( stream processing ,the SQLstream continuous query engine , 实现实时数据仓库的一个中间件,主要做CDC change data capture, mondrian 的主开发者很喜欢这个东西, 他已经写了两篇介绍这个玩意
http://julianhyde.blogspot.com/2008/12/streaming-analytics-over-content-feeds.html
http://julianhyde.blogspot.com/2008/12/streaming-content-feeds-part-2-forging.html
trackback: http://www.gemini5201314.net/database/到底有多少面向bi的数据库.html
[fwd]开源BI系统简述
本文介绍了ETL工具、报表工具、OLAP工具的各项开源资源情况,有一定的普及和参考价值。
这些众多的BI项目从规模和对BI系统支撑的完善程度上来说,大体可以分为Framework、Stand-alone Tools和BI Suit三种类型。
Framework
开源框架,这是在商业BI系统中所没有的。我们可以使用它们来构建自己的BI工具,或者增强和扩展我们的BI解决方案。
Stand-alone Tools
独立的BI工具,这是开源项目中数量最多的一类。很多工具只侧重BI系统中的某个环节和方面,如ETL、Report、OLAP和Database等等。
BI Suit
在统一的架构下提供了多种BI系统的特性的工具集合。就目前的情况看,不管是商业软件还是开源软件,还没有任何一个套件提供了完整的端到端的BI解决方案。这些开源的BI Suit是通过连接多个其他的组件和工具的方式形成套件的,由于BI系统涉及到的工具是非常多的,所以整合一套完整的BI解决方案是很困难的。
BI解决方案中的工具
一个完整的BI解决方案中有多种工具来完成BI系统中各个阶段的工作。
ETL工具
数据抽取、转换和加载工具。优秀的ETL工具应该具有以下特性:
1、 Workflow Management, Job Execution and Scheduling Manager。能方便地定义流程并自动化执行ETL任务。
2、 Centralized Metadata Repository and Management。集中存储和管理符合业界标准的元数据。
3、 Data Profile and Validation。可以检验数据的质量。
4、 High Performance。在大负荷的任务执行中仍然有良好的性能。
5、 Scalable, Platform Independent。具有良好的弹性,支持多种操作系统和数据库系统,能操作多种异构的数据源。
6、 Open Architecture and API。具有开放的架构和易于使用的二次开发接口。
目前较为知名的开源ETL工具有:
1、 KETL,由具有IBM和KPMG背景的Kinetic Networks公司开发,现在已经有三年多的产品应用历史,成功应用于一些产品中,在点击流(ClickStream)分析应用中表现出色。KETL采用Plug-in的架构,使用Java开发。
2、 KETTLE,为一个元数据驱动的ETL工具。已经加入Pentaho。
3、 Clover ETL,为一个基于Java的ETL Framework,可以用来开发自己的ETL应用。
4、 Enhydra Octopus,为一个基于Java的ETL工具,使用JDBC来连接各种数据源,易于使用和部署。曾有人应用于电信网络资源分析系统中。
报表工具
优秀的报表工具通常具有以下特性:
1、 支持多种数据源。
2、 直观的可视化设计器,简单易用的报表定制功能。
3、 方便的数据访问和格式化,丰富的数据呈现方式。
4、 符合数据呈现的通用标准,能和应用程序很好地进行结合。
5、 易于扩展和部署。
目前较为知名的开源报表工具有:
1、 JasperReports,一个优秀的Java报表工具,始于2001,现在JasperSoft公司持续开发和支持该工具。该工具类似于商业软件Crystal Report,支持PDF、HTML、XLS、CSV和XML文件输出格式,现在是Java开发者最常用的报表工具。
2、 OpenReports,提供基于web的灵活报表解决方案,通过浏览器自动生成动态PDF,XLS,HTMLCSV 和Chart报表,它是用Java开发的,使用JasperReports 作为报表引擎,利用到的开源技术有Hibernate,Veloctiy,Webwork。
3、 JFreeReport,现在是Pentaho的一部分,它是一个优秀的用来生成报表的Java类库。它为Java应用程序提供一个灵活的打印 功能并支持输出到打印机和PDF, Excel, HTML和XHTML, PlainText, XML和CSV文件中。
4、 Eclipse BIRT,是Eclipse下面的一个企业智能和报表 工具,能为J2EE的WEB应用程序创建漂亮醒目的PDF或者HTML格式的报表,它提供了核心的报表功能。
OLAP工具
联机分析处理工具。目前开源的OLAP工具也分为MOLAP、ROLAP和HOLAP,优秀的OLAP工具通常有以下特性:
1、 良好的执行性能,能快速地进行分析处理工作。
2、 良好的适用性和可伸缩性。
3、 开放式接口和丰富的API。
目前较为知名的开源OLAP工具有:
1、 Mondrian,是Pentaho的一部分,为一个用Java开发的OLAP服务器,实现了MDX语言、XML解析和JOLAP规范,可以不写SQL就能分析存储于SQL 数据库的庞大数据集,可以封装JDBC数据源并把数据以多维的方式展现出来。
2、 JPivot,是一个JSP 自定制的标签库,可以绘制一个OLAP表格和图表。用户可以执行 典型的OLAP导航,如下钻,切片和方块。它使用Mondrian 作为其OLAP服务器。它使用WCF (Web Component Framework) ,基于XML/XSLT来渲染Web UI组件。JPivot在元数据缓存方面的过于简化的整体性初始化装载的做法将限制它只能处理很小的立方体(Cube)。
数据库
开源的数据库也有很多,大多数为关系型数据库,少数为应用于数据仓库环境做了专门的优化工作。Bizgres以PostgreSQL为基础进行了数据仓库环境下的优化,提高了分析查询性能。
开源BI套件
下面列出相对成熟和完整,并且有借鉴意义的开源BI套件。
Bizgres
为GreenPlum公司主导的开源项目,和Sun公司达成合作关系。Bizgres为BI应用而对PostgreSQL做了优化,提高了大负荷的并行计算能力,在BI环境中,相对于普通的关系型数据库具有卓越的数据处理性能。Bizgres的数据库平台可以和KETL和JasperReports进行整合,从而形成一个BI套件:
1、 数据库:BI专业数据库Bizgres,或者大型应用中的高性能服务器Bizgres MPP,能比普通关系数据库快20倍
2、 ETL工具:KETL
3、 报表工具:JasperReports
Openi
是一个Java开发的Web应用,能对OLAP服务器、关系数据库和数据挖掘服务器进行分析和报表展示,非常易于使用和部署,界面美观友好,后续还将支持数据挖掘和ETL等。Openi主要包括:
1、 OLAP展示:JPivot
2、 报表工具:JFreeChart
3、 分析数据源连接器
Pentaho
是一个以工作流为核心的、强调面向解决方案而非工具组件的BI套件,整合了多个开源项目,目标是和商业BI相抗衡。它包括:
1、 工作流引擎:Shark and JaWE
2、 数据库:Firebird RDBMS
3、 集成管理和开发环境:Eclipse
4、 报表工具:Eclipse BIRT
5、 ETL工具:Enhydra/Kettle
6、 OLAP Server:Mondrian
7、 OLAP展示:JPivot
8、 数据挖掘组件:Weka
9、 应用服务器和Portal服务器:JBoss
10、 单点登陆服务及LDap认证:JOSSO
11、 自定义脚本支持:Mozilla Rhino Javascript脚本处理器
由上可见Pentaho是一个很完善的BI解决方案。Pentaho偏向于与业务流程相结合的BI解决方案,侧重于大中型企业应用。
SpagoBI
SpagoBI 集成了Mondrain和JProvit,能够通过OpenLaszlo产生实时报表。SpagoBI使用java开发,不依赖于具体的操作系统,有很强的扩展能力。它主要包括:
1、 报表工具:JasperReports /Eclipse BIRT/ iReport
2、 OLAP Server:Mondrian
3、 OLAP展示:JPivot
4、 数据挖掘组件:Weka
5、 Map引擎:Geo
6、 ETL:BIE
7、 搜索引擎:Lucene
8、 Dashboard:OpenLaszlo
9、 Portal Server:JBoss/ Tomcat/ JOnAS
根据其Roadmap可以看出,SpagoBI将融入更多的BI功能,甚至BI之外的功能.
Trackback: http://www.cognoschina.net/home/space.php?uid=850&do=blog&id=205