【DBMS 数据库管理系统】OLAP 核心技术 : 数据方体 ( 数据方体 | 数据方体格结构 | 数据单元 )

本文涉及的产品
云原生数据仓库AnalyticDB MySQL版,基础版 8ACU 100GB 1个月
简介: 【DBMS 数据库管理系统】OLAP 核心技术 : 数据方体 ( 数据方体 | 数据方体格结构 | 数据单元 )

文章目录

一、数据方体

二、数据方体 格结构 ( 参考 )

三、数据单元





一、数据方体


数据方体 简介 :


"数据方体" 概念 : 多维数据模型 构成的 多维数据空间 称为 “数据方体” ( Data Cube ) , 又称 数据立方体 , 超级立方体 , 多维超方体 ;


"数据方体" 组成 : 数据方体 由 多个 维 和 度量 组成 ;


"数据方体" 维数 : 二维 , 三维 的数据方体可以绘制出来 , 超过 3 33 维的数据方体无法绘制 , 但是实际上的数据方体可以是 4 44 维 , 5 55 维 , 甚至更多维 ;


"数据方体" 存储 : 数据方体可以 使用多维方式表示 , 也可以 使用任意方式存储 , 如传统的关系表 ;



数据从 二维表 转为 数据方体 , 也就是从 传统数据库 ( DB ) 转为 数据仓库 ( DW ) ;






二、数据方体 格结构 ( 参考 )


数据方体中存在两种表 : ① 维表 , ② 事实表 ;



数据方体 的 格结构 :


格结构概念 : 格结构是特殊的图 , 格结构中满足半序关系 ;

数据方体 : 数据方体可以表示成一种格结构 , 数据方体的存储 , 计算 , 查询 , 都要涉及到格结构 ;

表的转换 : 由 4 44 维表 , 可以计算各种 3 33 维表 , 由 3 33 维表 , 可以计算各种 2 22维表 , 由 2 22 维表可以计算 1 11 维表 ;


数据方体 格结构 示例 :


4 44 维表 : 以 4 44 维表为例 , 该表描述 商品 信息 , 表中有 4 44 个字段 , 如 时间 , 产品 , 位置 , 供应商 ;

3 33 维表 : 去掉上述 4 44 维表 中的某一维 , 得到 3 33 维视图 , 如 将 供应商 维度删除 , 得到 时间 , 产品 , 位置 三维表 ;

2 22 维表 : 从上述 3 33 维表中再去掉一维 , 得到 2 22 维表 , 如 将 位置 维度删除 , 得到 时间 , 产品 二维表 ;

1 11 维表 : 4 44 维表去掉 3 33 维 , 只留下 一维 , 如只留下 时间维度表 ;


格结构 上的操作 : ( 仅做参考 , 不严谨 )


实体化视图选择 : 给定一个 4 44 维表 , 将其中的某些视图 3 33 维表计算出来 , 选择 哪些维度节点 将其计算出来 , 称为实体化视图选择 ; 实体化是计算出来之后 , 将计算结果存储下来 ;


实体化视图计算 : 给定一个 4 44 维表 , 计算出 3 33 维表的过程 , 称为 实体化视图计算 ;


实体化视图更新 : 数据更新后 , 对应的实体化视图 , 也需要跟着更新 ;


数据方体计算 : 如果存储空间足够大 , 可以将所有的格结构都计算出来 , 这种计算称为 数据方体计算 ;






三、数据单元


数据单元 简介 :


数轴 : 数据方体 中 以 “维” 作为 数轴 ;


数据单元 概念 : 数据方体中 , 每个 “维” 上 都确定一个 “维成员” 时 , 就会唯一确定一个点 , 这个点成为 “数据单元” ( Cell ) ;


