数据仓库现在似乎是一个大趋势,对我来说非常有趣。我正在尝试熟悉它的概念,并且遇到了“通过树木看到森林”的问题,因为我在网上找到的所有数据仓库模型和描述都是理论,但是不要t给出了使用实际技术的例子。我是一个情境学习者,所以抽象的理论解释并没有真正帮助我。
现在似乎有许多“数据仓库模型”,但它们似乎都有一些相似的特征。有一个“ ODS ”(运营数据存储将多个来源的数据聚合到同一个地方。一个称为“ETL”的进程然后将此ODS中的数据转换为“数据库”,并且再次进入“数据”和/或“战略集市”。
有人可以提供用于这些组件(ODS,ETL,数据库,数据/战略市场)的技术示例吗?
听起来ODS可能只是普通的数据库,但数据库似乎有一些特殊的事情,因为这些“marts”使用它来从中提取数据。
ETL是迄今为止我最窒息的事情。这是一种语言吗?一个框架?算法?
我想,一旦我看到每个步骤中发生的事情的具体例子,我终于得到它。提前谢谢!
答案 0 :(得分:1)
ETL是一个过程。缩写代表Extract-Transform-Load,它描述了在此过程中对数据执行的操作。可以在需要在具有不同数据格式的两个系统之间创建桥接的任何地方实施该过程。首先,您需要从源系统(数据库,平面文件,Web服务等)提取(提取)数据,然后处理(转换)数据以符合目标存储的格式(同样可以改变:数据库,文件,API调用)。在转换步骤期间,可以对数据集执行进一步的操作,以丰富来自其他来源的数据,清洁和改善其质量。最后一步是将转换后的数据加载到目标存储中。
通常,ETL过程用于加载数据仓库,在从遗留系统移动到新系统期间将数据从一个系统或数据库迁移到另一个系统或数据库,在两个或多个系统之间同步数据。它还可用作更广泛的MDM和BI解决方案中的中间层。
就特定软件而言,市场上有许多ETL工具,从Informatica,IBM DataStage,Oracle Data Integrator等大型企业的强大解决方案到CloverETL,Talend或Pentaho等更实惠和开源的提供商。这些工具中的大多数都提供了一个GUI,通过图表定义数据流和处理。
答案 1 :(得分:0)
对于Microsoft SQL Server 2005及更高版本,ETL工具称为SSIS(SQL Server Integration Services)。如果您至少安装了SQL Server的标准版本,则可以使用Business Intelligence Developer Studio来设计数据流。基本上ETL工具所做的是从一个或多个源(表,平面文件......)中获取数据,然后对其进行转换(添加列,连接,过滤,映射到不同的数据类型等),最后再将其存储到一个或多个表格或文件。
要了解某些内容的工作原理,您可以观看,例如this video或this one(均来自midnightdba)。他们有点冗长,但你明白了。他们当然帮助我理解了ETL工具的基本功能。
不幸的是,我还没有深入研究其他平台或工具。
答案 2 :(得分:0)
我强烈建议您阅读Ralph Kimball和Margy Ross(数据仓库工具包,数据仓库生命周期工具包)的一些书籍,以获取数据仓库的介绍。
我公司的数据仓库是使用Oracle Warehouse Builder工具为ETL构建的。 OWB是一个GUI工具,可以在数据库上生成PL / SQL代码来操作数据。在操作和清理之后,数据将发布到Oracle数据集市。 datamart是一个数据库实例,用户可以通过Oracle Discoverer(Java软件)访问ad-hoc查询。