当前位置:首页 » 数据仓库 » 多维表格数据库设计
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

多维表格数据库设计

发布时间: 2022-07-02 17:26:55

‘壹’ sqlServer里“多维和数据挖掘模式”和“表格模式”到底是什么意思

表格、 多维和数据挖掘是SQLServerAnalysis Services 提供用于创建商业智能语义模型的两种方法,还有一种方法是Power Pivot for SharePoint。

可以使用多种方法来实现针对不同业务和用户需求量身定制的建模体验。“多维”是建立在开放标准基础之上的成熟技术,已由 BI 软件的众多供应商采用,但难以驾驭。“表格”提供一种关系建模方法,很多开发人员认为它更加直观。

所有模型将部署为在 Analysis Services 实例上运行的数据库,可以使用一套数据提供程序通过客户端工具来访问,并通过 Excel、Reporting Services、Power BI 和其他供应商的 BI 工具在交互式静态报告中可视化。

表格和多维解决方案使用 SSDT 构建,旨在用于在独立上运行的公司 BI 项目Analysis Services实例在本地和表格模型中,Azure Analysis Services中的服务器云。这两个解决方案将生成可与 BI 客户端轻松集成的高性能分析数据库。然而,每个解决方案在创建、使用和部署方式上都存在不同。本主题的大部分内容比较了这两种类型,以方便你找到适当的方法。

‘贰’ 多维数据库是什么

多维数据库(Multi Dimensional Database,MDD)可以简单地理解为:将数据存放在一个n维数组中,而不是像关系数据库那样以记录的形式存放。因此它存在大量稀疏矩阵,人们可以通过多维视图来观察数据。多维数据库增加了一个时间维,与关系数据库相比,它的优势在于可以提高数据处理速度,加快反应时间,提高查询效率。
目前有两种MDD 的OLAP产品:基于多维数据库的MOLAP和基于关系数据库的ROLAP。ROLAP建立了一种新的体系,即星型结构。
MDD并没有公认的多维模型,也没有像关系模型那样标准地取得数据的方法(如SQL、API等)。基于MDD的OLAP产品,依据决策支持的内容使用范围也有很大的不同。
在低端,用户使用基于单用户或小型LAN的工具来观察多维数据。这些工具的功能性和实用性可能相当不错,但由于受到规模的限制,它们不具备OLAP的所有特性。这些工具使用超立方结构,将模型限制在n维形态。当模型足够大且稀疏数据没有控制好时,这种模型将会不堪一击。这些工具使用数据库的大小是以MB来计量的,而不是以GB计量的,因此只能进行只读操作,且具备有限的复杂计算。
在高端,OLAP工具用4GL提供了完善的开发环境、统计分析、时间序列分析、财政报告、用户接口、多层体系结构、图表等许多其他功能。尽管不同的OLAP工具都使用了它们自己的多维数据库,但它们在不同程度上也利用了关系数据库作为存储媒体。因为关系数据库和OLAP工具同时在高端服务器上处理,所以速度和效率仍然很快。
纯多维数据库引擎也被开发出来。尽管这些工具缺乏4GL及充分的开发环境,但却有比高端MDD工具所使用的数据库更为复杂的数据库。这些工具也具有统计分析、财务分析和时间序列分析等功能,并有自己的API,允许其对前端的开发环境开放。
MDD能提供优良的查询性能。存储在MDD中的信息比在关系数据库中的信息具有更详细的索引,可以常驻内存。MDD的信息是以数组形式存放的,所以它可以在不影响索引的情况下更新数据。因此MDD非常适合于读写应用。

‘叁’ SQL Server 2008 在多维数据库方面有哪些功能上的改进

