首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微博
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com ToB IT社区-企服评测·应用市场
»
论坛
›
数据库
›
Oracle
›
数据堆栈筹划中宽表和窄表是什么意思? ...
返回列表
发新帖
数据堆栈筹划中宽表和窄表是什么意思?
[复制链接]
发表于 2025-12-2 10:51:43
|
显示全部楼层
|
阅读模式
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
在数据堆栈筹划中,“宽表”和“窄表”(数表)是两种常见的筹划方式,每种方式在差异场景下有差异的优缺点和实用场景。以下是详细剖析,以及针对你需求的保举方案:
宽表和窄表的概念
宽表(横表)
将多种指标和维度都
存储
在一张表里,字段许多,行数相对较少。
特点:
每条记载包罗全部维度和指标,镌汰了查询时的关联利用。
存储
冗余较高,占用更多
存储
空间。
实用场景
:
查询
性能
要求高,重要以读取为主。
OLAP(在线分析处置处罚)场景,用于直接展示和分析(如报表或看板)。
不常变动的汗青性数据汇总。
示例:
日期 | 订单ID | 门店ID | 品牌ID | 支付金额 | 优惠金额 | 退款金额 | ...
2024-12-19 | 12345 | 1001 | 2001 | 100.0 | 20.0 | 5.0 | ...
2024-12-19 | 12346 | 1002 | 2002 | 150.0 | 30.0 | 0.0 | ...
复制
代码
窄表(竖表/数表)
将数据以“指标范例”为行的方式存储,每种范例单独成行,字段较少但行数较多。
特点:
更机动,便于扩展(新增指标时不必要修改表布局)。
存储服从较高,但查询时必要多次聚合或关联。
实用场景
:
数据收罗或存储层,用于机动扩展和高效存储。
必要动态增长指标、范例较多的场景。
得当 OLTP(在线事故处置处罚)场景。
示例:
日期 | 订单ID | 门店ID | 品牌ID | 指标类型 | 指标值
2024-12-19 | 12345 | 1001 | 2001 | 支付金额 | 100.0
2024-12-19 | 12345 | 1001 | 2001 | 优惠金额 | 20.0
2024-12-19 | 12345 | 1001 | 2001 | 退款金额 | 5.0
复制
代码
需求分析
必要按
日期、订单、门店、品牌维度
,清算出
付出单、优惠单、退款单
,并天生
小时级的付出、退款、优惠和应收表
。以下是保举方案的详细分析:
需求特点
:
维度固定
:
日期、订单、门店、品牌。
指标种类有限
:
付出金额、优惠金额、退款金额、应收金额等。
查询粒度较高
:
按小时级别,针对固定维度和指标举行查询分析。
聚合频仍
:
必要快速天生报表或看板,查询
性能
要求较高。
保举使用宽表
来由
:
查询
性能
更优
:
宽表中指标是直接列存储,不必要在查询时举行多表关联或动态聚合。
聚合查询(如小时级汇总)速率快,得当报表或实时看板场景。
数据量相对可控
:
维度(日期、订单、门店、品牌)和指标(付出金额、优惠金额、退款金额)相对固定,宽表不会显着增长存储本钱。
得当业务逻辑清楚的场景
:
你的指标和维度是清楚且固定的,不必要机动扩展额外指标。
报表筹划的最佳实践
:
宽表是一种典范的 OLAP 模式,镌汰了查询时复杂的运算和关联。
宽表筹划示例:
日期 | 小时 | 订单ID | 门店ID | 品牌ID | 支付金额 | 优惠金额 | 退款金额 | 应收金额
2024-12-19 | 10:00 | 12345 | 1001 | 2001 | 100.0 | 20.0 | 5.0 | 75.0
2024-12-19 | 11:00 | 12346 | 1002 | 2002 | 150.0 | 30.0 | 0.0 | 120.0
复制
代码
何时使用窄表?
窄表实用于以了局景:
指标种类动态增长
:
如果未来大概频仍增长新的指标(如其他金额范例)。
必要存储更大数据量
:
如果必要支持的维度或数据量特殊大,窄表存储服从更高。
窄表现例:
日期 | 小时 | 订单ID | 门店ID | 品牌ID | 指标类型 | 指标值
2024-12-19 | 10:00 | 12345 | 1001 | 2001 | 支付金额 | 100.0
2024-12-19 | 10:00 | 12345 | 1001 | 2001 | 优惠金额 | 20.0
2024-12-19 | 10:00 | 12345 | 1001 | 2001 | 退款金额 | 5.0
2024-12-19 | 11:00 | 12346 | 1002 | 2002 | 支付金额 | 150.0
复制代码
实现发起
选择宽表实现
:
创建一张宽表,每小时对付出单、优惠单、退款单的数据举行
ETL
清算,汇总后存储。
定期清算汗青数据,制止宽表过大。
保存窄表原始数据(可选)
:
如果后续需求大概变动,可保存窄表作为存储层,用于天生宽表时的增补数据源。
总结
保举使用宽表
:满足当前高性能分析和固定维度的需求。
宽表长处
:查询服从高、布局清楚,得当固定维度的报表天生。
窄表实用场景
:必要机动扩展的场景,但查询性能相对较低。
回复
使用道具
举报
返回列表
浏览过的版块
.Net
SQL-Server
运维.售后
SAP
人工智能
数据仓库与分析
DevOps与敏捷开发
物联网
分布式数据库
莫张周刘王
+ 我要发帖
登录后关闭弹窗
登录参与点评抽奖 加入IT实名职场社区
去登录
微信订阅号
微信服务号
微信客服(加群)
H5
小程序
快速回复
返回顶部
返回列表