数据仓库中的表(维度表或事实表)主键到底应该使用什么类型? 自增长int 还是直接用业务主键id?该怎么处理
发布时间:2010-05-24 21:28:22 文章来源:www.iduyao.cn 采编人员:星星草
数据仓库中的表(维度表或事实表)主键到底应该使用什么类型? 自增长int 还是直接用业务主键id?
在很多书籍中都讲到数据仓库的表的主键最好是自增长的int型,理由是当数据量很大的情况下,int比字符型的查询速度要快很多。
但是在实际项目中,真的是使用自增长的int型吗? 在我理解中,如果使用自增长的int型的话,存在以下问题:
1、当某个维度表需要重新抽取的时候(即删除该维度表所有数据),如果源数据库中少了一条维度记录的话,则在事实表中引用原先该维度记录的key会找不到。
使用自增长的int型作为维度表和事实表的主键的话,还会存在哪些弊端??
在数据仓库表的主键类型上,你们有什么看法??
------解决方案--------------------
用代理键还是用用业务上的键这个也不是一定的,也要是考虑多方面因素的
如业务系统比较规范,变动也极小的情况下,而且etl过程中也不会涉及到多系统之间的标准化过程,则直接使用业务键较好
另外,使用代理键也并不是简单的用序列,代理键的规则选不好的话,ETL的转换量都可能会增多不少
------解决方案--------------------
------解决方案--------------------
这个和规划方案有关,如果需求中明确要分析历史变化,那么代理键的时候就是必须的,那么自增长的int/number型就是必须的。如果没这明确需求,或者近期没必要,那么可暂时直接用业务主键。
楼主列举的案例,首先全部重新刷新维的情况,无论是否删除数据,对于整个数据质量体系都是有较大影响,一般不允许随便出现,除非主数据等外因的条件改变。如果一旦出现这样的需求,那么需要一次性对所有相关的事实表进行数据重新刷新,以保证数据质量,同时需要回归测试,代价较大。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
PowerDesigner15少了四个菜单
我新安装的PowerDesigner15没有Model,Symbol,Database,Report这几个菜单,什么原因呢
------解决方...
-
数据仓库 元数据管理问题
刚刚接触数据数据仓库
对于元数据管理 我不知道怎么弄 ?
有哪位会的 帮帮忙啊
我有的是Sybase 创建...
-
Unix文件和Dos格式文件向数据库导数的问题?!请高手解答
我最近遇到的问题是这样的,我在AIX服务器下向greenplum数据库导数的时候,文本...
-
在线紧急求助,公司系统崩溃,重装系统,怎么样使用原来的数据库!
由于公司系统崩溃,重装系统了。
以前的系统装在D盘,sql2000也装在D盘
现...
-
数据量达到10亿以上的时候,BI怎么办?
公司的oracle,数据库做BI,现在的问题是数据量非常大,250G以上,数据量10亿以上。
每天晚上跑ETL和...
-
数据库 开发 资料 !
大家手头上的数据库开发的资料拿出来共享了!
大家如果 有感觉不错的 数据库开发资料都可以贴上,下载、参阅网址...
-
高分求解有关数据建模方面的问题,进来看看也有分!
什么是数据建模,为什么要进行数据建模,有什么好处,数据挖掘和数据建模之间的关系,我...
-
公司要上BI项目,我负责做一个原型prototype。看了一下csdn版
深深感到国内IT行业真是悲剧啊。
------解决方案------------------...
-
‘数据仓库’初学着请指导!
毕业将近 5 年多少时间再搞软件开发,在此过程中接触过 Oracle 、sql server!
现在学习 数据仓库、BI、E...
-
部署项目:SQL SERVER 2005 Analysis Service ??
部署项目:SQL SERVER 2005 Analysis Service
我在本机的数据库服务器上部署后可运...