我需要使用Azure SQL数据仓库构建数据仓库,该数据仓库来自单个Azure SQL数据库中的数据。看this article,似乎我有两个选择:
我的Azure SQL数据库已规范化,但我想以星型或雪花式架构格式构建我的Azure SQL数据仓库,因此它不是表的直接副本 - 肯定需要发生了一些转变。
鉴于SSIS在Azure SQL数据库上不受支持,并且要求我在其上运行带有SQL Server的VM以使我的进程完全保留在Azure中,Azure数据工厂是Azure SQL数据库之间ETL数据的推荐工具。 Azure SQL数据仓库?在这种情况下,一个选择与另一个选择是否会更加完整?
谢谢!
答案 0 :(得分:4)
如果您希望将流程完全保留在云中而不是启动虚拟机,那么Azure数据工厂目前是数据移动的最佳选择。但是,在这个时间点,我可能会建议采用ELT方法而不是ETL方法。通过先加载数据然后在SQL数据仓库中完成转换,您的加载速度会更快,并且在转换数据时您将能够利用额外的计算能力。此外,听起来您熟悉SQL,因此您可能更容易在SQL数据仓库内编写转换,而不是使用Data Factory' JSON。
答案 1 :(得分:0)
查看创建外部表(在DW中)指向Azure SQL数据库是否会帮助您。有了这个,您可能会发布一些Create Table As(CTAS)命令来将结构更改为星星/雪花。
来自https://msdn.microsoft.com/en-us/library/dn935022.aspx
--Create an external data source for a remote database on Azure SQL Database
CREATE EXTERNAL DATA SOURCE data_source_name
WITH (
TYPE = RDBMS,
LOCATION = '<server_name>.database.windows.net',
DATABASE_NAME = 'Remote_Database_Name',
CREDENTIAL = SQL_Credential
)
[;]