2011-09-30 80 views
1

数据仓库似乎是近来的一大趋势,对我来说非常有趣。我试图了解自己的概念,并且在“通过树看森林”时遇到了问题,因为我可以在网上找到的所有数据仓库模型和描述都是理论,但未提供实际示例正在使用的技术。我是一个情境学习者,如此抽象,理论上的解释并不能真正帮助我。数据仓库的实际实现

现在似乎有很多“数据仓库模型”,但它们都似乎有一些类似的特征。一个“ODS”(操作数据存储将多个数据源的数据聚合到同一个地方。一个称为“ETL”的过程然后将该ODS中的数据转换为“数据仓库”,并再次转换为“数据”和/或“的战略集市。”

有人可以提供将被用于每个组件(ODS,ETL,数据仓库,数据/策略集市)的技术的例子吗?

这听起来像ODS可能只是任何普通的数据库,但数据库似乎有一些特殊的事情正在进行,因为这些“marts”使用这些特殊的事情来提取数据。

ETL是bigg我目前窒息的东西。这是一种语言吗?框架?算法?

我想一旦我看到一个具体的例子,在每一步的方式发生了什么,我终于得到它。提前致谢!

回答

1

ETL是一个过程。缩写代表Extract-Transform-Load,它描述了在这个过程中正在处理的数据。该过程可以在任何需要在具有不同数据格式的两个系统之间建立桥接的地方实施。首先,您需要从源系统(数据库,平面文件,Web服务等)提取(提取)数据,然后对数据进行处理(转换)以符合目标存储的格式(同样可以改变数据库,文件,API调用)。在变换步骤中,可以对数据集执行进一步的操作,作为来自其他来源的数据的浓缩,清理并改善其质量。最后一步是将转换后的数据加载到目标存储中。

通常,ETL过程用于加载数据仓库,将数据从一个系统或数据库迁移到另一个系统或数据库,以便从旧系统迁移到新系统,同步两个或更多系统之间的数据。它也被用作更广泛的MDM和BI解决方案的中间层。

就具体软件而言,市场上有许多ETL工具,从Informatica,IBM DataStage,Oracle Data Integrator等大型厂商的强大解决方案到CloverETL,Talend或Pentaho等更实惠和开源的供应商。大多数这些工具提供了一个GUI,其中流程和数据处理是通过图来定义的。

+0

谢谢@Jan!这些所谓的“数据仓库”和“数据集市”呢?这些只是具有特殊属性的数据库吗?还是他们专门的软件系统? – IAmYourFaja

0

对于Microsoft SQL Server 2005及更高版本,ETL工具称为SSIS(SQL Server Integration Services)。如果您至少安装了标准版本的SQL Server,则可以使用您可以设计数据流的Business Intelligence Developer Studio。基本上,ETL工具所做的就是从一个或多个来源(表格,平面文件等)获取数据,然后对其进行转换(将列,连接,过滤器和映射添加到不同的数据类型等),最后再将其存储到一个或多个表或文件。

要了解某些工作原理,您可以观看例如this videothis one(均来自midnightdba)。他们有点冗长,但你有一个想法。他们的确帮助我理解了ETL工具的基本功能。

不幸的是,我还没有挖掘到其他平台或工具。

0

我强烈建议查看一下Ralph Kimball和Margy Ross(数据仓库工具包,数据仓库生命周期工具包)的一些书籍,以了解数据仓库的介绍。

我公司的数据仓库是使用适用于ETL的Oracle Warehouse Builder工具构建的。 OWB是一个GUI工具,可以在数据库上生成PL/SQL代码来处理数据。在操作和清理之后,数据将发布到Oracle数据集市。 datamart是一个数据库实例,用户可以通过Oracle Discoverer(Java软件)访问临时查询。