利用SSAS创建多维数据库时的问题总结及优化方案
我们知道,SSAS是SQL Server 2005数据库中的用于BI的组件,通过SSAS可以创建多维数据库,并在之上进行数据挖掘操作。本文我们就对SSAS工作时遇到的一些问题进行了总结,接下来我们就来一起了解一下这部分内容。
事实表dim_BasicProbe->维度dim_System->维度dim_SystemType 呈雪花型关联,但事实表dim_BasicProbe仍然与维度dim_SystemType直接关联,因为如果不直接关联要查某个系统类型的BasicProbe数据时,必须先查询出System,从而查询出BasicProbe,性能有所损耗。所以雪花型关联慎用。
数据仓库(sql server)中表之间没有外键关联,到设计ssas时才在数据源视图中设计外键关联,即在程序逻辑中控制。不管是不是BI,只要是大数据量的应用程序,都不会在存储方(如sqlserver)建立外键关联,因为如果在存储方设置外键,当数据量达到上百上千万时,性能相当低。
问题描述:为什么在一个事实表中,已经有os字段(非外键关联)用于描述操作系统,又要有osId字段(外键关联os维 度)?
答案:一般如果单单在SQLDB数据库里面查数据的,是尽量不要用关联查询的,关联查询太慢,如果在cube里面那倒没什么问。即是说os字段用于直接在SQLDB数据库里面查询数据库,为了提高性能直接放在事实表中,免去关联查询。而osId用于在cube中进行关联,体现多维。所以既要有os字段也要有osid字段。在接触的项目中,这种做法相当普遍。
优化小点:
数据存储时可以考虑适当的数据冗余,以减少数据库表之间的链接操作,提高查询效率。
不要在一句sql里再三地使用相同的函数,浪费资源,将函数结果放在变量里以便重复调用。
将量少的数据考虑放在程序中的常量或者xml文件中。
select的时候只返回需要的字段,而不是select *。
关于利用SSAS创建多维数据库、设计数据仓库以及性能优化方面的总结就介绍到这里了,希望本次的介绍能够对您有所收获!
【编辑推荐】
- SQL Server 2005数据库nolock使用详解
- SQL Server 2005无法连接到本地服务器的解决
- SQL Server如何查询当前服务器有多少连接请求
- SQL Server通过整理索引碎片和重建索引提高速度
- SQL Server 2008安装无法通过性能计数器一致性的解决
相关文章
- 从本体论开始说起——运营商关系图谱的构建及应用
- 如何成为一名数据科学家?
- 从未见过的堂兄杀了人,你的DNA是关键证据
- 20个安全可靠的免费数据源,各领域数据任你挑
- 20个安全可靠的免费数据源,各领域数据任你挑
- 阿里云李飞飞:All in Cloud时代,云原生数据库优势明显
- 基于Hadoop生态系统的一高性能数据存储格式CarbonData(性能篇)
- 大数据告诉你:10年漫威,到底有多少角色
- TigerGraph:实时图数据库助力金融风控升级
- Splunk利用Splunk Connected Experiences和Splunk Business Flow 扩大数据访问
- 大数据开发常见的9种数据分析手段
- 以免在景区看人,我爬了5W条全国景点门票数据...
- 【实战解析】基于HBase的大数据存储在京东的应用场景
- 数据科学家告诉你哪些计算机科学书籍是你应该看的
- Kafka作为大数据的核心技术,你了解多少?
- Spring Boot 整合 Redis 实现缓存操作
- 大数据学习必须掌握的五大核心技术有哪些?
- 基于Antlr在Apache Flink中实现监控规则DSL化的探索实践
- 甲骨文再次被Gartner评为分析型数据管理解决方案魔力象限领导者
- 爬取吴亦凡微博102118条转发数据,扒一扒流量的真假