1、聚合设计方面的改进:
• 新的聚合设计器。新的聚合设计器更便于浏览和修改聚合设计。现在,聚合设计在显示时按度量值组分组。现在,为高级用户提供了一个用来进行手动聚合设计的新视图。
• 经过简化和增强的聚合设计和基于用法的优化向导。使用这些经过更新的向导,您可以一次修改一个或多个分区中聚合的存储设置并且更方便地设置聚合用法设置。基于用法的优化向导现在还允许您将新聚合追加到现有聚合。
• 新的 AMO 警告。当用户偏离聚合设计最佳实践时,会以这些新的警告消息向用户发出警报。
2、多维数据集方面的改进:
多维数据集向导已经得以简化和增强。这些改进可帮助您用更少的步骤创建更好的多维数据集。
3、维度设计方面的改进:
• 新的属性关系设计器。该维度编辑器具有新的属性关系设计器,这个新设计器更便于浏览和修改属性关系。
• 新的 AMO 警告。当用户偏离设计最佳实践或在数据库设计中出现逻辑错误时,会以这些新的警告消息向用户发出警报。
• 经过简化和增强的维度向导。这个最新版本的向导可自动检测父子层次结构,提供更安全的默认错误配置,并支持成员属性的规范。
• 新的“键列”对话框。使用这个新的对话框,可以更轻松地编辑键列。
• “属性”面板中的键列支持。现在,可以在“属性”面板中编辑键列。
• 经过更新的“维度结构”选项卡。此选项卡现在可用于新的属性关系设计器,并且更加易于使用,从而可以更方便地修改属性和层次结构
4、Analysis Services 中的备份和还原功能上的改进
Analysis Services 中的备份和还原功能具有新的存储结构,所有备份和还原方案的性能都有所改善。
5、改进的存储结构
新的存储结构为存档的数据库提供更可靠的存储库。使用新的存储结构,对数据库文件的大小将不存在实际限制,对数据库所能存储的文件数量也没有限制。
6、改进的性能
新的备份和还原功能使性能得到了改进。对不同大小的数据库以及各种数量的文件的测试表明,性能有了显着的提高。若要获取特定需求下的实际值,建议您针对自己的数据库执行测试。
7、Analysis Services 个性化扩展性方面的改进
使用 Analysis Services 个性化扩展,开发人员可以创建新的 Analysis Services 对象和功能,并在用户会话的上下文中动态提供这些对象和功能。开发人员无需创建有关查找该扩展功能的地点或方式的详细规范。相反,开发人员可以立即与最终用户和其他开发人员共享这些新的对象和功能。

8、新示例位置的改进
联机丛书不再提供 SQL Server 示例数据库和示例应用程序。这些示例数据库和示例应用程序现在位于 SQL Server Samples(SQL Server 示例)网站上。该网站便于用户查找这些示例,还提供了与 Microsoft SQL Server 和商业智能相关的其他新示例。在 SQL Server 示例网站上,您可以执行下列操作:
• 浏览由开发人员、用户和 Microsoft 最有价值专家 (MVP) 社区提供的示例。
• 下载示例数据库和代码项目。
查看或参与讨论区,您可以在讨论区报告和询问与各技术领域的示例相关的问题。

‘肆’ 杀神求教mysql数据库多维表设计思路

把它解释的通俗化你应该就会了:
a、b、c、d。。。理解为各个学生(有性别,班级等属性)
A、B、C、D。。。理解为各门选修课程(有学分,任课教师等属性)
一共三个表
表1:a、b、c、d。。。每个一行,a、b、c、d。。。作主键
表2:A、B、C、D。。。每个一行,A、B、C、D。。。作主键
表3:学生跟课程混编(以学生+课程 共同决定成绩等属性),a、b、c和A、B、C均不能作主键或UNQUE键

‘伍’ Hyperion essbase入门(二)什么是essbase

