
纬度数据库所描述的关系模式就是关系的描写关系模式,首先描绘与关系对应的两个维度的表结构,这些关系中都包含着一些属性,这些属性都来自于固定的领域,以及与域之间的映象关系。
关系是n个域的笛卡儿积的子集,组成关系的元组必须是笛卡儿积中使n目谓词为真的元组,所有有可能的关系必须满足非常完整并且基础的约束条件,而关系模式也要把这个约束条件描述出来。
在这其中关系模式和关系的区别就在于关系模式,主要就是描述一些数据结构的语句意思,而关系是一个数据的集合,是关系的值,是关系模式的一个关系实例。
数据库维度的基本概念:
1、多维数据集。多维数据集是联机分析处理(OLAP)中的主要对象,是一项可对数据仓库中的数据进行快速访问的技术。多维数据集是一个数据集合,通常从数据仓库的子集构造,并组织和汇总成一个由一组维度和度量值定义的多维结构。
2、xx(dimension)是多维数据集的结构性特性。它们是事实数据表中用来描述数据的分类的有组织层次结构(级别)。这些分类和级别描述了一些相似的成员集合,用户将基于这些成员集合进行分析。
3、度量值。在多维数据集中,度量值是一组值,这些值基于多维数据集的事实数据表中的一列,而且通常为数字。此外,度量值是所分析的多维数据集的中心值。
即,度量值是最终用户浏览多维数据集时重点查看的数字数据。您所选择的度量值取决于最终用户所请求的信息类型。一些常见的度量值有sales、cost、expenditures和productioncount等。
4、元数据。不同OLAP组件中的数据和应用程序的结构模型。元数据描述OLTP数据库中的表、数据仓库和数据集市中的多维数据集这类对象,还记录哪些应用程序引用不同的记录块。
5、级别。级别是维度层次结构的一个元素。级别描述了数据的层次结构,从数据的最高(汇总程度最大)级别直到最低(最详细)级别。
6、数据挖掘。数据挖掘使您得以定义包含分组和预测规则的模型,以便应用于关系数据库或多维OLAP数据集中的数据。之后,这些预测模型便可用于自动执行复杂的数据分析,以找出帮助识别新机会并选择有获胜把握的机会的趋势。
7、多维OLAP(MOLAP)。MOLAP存储模式使得分区的聚合和其源数据的复本以多维结构存储在分析服务器计算机上。根据分区聚合的百分比和设计,MOLAP存储模式为达到最快查询响应时间提供了潜在可能性。总而言之,MOLAP更加适合于频繁使用的多维数据集中的分区和对快速查询响应的需要。
8、关系OLAP(ROLAP)。ROLAP存储模式使得分区的聚合存储在关系数据库的表(在分区数据源中指定)中。但是,可为分区数据使用ROLAP存储模式,而不在关系数据库中创建聚合。
9、数据钻取。最终用户从常规多维数据集、虚拟多维数据集或连接多维数据集中选择单个单元,并从该单元的源数据中检索结果集以获得更详细的信息,这个 *** 作过程就是数据钻取。
10、数据挖掘模型。数据挖掘使您得以定义包含分组和预测规则的模型,以便应用于关系数据库或多维OLAP数据集中的数据。之后,这些预测模型便可用于自动执行复杂的数据分析,以找出帮助识别新机会并选择有获胜把握的机会的趋势。
举个简单例子:
就拿excel表格来说,作为单一的工作表,就包含二维(行和列),而一个excel文件,通常包含多个工作表,打开excel文件时,在下方显示的“sheet1、sheet2”这些工作表页列,就是第三维。
excel是最简单的数据库应用,一个xlsx文件只有三维,但你可以用若干个xlsx文件来组成一个项目,这些文件序列,你可以视为第四维。
然后,你还可以把一组组xlsx文件放在一个个目录中,那么这些目录序列,你可以视为第五维。
再往上,你还可以设置更上一级目录,那就是第六维……
反正在excel中,任何一个单元格,都可以调用存储在本地电脑(甚至是网络电脑)任何地方的、任何一个excel文件中的、任何一个工作表的、任何一个单元格内容,所以说,虽然是一大堆的文件,你也可以当做是一个数据库来处理,只是不那么方便。
……
在数据库中,单一的数据库就能包含很多很多维,你也可以把这些维,当做树状目录的结构来理解,也可以当做一堆堆的xlsx文件集合来理解。
磁盘的存储结构(不管是fat还是ntfs,还是linux或os或别的什么磁盘格式),都是一种大型的、多维的数据库,分区是一个维度,目录是一个维度,每一档下级目录又是一个维度。文件是一个维度,文件中的章节行段也是维度……
数学中的维度概念,和通常意义上的空间维度,是两回事。
空间维度可以用数学来解释,但数学维度,三维以上你就无法用空间来显示。
但在数据库中,三维只是基本 *** 作。
……
用excel来举例,已经是我能找到的最容易理解的方案。
我真正理解数据库维度时,是从数组开始的,当时使用一个很简陋的编程软件,他不提供数据库建立和访问,数组的维度也有限,还需要自己建立多维存储文件,并且只支持文本格式。
文本格式中,使用【】标记数组维度,【】中间的标识符可以自定义,通过各种不同的标识符来延伸维度……做着做着,我忽然间就领悟到什么叫数据库、什么叫维度,如果不考虑执行效率的话,用一个文本文件,就能模拟出一个硬盘来……
数据仓库,简称为DW(Data Warehouse的缩写),是一个很大的数据存储集合,通过对多样的业务数据进行筛选与整合,产出企业的分析性报告和各类报表,为企业的决策提供支持。数据仓库的输入方是各种各样的数据源,最终的输出用于企业的数据分析、数据挖掘、数据报表等方向。
多维数据库由一个基本维度(它表示没有应用任何读取端隐私策略的数据库)和许多用户维度(它们是数据库的转换副本)组成。
为了获得良好的查询性能,我们希望预先计算每个用户的Universe。如果我们天真地那样做,我们最终会有很多领域需要存储和维护,而存储需求本身将是令人望而却步的。
一个空间和计算效率高的多维数据库显然不能将所有用户维度全部实现,必须支持对用户维度的高性能增量更新。因此,它需要支持高性能更新的部分具体化视图。最近的研究提供了这个丢失的密钥原语。具体来说,可伸缩的并行流数据流计算系统现在支持部分有状态和动态变化的数据流。这些想法使得建立一个高效的多元维度数据库成为可能。
因此,我们将基础维度中的数据库表作为数据流的根顶点,并且随着基础维度的更新,记录将通过流移动到用户维度中。当数据流图中的边跨越通用边界时,将插入任何必要的数据流运算符以强制执行所需的隐私策略。所有适用的策略都应用于转换到给定用户群的每个边缘,因此无论数据通过哪个路径到达该边缘,我们都知道策略将被强制执行。
我们可以动态地构建数据流图,在第一次执行查询时为用户范围扩展流。通过在两个维度之间共享计算和缓存数据,可以减少基本更新所需的计算量。将其实现为一个联合的部分状态数据流是安全地执行此 *** 作的关键。
通过将所有用户的查询作为一个联合数据流进行推理,系统可以检测到这样的共享:当存在相同的数据流路径时,它们可以合并。
逻辑上不同但功能上等价的数据流顶点也可以共享一个公共的后备存储。在给定的维度中,任何到达这样一个顶点的记录都意味着维度可以访问它,因此系统可以安全地公开共享副本。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)