大数据框架原理简介(3)

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生数据仓库AnalyticDB MySQL版,基础版 8ACU 100GB 1个月
简介: 大数据框架原理简介(3)

数据建模


ODS是站在记录层面访问的角度而设计的
DW或DM则是站在结果集层面访问的角度而设计的
ODS支持快速的数据更新,DW作为一个整体是面向查询的


查询的事务


ODS中的事务操作比较多
可能一天中会不断的执行相同的事务
而DW中事务的到达是可以预测的



用途


ODS用于每一天的操作型决策 是一种短期的
DW可以获取一种长期的合作广泛的决策
ODS是策略型的,DW是战略型的。


用户


ODS主要用于策略型的用户 比如保险公司每天与客户交流的客服
DW主要用于战略型的用户,比如公司的高层管理人员


数据量(主要区别之一)


ODS只是包括当前数据
DW存储的是每一个主题的历史快照


OLTP与OLAP


  • 数据处理分类


联机事务处理OLTP(on-line transaction processing)
联机分析处理OLAP(On-Line Analytical Processing)
OLTP是传统的关系型数据库的主要应用
主要是基本的、日常的事务处理
例如银行交易
OLAP是数据仓库系统的主要应用
支持复杂的分析操作,侧重决策支持
并且提供直观易懂的查询结果
OLTP 系统强调数据库内存效率
强调内存各种指标的命令率,强调绑定变量,强调并发操作
OLAP 系统则强调数据分析
强调SQL执行市场,强调磁盘I/O,强调分区等


  • OLTP与OLAP之间的比较


image.png


OLTP


事务性非常高的系统
一般都是高可用的在线系统
以小的事务以及小的查询为主
评估其系统的时候,一般看其每秒执行的Transaction以及Execute SQL的数量
单个数据库每秒处理的Transaction往往超过几百个,或者是几千个
Select 语句的执行量每秒几千甚至几万个
典型的OLTP系统有电子商务系统、银行、证券等,如美国eBay的业务数据库


OLTP 瓶颈


CPU与磁盘子系统


CPU


表现在逻辑读总量与计算性函数


  • 逻辑读总量


逻辑读总量等于单个语句的逻辑读乘以执行次数
如果单个语句执行速度虽然很快,但是执行次数非常多,也可能会导致很大的逻辑读总量


  • 计算型的函数


如自定义函数、decode等的频繁使用
也会消耗大量的CPU时间,造成系统的负载升高
尽量避免计算过程,如保存计算结果到统计表

磁盘子系统



承载能力一般取决于它的IOPS处理能力
磁盘物理读一般都是db file sequential read(单块读)
读的次数非常频繁
如果频繁到磁盘子系统都不能承载其IOPS的时候,就会出现大的性能问题


OLTP设计和优化


Cache技术与B-tree索引技术



Cache技术


Cache决定了很多语句不需要从磁盘子系统获得数据
Web cache与Oracle data buffer对OLTP系统是很重要的

索引


语句越简单越好 这样执行计划也稳定
一定要使用绑定变量,减少语句解析,尽量减少表关联、尽量减少分布式事务
基本不使用分区技术、MV技术、并行技术及位图索引
因为并发量很高,批量更新时要分批快速提交,以避免阻塞的发生


在OLTP环境中使用位图索引很容易造成阻塞与死锁


  • 绑定变量


用户并发数很大,用户的请求十分密集
并且这些请求的SQL 大多数是可以重复使用的


OLTP 系统是一个数据块变化非常频繁,SQL 语句提交非常频繁的系统




相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
13天前
|
SQL 消息中间件 分布式计算
大数据-124 - Flink State 01篇 状态原理和原理剖析:状态类型 执行分析
大数据-124 - Flink State 01篇 状态原理和原理剖析:状态类型 执行分析
51 5
|
13天前
|
存储 分布式计算 druid
大数据-155 Apache Druid 架构与原理详解 数据存储 索引服务 压缩机制
大数据-155 Apache Druid 架构与原理详解 数据存储 索引服务 压缩机制
33 3
|
13天前
|
消息中间件 分布式计算 druid
大数据-154 Apache Druid 架构与原理详解 基础架构、架构演进
大数据-154 Apache Druid 架构与原理详解 基础架构、架构演进
17 2
|
13天前
|
消息中间件 监控 Java
大数据-109 Flink 体系结构 运行架构 ResourceManager JobManager 组件关系与原理剖析
大数据-109 Flink 体系结构 运行架构 ResourceManager JobManager 组件关系与原理剖析
32 1
|
13天前
|
SQL 消息中间件 分布式计算
大数据-141 - ClickHouse 集群 副本和分片 Zk 的配置 Replicated MergeTree原理详解(一)
大数据-141 - ClickHouse 集群 副本和分片 Zk 的配置 Replicated MergeTree原理详解(一)
35 0
|
13天前
|
SQL 大数据
大数据-141 - ClickHouse 集群 副本和分片 Zk 的配置 Replicated MergeTree原理详解(二)
大数据-141 - ClickHouse 集群 副本和分片 Zk 的配置 Replicated MergeTree原理详解(二)
46 0
|
13天前
|
存储 SQL 分布式计算
大数据-127 - Flink State 04篇 状态原理和原理剖析:状态存储 Part2
大数据-127 - Flink State 04篇 状态原理和原理剖析:状态存储 Part2
13 0
|
13天前
|
存储 消息中间件 大数据
大数据-126 - Flink State 03篇 状态原理和原理剖析:状态存储 Part1
大数据-126 - Flink State 03篇 状态原理和原理剖析:状态存储 Part1
40 0
|
13天前
|
存储 SQL 分布式计算
大数据-125 - Flink State 02篇 状态原理和原理剖析:广播状态
大数据-125 - Flink State 02篇 状态原理和原理剖析:广播状态
33 0
|
13天前
|
消息中间件 NoSQL Kafka
大数据-116 - Flink DataStream Sink 原理、概念、常见Sink类型 配置与使用 附带案例1:消费Kafka写到Redis
大数据-116 - Flink DataStream Sink 原理、概念、常见Sink类型 配置与使用 附带案例1:消费Kafka写到Redis
62 0