尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

数据仓库:后台服务器就十几张表,为什么要建几十张表的数仓? - Binge

数据仓库:后台服务器就十几张表,为什么要建几十张表的数仓? - Binge
📅 发布时间:2026/6/20 21:13:39

引言

初学数据仓库时,心中多少会有一个困惑。那就是后台服务器也就十几张表,为什么使用分层架构+维度建模搭建数仓时就要创建几十张甚至上百张表?这就好比发面馒头,放到蒸笼一蒸,个头就变大了不少。

那数据仓库是不是把一个简单的问题搞得更复杂了呀?

呵呵,这正是数据仓库的分层架构+维度建模的核心价值所在。让我详细解释这个现象背后的原理。

数据仓库到底有何价值?

我们知道,企业耗费精力搭建数据仓库,目的是为公司的服务或产品做分析数据,最终为公司决策者提供更可靠的数据依据,这就是所谓的商业BI(商业智能)。现在都信息时代了,如果公司老板还在靠拍脑袋做决定,想一想就很不靠谱。

如果公司没有数据仓库,那是不是就不能做分析数据呀?当然不是。

人家有些小微公司,就靠一张 excel 表格就搞定了,照样做数据分析。当然,那是因为小微公司的服务或产品规模小,数据量也就很有限,excel 表格本身就自带很多数据分析功能,足够小公司使用了。

如果觉得 excel 表格分析能力有限,那么就可以使用 python 做数据分析。因为 python 有更强大的数据分析库,比如 numpy、pandas等。不过,这需要你得有一定的 python 编程能力,这对于普通人来说是有门槛的。

那公司大了,数据量也更大,excel 表格就已经容纳不下了,那就要用专门的后台数据库来装,比如 MySQL、Oracle、PostgreSQL。

我们知道,这些都是关系型数据库表,并且支持 SQL 语言,而 SQL 语句具有极强的查询能力,我们通过编写 SQL 语句就可以满足各种数据分析要求。

既然如此,那不就没数据仓库啥事了呀?别着急。

这里存在两个问题。

问题一:数据库不保存历史记录

也就是说,数据库里保存的数据永远是当前状态的数据。比如我修改一条数据库记录,那么它就会覆盖以前的记录。如果我想要查询修改前的记录,那肯定是查不到了。

而数据分析不仅要分析当前的数据,也要分析以前的数据。比如分析用户流失数,也就是之前活跃过的用户,最近一段时间未活跃。

问题二:随着数据量增大查询性能变差

一般表记录达到 2000 万行‌,当然,这个数字并非一个硬性规定,而是一个基于经验的性能拐点提示,全表扫描等操作的性能会显著下降。‌

而数据分析的需求中,有很多都需要做统计,需要全表扫描。如果表记录达到上亿,那数据分析的性能就会更差,耗时更久。

这两个问题对于企业来说,哪一个都是无法接受的。

随着大数据技术的兴起,分布式数据存储和并行计算,大大提升了数据存储和计算能力,为数据仓库提供了底层基座。

数据仓库的价值在于解决的数据库存在的两大问题。

OLTP 和 OLAP

难道数据库自身就无法解决这两大问题吗?是的。

因为 MySQL、Oracle、PostgreSQL 等数据库的设计并不是为数据分析而来,它们更在乎事务处理和数据一致性等,也就是所谓的 OLTP(联机事务处理),它更适合用于后台服务器的数据存储,以支撑业务交易。

而数据仓库的设计则是为数据分析而来,它能够存储海量的历史记录,支持复杂的聚合分析,数据分析性能更好,耗时更短,也就是所谓的 OLAP(联机分析处理)。

分层架构+维度模型

说了半天,似乎还是没有解释“后台服务器就十几张表,为什么要建几十张表的数仓?” 是的。

我们知道,数据仓库是为数据分析而生,它自然要解决数据库存在的两大问题。

那它是如何解决的呢?或者说,它解决问题的思路如何?

来看第一个问题,数据仓库必须可以保存历史记录。

这个问题比较好办。首先,数据仓库采用分布式存储,比如 HDFS 是分布式文件系统,HBase、MongeDB 等也是分布式数据库,支持横向扩展,只要增加服务器,理论上可以支持无限存储。接着,就可以通过datax、flume、sqoop等采集工具将数据采集到数据仓库中。数据采集分为全量同步和增量同步,全量同步就是把数据库中所有数据都采集,增量同步就只采集有变化的数据,这样数据仓库就可以保存历史记录了。

来看第二问题,数据仓库必须有更好的查询性能。

未完待续

作者:Binge
出处:http://www.cnblogs.com/binbingg/
本文版权归作者和博客园共有,转载必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。

相关新闻

  • 画图工具
  • Linux《Socket编程Tcp》 - 指南
  • 实用指南:深度学习:从零开始手搓一个浅层神经网络(Single Hidden Layer Neural Network)

最新新闻

  • 机器学习在弱引力透镜宇宙学中的应用:应对系统误差与分布偏移挑战
  • 2026安康防水补漏避坑指南:卫生间/厨房/阳台/屋顶/地下室漏水检测维修全攻略,正规施工+透明报价+口碑榜靠谱服务商推荐 - 安佳防水
  • 从灾难性遗忘到概念瓶颈:CI-CBM实现免示例增量学习
  • 基于SAM的地质图像多任务分割:Petro-SAM框架实践与优化
  • 无需训练!3分钟上手roop-unleashed:浏览器就能玩的AI换脸神器
  • 2026年当下西安加固源头公司业内推荐:恒大加固深度解析与选型指南 - 品牌鉴赏官2026

日新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号