从数据仓库到数据视图

《数据库原理》实验报告DB4——视图与索引 一. 实验内容、步骤以及结果 1. 在Student数据库中,用SQL语句创建一个选修了数据库课程并且是2001年出生的学生的视图,视图中包括学号,姓名,性别,成绩。(5分) create view student_2001(sno,sname,sgender,grade) as select s.sno,sname,sgender,grade from s,sc,c where s.sno = sc.sno and sc.cno = c.cno and cname = '数据库' and birth li 阅读详情

作者: Alison Shu

作为亿贝数据平台的技术支持团队,我们定期会和业务部门交流,了解他们对数据平台的使用和期望。这一次,我们接触了业务拓展团队。他们需要根据亿贝集市的品类销售情况及中国卖家的渗透率,部署各省的人手。他们对数据平台和工具的了解和使用仅限于MS Excel。由于资源有限,他们期望一个快速的解决方案,一次部署不用维护。相应的他们的需求也非常清晰,并且一定期限内保持不变。

 

作为亿贝数据分析平台推广活动之一,我们数据支持团队根据以上的用户需求制作了演示产品。完整步骤呈现如下:

 

一、选择合适的数据仓库

亿贝有各种数据仓库支持不同的应用场景。结合业务需求,判断是否满足以下一个或几个应用场景,我们决定选择Teradata数据仓库。

 

数据仓库不同的的业务场景:

§  OLAP (Online Transaction Processing)应用

§  储存限制级数据,比如用户人个身份信息

§  数据容错性高

§  支持商业智能报告或分析应用

§  读写操作密集度不同,比如侧重写,或者侧重读

§  内存或缓存中储存数据

§  支付多维度立方体的切片和切块

 

市场上企业级的数据平台及基本特性:

·        Mongo DB: NoSQL, 支持分布式数据存储

·        Couchbase:NoSQL, 缓存中储存数据,支持高性能读写

·        Hadoop:NoSQL,开源,支持分布式数据存储、计算的大数据应用平台

·        Hbase:NoSQL,分布式面向列的开源数据库。

·        Oracle:SQL,世界上最流行的关系型数据库管理系统。

·        MySQL:SQL,开源的关系型数据库管理系统

·        Teradata Database:SQL,高性能和精密的工作负管理

 

我们的业务需求:

§  结构化数据(业务交易数据)

§  可靠性高(减少额外维护成本)

§  支持商业智能报告和视图化(业务用户是数据的消费者)

 

二、建立数据模型

数据结构选用主流的关系型数据,也就是事实表加维度表。

关系型数据库中的表被分为三层:获取层(acquisition layer),聚合层(integration layer),和展现层(presentation layer)。这次使用的就是展现层的表。

·        获取层:获取层的数据就是源数据的复制。不同来源的数据分别丢入不同表名的获取层。

·        聚合层:获取层的数据根据主题在聚合层聚合,并进行统计量的计算。

·        展现层:聚合层的数据在展现层进一步聚合,以透视表形式直接展现给数据用户。

 

展现层的表几乎包含了所有用户需求的信息,直接对接商业智能报告和分析应用。

考虑到提取数据统计分析的的便捷,展现层的表采用宽表,将维度和统计量存放于一张表中,容许数据冗余。Teradata数据仓库14.10支持宽表,可以将所有的维度(几千个列)存放在一张表中,仍然保持良好的读写性能。我们从数据仓库找到了相应的表,这是一个宽表,将维度和统计量存放于一张表中,十分方便前端的展现。

 

三、利用第三方数据

展现层的表几乎包含了所有用户需求的信息,但是只差一个维度:省和直辖市。这只能求助于第三方数据:中国各省和直辖市的IP段。亿贝购买了大量第三方数据,包括气候数据,地理位置数据以及人口信息数据,用于用户研究及个性化服务 。其中比较有名的数据提供商是Acxiom, Acxiom 提供的人口统计信息和心理因素信息丰富了亿贝数据,支持了用户360度项目,典型的应用是基于数据库的邮件营销。气候数据有预测数据和及时数据,预测数据用于季节性的库存管理和品类推荐;及时数据用于对电商物流时间的估计。亿贝Buy It Now(当天送达)服务曾因为恶劣天气而导致货物延迟到达,引起用户不满。利用及时的天气数据,亿贝事先通知用户因为天气原因潜在的延迟,从而改善用户体验。

 

但是可惜的是,我们只购买了欧美几个主要市场的数据,没有中国的数据。既然是作演示,从提供IP服务的相关网站上找到了各省的IP段,制作了一个文本文件,准备上传到Teradata数据库和聚合层的用户表关联,新建一张展现表。

 

四、使用数据库小工具

Teradata的Fast Load 可以用于上传这个小文本。由于FastLoad 是基于命令行,而上传本地数据有广泛的应用,亿贝数据平台部开发了Data Load工具。Data Load底层是Teradata FastLoad,但前端更友好。

 