相关实践学习
AnalyticDB MySQL海量数据秒级分析体验
快速上手AnalyticDB MySQL,玩转SQL开发等功能!本教程介绍如何在AnalyticDB MySQL中,一键加载内置数据集,并基于自动生成的查询脚本,运行复杂查询语句,秒级生成查询结果。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
目录
相关文章
|
2天前
|
关系型数据库 分布式数据库 数据库
1月17日|阿里云云谷园区,PolarDB V2.0技术沙龙,畅聊国产数据库
为了助力国产化项目顺利推进,阿里云邀请企业开发者和数据库负责人到云谷园区,与PolarDB V2.0技术专家面对面交流。扫描海报二维码报名,我们将根据信息为您申请入园。欢迎参与,共同探讨PolarDB的最新技术和应用!
|
11天前
|
人工智能 物联网 大数据
解密时序数据库的未来:TDengine Open Day技术沙龙精彩回顾
在数字化时代,开源已成为推动技术创新和知识共享的核心力量,尤其在数据领域,开源技术的涌现不仅促进了行业的快速发展,也让更多的开发者和技术爱好者得以参与其中。随着物联网、工业互联网等技术的广泛应用,时序数据库的需求愈发强烈,开源的兴起更是为这一技术的创新与普及提供了强有力的支持。
23 3
|
22天前
|
存储 JSON NoSQL
学习 MongoDB:打开强大的数据库技术大门
MongoDB 是一个基于分布式文件存储的文档数据库,由 C++ 编写,旨在为 Web 应用提供可扩展的高性能数据存储解决方案。它与 MySQL 类似,但使用文档结构而非表结构。核心概念包括:数据库(Database)、集合(Collection)、文档(Document)和字段(Field)。MongoDB 使用 BSON 格式存储数据,支持多种数据类型,如字符串、整数、数组等,并通过二进制编码实现高效存储和传输。BSON 文档结构类似 JSON,但更紧凑,适合网络传输。
60 15
|
2月前
|
数据库连接 Go 数据库
Go语言中的错误注入与防御编程。错误注入通过模拟网络故障、数据库错误等,测试系统稳定性
本文探讨了Go语言中的错误注入与防御编程。错误注入通过模拟网络故障、数据库错误等,测试系统稳定性;防御编程则强调在编码时考虑各种错误情况,确保程序健壮性。文章详细介绍了这两种技术在Go语言中的实现方法及其重要性,旨在提升软件质量和可靠性。
43 1
|
2月前
|
SQL Java 数据库连接
在Java应用中,数据库访问常成为性能瓶颈。连接池技术通过预建立并复用数据库连接,有效减少连接开销,提升访问效率
在Java应用中,数据库访问常成为性能瓶颈。连接池技术通过预建立并复用数据库连接,有效减少连接开销,提升访问效率。本文介绍了连接池的工作原理、优势及实现方法,并提供了HikariCP的示例代码。
66 3
|
2月前
|
Java 数据库连接 数据库
深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能
在Java应用开发中,数据库操作常成为性能瓶颈。本文通过问题解答形式,深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能。文章介绍了连接池的优势、选择和使用方法,以及优化配置的技巧。
52 1
|
19天前
|
存储 Oracle 关系型数据库
数据库传奇:MySQL创世之父的两千金My、Maria
《数据库传奇:MySQL创世之父的两千金My、Maria》介绍了MySQL的发展历程及其分支MariaDB。MySQL由Michael Widenius等人于1994年创建,现归Oracle所有,广泛应用于阿里巴巴、腾讯等企业。2009年,Widenius因担心Oracle收购影响MySQL的开源性,创建了MariaDB,提供额外功能和改进。维基百科、Google等已逐步替换为MariaDB,以确保更好的性能和社区支持。掌握MariaDB作为备用方案,对未来发展至关重要。
45 3
|
19天前
|
安全 关系型数据库 MySQL
MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!
《MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!》介绍了MySQL中的三种关键日志:二进制日志(Binary Log)、重做日志(Redo Log)和撤销日志(Undo Log)。这些日志确保了数据库的ACID特性,即原子性、一致性、隔离性和持久性。Redo Log记录数据页的物理修改,保证事务持久性;Undo Log记录事务的逆操作,支持回滚和多版本并发控制(MVCC)。文章还详细对比了InnoDB和MyISAM存储引擎在事务支持、锁定机制、并发性等方面的差异,强调了InnoDB在高并发和事务处理中的优势。通过这些机制,MySQL能够在事务执行、崩溃和恢复过程中保持
47 3
|
19天前
|
SQL 关系型数据库 MySQL
数据库灾难应对:MySQL误删除数据的救赎之道,技巧get起来!之binlog
《数据库灾难应对:MySQL误删除数据的救赎之道,技巧get起来!之binlog》介绍了如何利用MySQL的二进制日志(Binlog)恢复误删除的数据。主要内容包括: 1. **启用二进制日志**:在`my.cnf`中配置`log-bin`并重启MySQL服务。 2. **查看二进制日志文件**:使用`SHOW VARIABLES LIKE 'log_%';`和`SHOW MASTER STATUS;`命令获取当前日志文件及位置。 3. **创建数据备份**:确保在恢复前已有备份,以防意外。 4. **导出二进制日志为SQL语句**:使用`mysqlbinlog`
63 2
|
1月前
|
关系型数据库 MySQL 数据库
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
211 15