`
stlin
  • 浏览: 18334 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

关于什么是数据仓库的一次对话

    博客分类:
  • bi
阅读更多
前几天一个开发同事见我桌面上有一本书<数据仓库>,问我什么是数据仓库,因为他算是外行,于是发生一次有意思的对话,现在想起来,也挺有意思的.
问:数据仓库有什么特别的地方?
答:没什么特别,跟普通关系数据库没什么两样.
问:啊,那有什么特别?
答:数据仓库本身物理上也是关系数据库,只是数据仓库系统是一个体系,一个过程.数据仓库技术要解决的问题是如何建立,管理,维护运行一个数据仓库.
问:数据仓库跟普通数据库存储的数据不一样?
答:数据仓库面向分析,普通业务数据库面向交易,我们公司产品就是业务数据库.面向分析的数据库重点在查询,业务数据库重点在修改更新.
问:数据仓库就是把业务数据库的数据抽出来建立新的数据库,专门供分析查询用?
答:可以这么说,不过不是简单的抽取,因为两者的应用不同,所依赖的数据模型不同,数据仓库主要采用多维模型,而业务数据库采用关系模型。所以,抽取的过程是一次模型的转换,从关系模型转换为多维模型,这个过程业界成为ETL,除了转换外,还要考虑数据集成,清洗等。
问:可是你不是说数据仓库物理上也是关系模型,怎么表示多维模型?
答:业界用称为星型结构的多个表来表示多维模型,多个维表围绕在事实表转,其中事实表表示数据,维表表示维度。多维模型也成Cube,立方体,边是维度,格子是发生数据。
问:那OLAP是什么,数据仓库不就是OLAP吗?
答:OLAP是联机分析处理的意思,OLAP是一本技术,它的产品分为服务器和前端产品,OLAP服务器也叫做多维数据库,数据仓库跟OLAP的关系,就像父亲和孩子的关系,广义的数据仓库包含OLAP,有些产商把两者混起来。但是,实际上数据仓库可以脱离OLAP存在,不供OLAP使用。这个比较复杂,很难一下说清楚。
问: 再说说嘛。
答: 其实,OLAP技术是数据仓库的一种应用,OLAP一般基于数据仓库,也就是说,OLAP服务器中的多维数据,也是从数据仓库中来的。OLAP一般位为数据仓库之上,olap的作用是为前端报表或控件提供直观的易于分析的多维数据,是数据与信息之间的一种桥梁。
问: OLAP还是挺神奇的,它到底能干什么?
答: OLAP技术其实定义了一些逻辑模型,包括结构模型和行为模型,结构模型即维度、Cube模型,把现实的数据以多维的形式来表达,有利于分析。为什么有利于分析呢,行为模型就是定义在结构模型之上的分析行为,包括维度自由组合、旋转、钻取等等,而这些行为是比较直观的,符合人脑的思维习惯。
问: 等等,钻取是什么,好像很熟,是数据挖掘吗?
答: 晕,数据挖掘跟这不搭边的,等下再说。钻取是从高粒度的数据钻到低粒度的数据中,比如从广东省的汇总数据钻到各个城市的数据。这在以前的报表工具中是很难实现的。
问: 怎么做到钻取?
答: 其实,维度不是线性的,而是一颗树,术语叫“带有层级关系的维度”,这个层级关系就定义了父子关系,钻取路径。
问: 哦,还是晕,那我们自己的OLAP工具在做什么。
答: 我们自己的OLAP工具有别于国外产商,我们没有存储,也就是没有OLAP服务器的概念。我们有OLAP前端和OLAP服务引擎,服务引擎直接从业务数据库或者数据仓库中抽取数据生成Cube模型的数据,OLAP前端组件比如表格和图形,将Cube模型的数据表现出来,并提供分析功能。也就是说,我们的OLAP定义了一套OLAP模型,就是上面说的结构模型和行为模型,服务引擎负责把关系模型的数据转换为多维模型,并提供了OLAP分析行为借口,前端能够识别这个OLAP模型。其实,OLAP技术只是定义了一些模型,并未定义如何实现,每个专业产商都有自己的实现和理念。有些产商的产品根本就没有OLAP产品,它也能实现OLAP分析功能。
问: 哦,听起来挺不错的,有空研究研究。
答: 千万别,不懂更好:)

后记: 过了一会儿,我听到他跟他们项目经理说:“他们组做了一个3D引擎,能够将数据库数据变成3D图形”,吐血。
1
1
分享到:
评论

相关推荐

    数据仓库与业务系统的互动

    数据仓库与业务系统的互动,是现代企业信息化进程中不可或缺的一环,尤其在中国证券登记结算有限责任公司(简称“中国结算”)的实践中,这一点表现得尤为突出。本文将详细解析数据仓库与业务系统的互动机制,以及其...

    中文对话数据集百万集

    【描述】中提到的"https://gitee.com/chenyang918/chinese_chatbot_corpus"是一个公开的代码仓库,用户可以通过这个链接获取到这个中文对话数据集。Gitee 是一个类似于GitHub的代码托管平台,提供版本控制和协作功能...

    数据仓库与决策支持系统课件

    数据仓库是为企业所有级别的决策制定过程提供一致、集成、非易失且历史连续的数据视图的一种特殊系统。而决策支持系统则是辅助用户进行半结构化和非结构化决策的交互式信息系统。 数据仓库的构建通常包括四个主要...

    从小说中提取对话数据集.zip

    从小说中提取对话数据集摘录对话本仓库只为huanhuan-chat泛化版的一部分内容(文本对话抽取),欢迎大家给huanhuan-chat仓库star!本仓库的最大贡献就是为泛化的Character AI提供了从小说中建立数据集的功能。...

    VC++仓库管理系统

    【VC++仓库管理系统】是一种基于Microsoft Visual C++开发的软件应用,主要用于企业的库存管理。它集成了数据库技术、用户界面设计以及数据处理功能,帮助企业高效地监控和控制库存水平,优化库存周转,确保供应链的...

    vc++大地球仓库管理系统

    "VC++大地球仓库管理系统"是一款基于Visual C++开发的库存管理软件,旨在高效地管理和追踪仓库中的货物信息。在这款系统中,开发者利用了VC++的MFC(Microsoft Foundation Classes)库,提供了用户友好的图形界面和...

    ToolAlpaca代码及数据集

    ToolAlpaca是一款在软件开发领域中用于提升效率和质量的工具,可能是一个代码辅助工具或者数据分析套件。从提供的信息来看,"ToolAlpaca代码及数据集"的标题和描述都相当简洁,但我们可以从标签中推断出一些关键知识...

    MFC实现的小型仓库管理系统 access数据库

    2. 关系:通过建立表之间的关系,可以实现数据的关联查询,如商品表与入库表通过商品ID建立一对一或一对多关系。 3. 查询:Access支持SQL查询,可以进行复杂的数据筛选、聚合和联接操作。 4. 表单和报告:设计用户...

    数据库驱动的对话机器人技术实现.pdf

    在对话机器人技术中,数据仓库可以作为一个数据查询和分析的中转站,而数据同步确保机器人访问的是最新的数据。 7. 消息推送功能:对话机器人需要具备消息推送功能,以及时将用户关注的信息推送至用户。这要求...

    智能对话、智能机器人

    在这个"智能对话、智能机器人"项目中,我们可以看到一个名为"tulingRobot-master"的压缩包文件,这通常是一个开源项目的源代码仓库。 这个项目可能基于TuringBot(图灵机器人)API,这是一个广泛使用的智能对话引擎...

    vc界面设计仓库管理系统(MFC)Access数据库

    在本文中,我们将深入探讨如何使用Microsoft Visual C++ (VC) 的MFC库来构建一个仓库管理系统,并结合Access数据库作为后台存储数据的方式。MFC,全称Microsoft Foundation Classes,是微软提供的一套C++类库,它...

    仓库管理系统(Visual C++)

    在仓库管理系统中,我们利用MFC的对话框类、控件类等进行界面设计,通过事件驱动编程模型实现用户交互。例如,使用按钮控件完成数据查询、增加、修改和删除操作,使用列表框或控件显示库存商品信息。 其次,Access...

    水利工程:基于数据挖掘技术的水利工程管理.pdf

    1. 空间数据仓库应用:空间数据仓库的建立是一项具有挑战性的工作,它能够对水利工程管理的数据信息进行综合管理和分析,为水利工程管理提供有价值的信息支持。 2. 数据挖掘技术在水利工程管理中的应用:数据挖掘...

    chatgpt企业微信自建应用,支持上下文对话、图片生成、以及导出功能.zip

    这个应用能够实现上下文敏感的对话功能,即在对话过程中理解和记忆之前的话题,提供连贯的对话体验。同时,它还具备图片生成能力,可以依据用户的指令或输入内容创建相关的图像。此外,该应用还提供了数据导出功能,...

    智能运维数据化运维构筑智能运维能力.pptx

    2. **数据仓库**:数据仓库是智能运维的基础,它集中存储了来自不同来源的业务数据和元数据,为后续的数据分析提供支持。数据仓库通常包括ODS(Operational Data Store)、DWD(Data Warehouse Detail)、DWS(Data ...

    仓库管理系统

    系统采用人机对话方式,界面美观友好,信息查询灵活、方便,数据存储安全可靠; 提供多种多样的数据查询功能,至少包括入库、出库和库存等常用查询功能; 能够建立完善的基础信息档案,至少包括供应商、货物和...

    决策支持系统与数据挖掘.ppt

    数据仓库是为决策支持服务的一种特定类型的数据集合,它是传统数据库概念的扩展,旨在满足决策支持的需求。数据仓库不是实时更新的事务处理系统,而是从多个源系统中抽取、转换和加载数据,形成历史性数据库,用于...

    仓库管理系统数据库课程设计汇本.doc

    在本资源中,我们将详细介绍仓库管理系统数据库课程设计的设计要求、设计目标、开发环境、数据库描述、需求分析、数据库设计、仓库管理系统关系图、数据表设计、数据库的完整性分析和仓库管理系统数据库创建等方面的...

Global site tag (gtag.js) - Google Analytics