五、数据集市的使用和管理

常识问题来了,企业级数据仓库岂可随意上传文件,何况使用的是个人帐号?我上传的目的地是数据集市,数据集市(Data Mart)是从数据仓库中抽取数据,服务于特定团体或特定任务。亿贝称之为VDM(Virtual Data Mart),通过VDM工具让用户自助管理自已的VDM:包括空间申请、权限管理、表和透视图的管理。新建的展现表将储存在支持团队的VDM中,大小是1.5G,我的VDM的总空间是100G,应该不存在空间不够问题。但是在向表插值时总是报错”No more room indatabase”。查了可利用空间有60G,百思不解,查文档搞明白了:it’s caused by highly-skewed table。除了删除VDM中高倾斜的表,同时对新表改进了主索引(primary index), 终于通过。

 

·        倾斜的表(skew table on Teradata) :当数据在Teradata AMP上分布不均时,我们称为倾斜的表。倾斜因子越高,性能越差,达到40%即认为高倾斜。

·        倾斜因子的计算:100-avg(CurrentPerm)/max(CurrentPerm)*100

 

在生成新的聚合表的过程中,需要关联两张表,生成新的维度和统计量插。但一直报借”The string contains an untranslatable character due to differentcharacter set“。查了两张表所有使用到的字符型字段,发现有一个字符定义为 Unicode 字符集,而默认的是Latin字符集,更新了新表的相关字符集后,通过。

 

六、制作数据视图

数据集准备好了,就是前端工具选型了。Tableau连续四年被授予Gartner商业智能和分析平台魔力象限领先者,快速发布,设计简单,良好的视图展现和良好的服务器性能都符合轻量级业务需求。

准备的数据集有840万多条,利用Tableau Desktop从Teradata数据库抽取数据到发布者本地用时过久会产生timeout而后reload。这个错误不是因为Tableau容量过载,而是Teradata数据仓库对性能的控制。Tableau要求本地抽取数据成功后,才能发布到Tableau server。解决方法是先抽取数据子集,以减少连接时间。但子集必须能反映数据面貌,为视图设计提供思路。成功发布视图后,在数据集市相应表中中加载数据全集,在Tableau Server上更新数据抽取,完整视图即呈现。

 

Tableau Dashboard 样图:




SAP ABAP 四种传统的数据库视图类型介绍之一:Database View 例如,某企业的订单管理系统中,订单数据存放在订单表中,而客户信息存放在客户表中。所以我们在开始系统学习 ABAP CDS View 之前,至少得对传统数据库视图,要有一个最基本的了解,否则根本就不知道 ABAP CDS View 到底是在一个怎样的基础之上做的增强。假设我想查询系统里某用户创建的 ABAP 类的前一百条数据,包含 ABAP 类的名称,UUID,和创建者的用户名。开发了一张数据库视图,拥有 F1,F2,F4 和 F6 四个字段,分别从表1,表2和表3 的同名字段取值。 阅读详情

相关推荐

mondrian和saiku的数据库建模的指导文档,里面有具体步骤。

mondrian和saiku的数据库建模的指导文档,里面有具体数据准备,建模和服务上线的步骤。

数据仓库之视图

视图定义 视图是一张虚拟表。它可以是表中数据记录的子集,也可以是表中某几个字段形成的子集。视图可以参照一张或多张基表。视图并不另外单独存储和复制数据,它只是一个结构。视图定义存储在数据字典中,而不是在用户自己的空间里。 创建和使用视图 利用CREATE VIEW命令可以创建视图。需要注意的是,视图是基于一些表来实现的,如果这些表的定义发生了变化,将不会反映到视图的定义中。此时将根

dandan12的专栏 2277

从软体机器人到鞋垫分析:Abaqus超弹性材料(Ogden模型)仿真配置全流程

本文详细介绍了Abaqus中Ogden模型在超弹性材料仿真中的应用全流程,涵盖从实验数据导入、参数拟合到模型构建与求解优化的关键步骤。特别针对鞋垫分析等生物力学场景,提供了单元选择、接触设置和并行计算等实用技巧,帮助工程师实现高精度仿真分析。

weixin_42525385的博客 400

数据库和数据仓库的区别是什么?

大家都知道,我们在进行数据分析工作的时候会用到数据库这一工具,可能大家还听说过数据仓库这个工具,数据库和数据仓库很容易被大家混淆。很多人认为数据库和数据仓库是一类事物,其实并不只是这样的,那么大家知不知道数据库和数据仓库的区别是什么呢?下面我们就为大家介绍一下数据库和数据仓库的相关知识。 一般来说,传统数据库是为存储而生,而数据仓库很明显,是为分析而生。实现目的的不...

CDA数据分析师 1363

