很多公司流行使用数据仓库进行数据分析,一般从线上数据源备库(mirror,logshipping,slave等)抽取到ods 层,在从ods层到dw再到dm.特别在ods层到dw时,数据的清洗装载需要一定的时间和硬件资源。但是当硬件成为瓶颈时,怎么能快速完成清洗转载,及时的提供数据分析?下面提供一种方法使用Ssis 加载到 ods层后,直接通过分区表把数据加载到数据仓库。
1 准备
/*create filegroup*/
ALTER DATABASE [testxwj] ADD FILEGROUP [account_1]
go
ALTER DATABASE [testxwj] ADD FILEGROUP [account_2]
go
ALTER DATABASE [testxwj] ADD FILEGROUP [account_3]
/*create file to filegroup*/
ALTER DATABASE [testxwj] ADD FILE ( NAME = N’account_1′, FILENAME = N’E:account_1.ndf’ , SIZE = 409600KB , FILEGROWTH = 20480KB ) TO FILEGROUP [account_1]
GO
ALTER DATABASE [testxwj] ADD FILE ( NAME = N’account_2′, FILENAME = N’E:account_2.ndf’ , SIZE = 409600KB , FILEGROWTH = 20480KB ) TO FILEGROUP [account_2]
GO
ALTER DATABASE [testxwj] ADD FILE ( NAME = N’account_3′, FILENAME = N’E:account_3.ndf’ , SIZE = 409600KB , FILEGROWTH = 20480KB ) TO FILEGROUP [account_3]
GO
2 使用ssis copy table
1 sp_spaceused accountdetail;
/* delete EarnTime is not null*/ /*23 sec*/ delete from accountdetail where EarnTime is null /*26 sec*/ delete from accountdetail where isnull(CommitStatus,0)<1 /*12 sec*/ delete from accountdetail where isnull(EarnStatus,0) =0 |
对传输过来的表进行分区
/*create partition function*/
declare @bdate char(8),@edate varchar(8),@sql varchar(500)
select
@bdate=convert(char(8),GETDATE()-1 ,112)
,@edate=convert(char(8),GETDATE() ,112)
select @bdate,@edate;
set @sql=’
CREATE PARTITION FUNCTION ac_EarnTime (datetime)
AS
RANGE RIGHT FOR VALUES ( ”’+@bdate+”’ ,”’+@edate+”’)’
execute(@sql)
/*create partition schema*/
CREATE PARTITION SCHEME ac_schema_ac_EarnTime
AS PARTITION ac_EarnTime TO (account_1,account_2,account_3);
/*create partition table */
alter table accountdetail
alter column EarnTime datetime not null;
alter TABLE accountdetail
add CONSTRAINT [PK_PARTITIONmis] PRIMARY KEY
( id,EarnTime
)ON ac_schema_ac_EarnTime(EarnTime)
把分区partition 2指向给 dw 值得注意的是 accountdetail_dw 必须跟partition 2 分区所在同一个文件组
/*switch accountdetail to accountdetail_dwl*/
ALTER TABLE accountdetail SWITCH PARTITION 2 TO accountdetail_dw ;
/**/
整个过程在 5分钟内.数据仓库最重要的还在当初的设计和选型.
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
作者
相关推荐
-
超越RDBMS:数据仓库与数据湖、数据集市
现在企业从各种来源收集的大量数据已经远远超出传统关系学数据库可处理的范畴。这引发数据仓库与数据湖的问题:何时使 […]
-
对SAP HANA数据库涉嫌知识产权盗窃的指控存疑
Enterprise Applications Consultin公司负责人Joshua Greenbaum表 […]
-
数据货币将决定企业成败
在2017年3月McKinsey公司对500多名高管的调查显示,越来越多的企业使用数据和分析来推动增长,但目前 […]
-
SQL Server 2016实时操作分析 你值得拥有
分析有助于提高商业运营的效率,SQL Server 2016允许用户在事务数据库的操作型数据上完成实时分析。