(大意是你可以把essabase想象成多张叠起来的excel表格,不仅仅在单张excel上可以进行表格之间的各种运算,在多张excel表格之间也可以做各种累计运算!) 这个大概是为什么essbase能够和excel工具深度集成的原因,因为essbase很多设计都是来源于excel等工具对于分析的限制和不足。但是excel不失为essbase的一个非常友好的前端,对于非常习惯使用Excel工具的业务人员,他们可以非常容易地使用和分析essbase里的数据,Oracle里关于Essbase卖点的一个经常使用的场景是:当业务人员把数据放在多种表格的时候,到了最后他都不知道哪张表格的数据是最新的,而如果把所有的数据都放在essbase里的时候,你可以轻易地得到最新的数据并且分析数据和数据之间的关系。 和传统的oltp类型的数据库不一样,oltp用实体和关系来描述对象,而多维数据库,则使用度量和维度来描述对象。在做多维设计的时候,其实就是考虑关于度量和维度的设计,比如销售额就是一个典型的度量,而销售地区就是一个典型的维度,但是在essbase里,度量也是一种特殊的维度,叫account维度,这个是和有些OLAP服务器概念上有所区别的,这样的定义方式能够很方便地使用维度的操作方式访问度量,而且应该说在MDX这种标准多维查询语言里,度量和维度的确没有本质的区分。
Essbase的一般设计对于MOLAP数据库一个通常的观念是MOLAP不能存储很大的数据量,当essbase以BSO(块存储)来存储多维数据的时候(传统方式),则称之为Essbase Analytic mole,这种传统方式对于维度数据非常多,数据量非常庞大的时候的处理性能一般,这个也是造成许多人认为MOLAP多维数据库不适合分析非常大量的数据的方式的缘由,但是BSO存储方式能够更好地支持大量回写的应用,如what-if分析,并且能够提供更好的分析功能。
当数据量很大或者多于10个维度的时候,essbase建议使用ASO聚合存储方式来压缩存储的数据(据说性能在这种方式下能够快几十倍,而存储量能减少几十倍),使用这种存储方式就称之为Enterprise Analytic Mole,从而提供了修正这种MOLAP大数据量限制的很好的方式。这种存储方式用于分析维度数量比较多,同时并非每个维度的数据都很稠密的时候是性能会非常好,可以处理大量的数据,这两种不同的存储,对于上层应用透明,在同一个应用里可以混合使用。
多维数据库的设计(维度和度量)在essbase里称之为outline,以.otl的后缀存储,一个典型的多维数据库设计过程是包括:先需要通过admin console创建一个outline。
(其实essbase提供了非常丰富的api接口,也可以使用api来创建和修改outline) 在outline里定义维度和层次和累计方式,然后就是通过admin console编辑数据加载规则来把外部数据按照设计好的outline加载到essbase数据库里。
加载规则基本上有三种方式:
一是通过文本文件加载。二是通过Open sql的方式从ODBC数据源加载。最后一种是使用ETL工具进行加载。 然后使用计算脚本计算生成立方体里的其他所需要的数据,就可以通过excel或者BI工具来访问和分析多维数据库里的数据了。

‘陆’ 如何从数据库中导出多维表

关系型数据库中不支持多维表结构,你说的结果从传统的关系型数据库中实现不了。
但是oracle10g可是使用面向对象的定义实现你说的目的,实现方法很麻烦,你上网上查查,时间有限就不跟你说了。
希望对你能有点启发。

‘柒’ 为了便于多维分析,在设计数据仓库时要考虑哪些问题

由于数据库通常用于操作型系统管理数据,是面向某个具体应用的,所以现在的数据库设计大多采用以关系数据模型为主的设计方法,以保证数据的原子性、一致性,消除数据冗余。常常先通过对需要处理的数据进行详细分析后建立ER模型(实体-联系模型)

‘捌’ 数据仓库和多维数据库的区别在哪里

简而言之,数据库是面向事务的设计,数据仓库是面向主题设计的。

数据库一般存储在线交易数据,数据仓库存储的一般是历史数据。

数据库设计是尽量避免冗余,一般采用符合范式的规则来设计,数据仓库在设计是有意引入冗余,采用反范式的方式来设计。

数据库是为捕获数据而设计,数据仓库是为分析数据而设计,它的两个基本的元素是维表和事实表。维是看问题的角度,比如时间,部门,维表放的就是这些东西的定义,事实表里放着要查询的数据,同时有维的ID。