静态与动态LACP链路聚合:原理、配置与排错实战指南

链路聚合技术是提升网络带宽与可靠性的核心方案,通过将多个物理端口逻辑捆绑,实现带宽叠加与链路冗余。其原理基于IEEE 802.3ad标准,通过负载均衡算法将数据流分布到不同物理链路,既避免了数据包乱序,又提升了整体吞吐量。该技术的核心价值在于消除单端口瓶颈、提供毫秒级故障切换,并能简化网络拓扑管理。在企业服务器接入、数据中心互联及虚拟化平台等场景中,链路聚合已成为构建高可用网络的基础。实践中,动态LACP模式通过协议报文协商,能主动检测链路故障并防止配置错误导致的网络环路,相比静态聚合更为可靠。本文将深入解

weixin_31412781的博客 268

力软敏捷开发框架源码7.0.6旗舰版 JNPF开发平台3.4.5 企业版 旗舰版

JNPF作为作为一款深受用户喜爱的低代码产品,凭借雄厚的科研技术力量、丰富的软件开发项目经验、严谨的项目开发流程和高质量的售后服务,已成功帮助千家企业完成数字化项目,建立了覆盖不同行业客户和不同发展阶段的软件产品服务体系。

huoooos0的博客 1839

关于mysql error code 1005 errno135的问题

今天记录一个比价坑的问题,公司使用mysql数据库,然后发给我一个特别大的mysql文件,直接导入花了很多时间导不进去,报错1005 errno 135  使用 cmd  命令perror 135  一查  No more room in record file,看意思就是 储存空间不够了,我很奇怪磁盘还能空间不够,这是有多大,于是我去mysql的data 文件夹下看了一下 有个ibdata1的文

程军高的专栏 1884

halcon3d点云补全方法

属于halcon实例中的内容,后面还接了一部分的匹配

Tianwen_running的博客 1231

物化视图,索引,数据仓库

http://www.os2ora.com/materialized-view-index-data-warehousing/ Materialized Views, 其实不是View。我觉得把它归类于Index可能还准确一些。View在我们的印象里总是逻辑存在的。即使前面加上一个Materialized,我们只会觉得奇怪,干嘛要对View进行物化呢?把它理解为一种特殊的Index未尝

oracel数据库、数据仓库、JAVA开发的专栏 1276

AI摄影师:自动构图与修图算法设计

AI摄影师:自动构图与修图算法设计​ ,人工智能,计算机视觉,大模型,AI,AI 摄影师的核心能力体现在两方面:自动构图(通过算法优化画面元素布局)与智能修图(自动调整光影、色彩、细节)。例如,手机摄影中的 “AI 构图建议” 功能可实时框选最佳拍摄区域,修图软件中的 “一键增强” 能在 0.1 秒内完成专业级调色,这些都依赖于计算机视觉与深度学习的深度融合。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 16万+

set_input_delay/set_output_delay介绍

针对这一类的情况,在做block时,cts之后,便需要将update_io_latency给关闭。那么,计算的timing就是错误的了。对于hier flow来讲,切分block,进行timing budget的时候,clock tree还未长。计算block端口上的timing,通常需要用到set_input_delay和set_output_delay告知工具外部电路的延迟信息,以方便工具计算端口上的timing。此时,工具在计算in2reg的timing时,便会将2.67ns的delay带进来。

芯冰乐 319

离线和实时

离线和实时

eagle89的专栏 3073

视觉Transformer实战 | Transformer详解与实现

本文系统介绍了 Transformer 架构的核心原理与实现。相比传统 RNN 和 CNN,Transformer 凭借自注意力机制有效捕捉序列中的长距离依赖关系,支持并行训练,显著提升效率。其核心创新在于通过查询、键、值向量计算注意力权重,理解单词间的语义关联。架构包含编码器-解码器结构:编码器通过多头自注意力和前馈网络提取输入特征;解码器利用掩码自注意力和交叉注意力生成输出。本文使用 PyTorch 实现了缩放点积注意力、位置编码、层归一化等关键模块,并构建了完整的 Transformer 模型。

盼小辉丶的博客 4万+

Obsidian DB Folder 数据库视图技术解析

Obsidian DB Folder 插件通过解析 Markdown 文件中的 YAML 配置,动态渲染出一个功能完善的数据库视图界面。这个视图基于 React 技术构建,提供了直观的数据管理和操作体验。 ## 核心功能解析 ### 1. 数据库基本信息配置 每个数据库视图都包含两个基础信息字段: - **name**:数据库名称,用于标识这个数据集 - **description**:数...

gitblog_00775的博客 1009

Raspberry Pi 4 ARM Trusted Firmware 技术解析

