Java / .NET Developer正在向数据仓库发展

时间:2013-08-07 19:16:49

标签: sql-server data-warehouse

在阅读如下问题后,我理解了数据仓库的概念:What is a data warehouse?。我熟悉OLAP和MDX(MDX在有限程度上)。

我有一个.NET应用程序,它连接到大约15个不同的数据库来搜索信息和管理信息,即它是一个连接到15个基于Oracle / SQL的数据库的Java应用程序。我相信数据仓库可以满足我的需求。我有两个关于数据仓库的问题:

  1. 您是否将决策所需的所有数据复制到数据仓库中(使用SSIS),或者您只是将其保留在OLTP系统中并对其进行查询或两者兼而有之?
  2. 您使用什么作为用户界面?也许是一个Java app / VB.NET

2 个答案:

答案 0 :(得分:0)

数据仓库通常是用于快速访问的事务数据库的重新格式化版本,为最终用户提供业务洞察(技术和非技术)。例如,Kimball模型中的数据仓库是星型模式中事务数据库的非规范化(思考高和瘦)版本。数据来自OLTP数据库,通过ETL过程(提取,转换,加载),然后可供业务用户使用(例如,最终用户UI查询业务对象)。

这有很多种变化。你可以很好地看一些关于基本的Kimball式数据软件的文章(我不是试图偏见,这正是我过去使用过的)。如果你觉得需要一本实体书,那么早期的版本就会在亚马逊上使用Kimball Warehousing书籍作为便士。

答案 1 :(得分:0)

在秤的一端,您有一个“批量加载”的数据仓库,这意味着作业会运行以加载数据。您可以利用这种专门的处理时间来建模并将数据转换为易于分析的模式。数据仓库不仅仅是复制数据。

规模的另一端是你现在正在做的事情 - 执行'联合'查询。

您需要研究每种方法的优缺点,并将它们与您的业务需求进行比较。您还需要考虑系统的未来状态,即您的程序现在可以正常工作但是如果数据量增加或者您突然需要访问另外五个系统会发生什么?

例如,如果您的用户有一天过期(延迟)的数据,是否可以? 5年后这仍然可以吗?

回答你的问题:

1)您是否将决策所需的所有数据复制到数据仓库中?

如果您的用户可以忍受延迟,并且您有足够的磁盘空间和足够智能的复制(即CDC),并且查询源系统是一个问题,那么您可以复制所有数据。 (进入通常被称为ODS的东西)

2)你用什么作为用户界面?

由于您已经提到了SSIS(MS工具),请注意MS还附带SSAS(多维数据集构建工具),SSRS(Web报表工具)和Excel(基本上是您的多维数据集客户端)。你可以把它包装在Sharepoint中,但这不是一件容易的事。

请注意,所有这些功能(ETL,Cubing,用户界面)也是由许多其他供应商提供的,但在MS商店中,您基本上已经购买了BI工具,因此您可能希望从这些工具开始。

您可以使用.Net为自己构建一个更复杂的工具,但最好还是从现成的东西中获取。