单从概念上讲,有些晦涩。任何技术都是为应用服务的,结合应用可以很容易地理解。以银行业务为例。数据库是事务系统的数据平台,客户在银行做的每笔交易都会写入数据库,被记录下来,这里,可以简单地理解为用数据库记帐。数据仓库是分析系统的数据平台,它从事务系统获取数据,并做汇总、加工,为决策者提供决策的依据。比如,某银行某分行一个月发生多少交易,该分行当前存款余额是多少。如果存款又多,消费交易又多,那么该地区就有必要设立ATM了。

显然,银行的交易量是巨大的,通常以百万甚至千万次来计算。事务系统是实时的,这就要求时效性,客户存一笔钱需要几十秒是无法忍受的,这就要求数据库只能存储很短一段时间的数据。而分析系统是事后的,它要提供关注时间段内所有的有效数据。这些数据是海量的,汇总计算起来也要慢一些,但是,只要能够提供有效的分析数据就达到目的了。

数据仓库,是在数据库已经大量存在的情况下,为了进一步挖掘数据资源、为了决策需要而产生的,它决不是所谓的“大型数据库”。那么,数据仓库与传统数据库比较,有哪些不同呢?让我们先看看W.H.Inmon关于数据仓库的定义:面向主题的、集成的、与时间相关且不可修改的数据集合。

“面向主题的”:传统数据库主要是为应用程序进行数据处理,未必按照同一主题存储数据;数据仓库侧重于数据分析工作,是按照主题存储的。这一点,类似于传统农贸市场与超市的区别—市场里面,白菜、萝卜、香菜会在一个摊位上,如果它们是一个小贩卖的;而超市里,白菜、萝卜、香菜则各自一块。也就是说,市场里的菜(数据)是按照小贩(应用程序)归堆(存储)的,超市里面则是按照菜的类型(同主题)归堆的。

“与时间相关”:数据库保存信息的时候,并不强调一定有时间信息。数据仓库则不同,出于决策的需要,数据仓库中的数据都要标明时间属性。决策中,时间属性很重要。同样都是累计购买过九车产品的顾客,一位是最近三个月购买九车,一位是最近一年从未买过,这对于决策者意义是不同的。

“不可修改”:数据仓库中的数据并不是最新的,而是来源于其它数据源。数据仓库反映的是历史信息,并不是很多数据库处理的那种日常事务数据(有的数据库例如电信计费数据库甚至处理实时信息)。因此,数据仓库中的数据是极少或根本不修改的;当然,向数据仓库添加数据是允许的。

数据仓库的出现,并不是要取代数据库。目前,大部分数据仓库还是用关系数据库管理系统来管理的。可以说,数据库、数据仓库相辅相成、各有千秋。

补充一下,数据仓库的方案建设的目的,是为前端查询和分析作为基础,由于有较大的冗余,所以需要的存储也较大。为了更好地为前端应用服务,数据仓库必须有如下几点优点,否则是失败的数据仓库方案。

1.效率足够高。客户要求的分析数据一般分为日、周、月、季、年等,可以看出,日为周期的数据要求的效率最高,要求24小时甚至12小时内,客户能看到昨天的数据分析。由于有的企业每日的数据量很大,设计不好的数据仓库经常会出问题,延迟1-3日才能给出数据,显然不行的。

2.数据质量。客户要看各种信息,肯定要准确的数据,但由于数据仓库流程至少分为3步,2次ETL,复杂的架构会更多层次,那么由于数据源有脏数据或者代码不严谨,都可以导致数据失真,客户看到错误的信息就可能导致分析出错误的决策,造成损失,而不是效益。

3.扩展性。之所以有的大型数据仓库系统架构设计复杂,是因为考虑到了未来3-5年的扩展性,这样的话,客户不用太快花钱去重建数据仓库系统,就能很稳定运行。主要体现在数据建模的合理性,数据仓库方案中多出一些中间层,使海量数据流有足够的缓冲,不至于数据量大很多,就运行不起来了。

‘玖’ 数据库中数据写入多维数组,如何实现

往数据库中写入多维数组?实际上还是字符串的操作,我的做法是:将多位数组格式化为json字符串,当字符串保存在某列的某字段。或者将多维数组放到一个表中的多条记录中。