摘要: 本文详细介绍了在树莓派4(Raspberry Pi 4)上移植ARM可信固件(TF-A)的实现方案与安全考量。该移植专注于BL31功能,作为非安全世界(如Linux内核)的启动桥梁,支持加载EL2级别程序。文章分析了启动流程、内存映射设计,并对比了RPi3与RPi4的关键差异,指出当前版本缺乏硬件级安全内存保护的局限性。此外,提供了构建指南、配置说明及设备树自动修补的实现细节,强调通过config.txt简单配置即可启动64位内核。该方案充分利用树莓派原有GPU固件流程,兼顾兼容性与简易性。

Linux内核架构师 932

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

利用db_link创建物化视图数据同步到数据仓库

物化视图同步数 1.     用途 现在需要把生产数据库中的部分数据同步到数据仓库中,考虑到成本和便捷性,采用定期刷新物化视图的方式同步数据。 2.     整体实施思路 l   首先创建一个dblink,可以访问远程数据库。 l   在本地创建一个物化视图,存储远程数据表,当远程数据表有变化时,会定时刷新到物化视图中。 l   创建oracle job定时刷新表 3

RuleV5的专栏 5841

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

物化视图数据同步到mysql_利用db_link创建物化视图数据同步到数据仓库

物化视图同步数 1. 用途 现在需要把生产数据库中的部分数据同步到数据仓库中,考虑到成本和便捷性,采用定期刷新物化视图的方物化视图同步数1. 用途现在需要把生产数据库中的部分数据同步到数据仓库中,考虑到成本和便捷性,采用定期刷新物化视图的方式同步数据。2. 整体实施思路l 首先创建一个dblink,可以访问远程数据库。l 在本地创建一个物化视图,存储远程数据表,当远程数据表...

weixin_35910073的博客 341

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

面试宝典:介绍下Oracle数据库动态性能视图 V$CELL_DB

面试宝典:介绍下Oracle数据库动态性能视图 V$CELL_DB

chenoracle的博客 932

数据库的视图

一、什么是视图 百度百科的解释是: 视图是一个虚拟表,视图并不在数据库中存储数据值,数据库中只在数据字典中存储对视图的定义。 这显然是不能让我们满意的。 数据库中的视图是一个虚拟表,同真实的表一样,视图包含一系列带有名称的行和列数据,行和列数据来自定义视图查询所引用的表,并且在引用视图时动态生成。视图是从一个或者多个表中导出的,视图的行为与表非常相似,但视图是一个虚拟表。在视图中用户可以使用SELECT语句查询数据,以及使用INSERT、UPDATE和DELETE修改记录。视图可以使用户操作方便

帝上无天的博客 5万+

EF 6 DB-First系列--Entity Framework中的数据库视图

在这里,我们将看到如何使用Entity Framework 6 Dabase-First方法查询数据库视图。您可以像使用表一样使用视图。首先,你需要向EDM添加数据库视图。它将视图视为一个实体。因此,除了CUD(创建、更新、删除)操作外,您可以像处理普通实体一样使用它。我们已经在我们的数据库中有一个视图View_StudentCourse,我们想要执行并使用EF 6从它读取数据。要从db视图中读取数据,首先我们需要将它添加到我们的EDM(实体数据模型)中。这可以在创建新的EDM或更新现有EDM时添加。

a859745210b66a6的博客 456

db-获取数据库的全部用户视图

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Linq; using System.Dat...

dxm809的博客 325

物化视图(数据仓库)

Oracle8i版本开始提供可以创建实体化视图即物化视图(MATERIALIZED VIEW),它确实存放有物理数据。物化视图包含定义视图的查询时所选择的基表中的行。对物化视图的查询就是直接从该视图中取出行。在olap环境中,mview是以空间换时间的一种有效手段,更少的物理读/写,更少的cpu时间,更快的响应速度,所以它不适合高端的oltp环境;在oltp环境中,规模较大的报表适合使

zhone的专栏 1869

mysql授权修改视图权限_mysql管理数据库权限 数据库视图 视图授权示例

一、mysql管理数据库权限查询user表(主键host+user):select user,host,password from mysql.user;修改user表:update mysql.user set host='unknown' where user='unknown';set password for unknown@unknown=password('mypass');creat...

weixin_28694169的博客 2655

42、数据仓库演化中冗余视图的检测

本文探讨了在数据仓库演化过程中如何有效检测冗余视图的问题。通过构建多查询与或图表示查询和视图之间的关系,结合查询评估DAG和变更传播DAG,提出了一种基于预更新状态需求分析的无用视图检测方法。在此基础上,进一步设计了冗余视图的检测流程,以提高数据仓库的性能和维护效率。文章还通过具体示例说明了检测过程,并总结了整个方法的关键步骤和实现要点。

juice的博客 1061
上一篇: Resource Overload Analysis on Hadoop Job Failure
下一篇: Griffin – 模型驱动的数据质量服务平台
ebay
博客等级 码龄24年 109粉丝 69原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值