为什么在从Data Warehouse创建报表时需要使用T-SQL而不是SQL?

时间:2014-10-31 10:37:43

标签: sql tsql data-warehouse

有人可以告诉我为什么在从数据仓库创建报告时需要使用T-SQL而不是SQL?

SQL也有函数和连接,但我看到所有在线教程在从DW创建报表时都使用T-SQL。

可以用SQL完成吗?如果必须使用T-SQL,你能解释一下原因吗?就T-SQL做什么而言SQL无法做到。

T-SQL和创建报告的一些有用的教程链接也很棒!

提前致谢〜

1 个答案:

答案 0 :(得分:1)

无论T-SQL比纯SQL具有更多功能,在一般数据仓库中,您有两种主要方法:

  1. 使业务逻辑更接近数据。通过这种方式,您可以开发许多T-SQL函数并应用许多可用的优化来提高ETL的性能。优点是您的ETL和报告的更高性能。但缺点是更改代码和迁移成本的成本。增加DWH的常见情况是迁移到某些MPP平台。如果你在MSSQL中有很多T-SQL代码,那么你必须完全重写它,这将花费你很多钱(有时甚至超过MPP解决方案的成本+硬件)。
  2. 将业务逻辑放入外部ETL解决方案,如Informatica,DataStage,Pentaho等。这种方式在数据库中使用纯SQL操作,所有复杂逻辑(如果需要)是您的ETL解决方案的责任。优点是简单的更改(只需移动转换框并使用GUI更改其属性)和更改平台的简单性。唯一的结果是性能,通常比数据库内实现慢2-3倍。
  3. 这就是为什么你可以找到关于T-SQL的教程,或者关于ETL / BI解决方案的教程。 SQL是非常通用的工具(许多ANSI标准),它是任何DWH专家的基本技能,ANSI SQL也更简单,因为它没有任何特定于数据库的东西