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

本文涉及的产品
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生数据仓库AnalyticDB MySQL版,基础版 8ACU 100GB 1个月
简介: 大数据框架原理简介(4)
数据块


应尽可能让数据块保存在内存当中


SQL


尽可能使用变量绑定技术来达到SQL重用
减少物理I/O 和重复的SQL 解析
从而极大的改善数据库的性能



影响性能的因素


热快(hot block)


当一个块被多个用户同时读取时
Oracle 为了维护数据的一致性
需要使用Latch来串行化用户的操作
当一个用户获得了latch后,其他用户就只能等待
获取这个数据块的用户越多,等待就越明显
这就是热块的问题
这种热快可能是数据块 也可能是回滚段块


  • 数据块


通常是数据库的数据分布不均匀导致
如果是索引的数据块,可以考虑创建反向索引来达到重新分布数据的目的


  • 回滚段数据块


可以适当多增加几个回滚段来避免这种争用


OLAP


即DSS决策支持系统或数据仓库


要对几亿条或者几十亿条数据进行聚合处理
这种海量的数据,全部放在内存中操作是很难的
同时也没有必要,因为这些数据快很少重用
缓存起来也没有实际意义,而且还会造成物理I/O相当大
所以这种系统的瓶颈往往是磁盘I/O上面的。
对于OLAP系统,SQL 的优化非常重要
因为它的数据量很大,做全表扫描和索引对性能上来说差异是非常大的


  • 考核标准


考核标准是磁盘子系统的吞吐量(带宽)如能达到多少MB/s的流量
不看一条语句的执行时间可能会非常长,读取的数据也非常多


  • 磁盘吞吐量


磁盘子系统的吞吐量则往往取决于磁盘的个数
Cache基本是没有效果的
数据库的读写类型基本上是db file scattered read与direct path read/write
应尽量采用个数比较多的磁盘以及比较大的带宽,如4Gb的光纤接口


分区技术


体现在数据库管理的方便性 并不能绝对保证查询性能的提高


  • 通过分区交换的方式实现数据库加载


  • 通过备份分区表空间实现备份


  • 通过分区进行删除数据



分区对性能的影响


  • 使得一些大表的扫描变得很快(只扫描单个分区


  • 分区结合并行可以使得整个表的扫描会变得很快


优化器模式


  • all_rows


绝大多数时候数据库上运行着的是报表作业
执行基本上是聚合类的SQL 操作,比如group by


  • first_rows



对于一些分页操作比较多的网站类数据库


注意


不是大范围地使用分区关键字,而采用其它的字段作为where条件


  • 本地索引,将不得不扫描多个索引,而性能变得更为低下


  • 全局索引,又失去分区的意义


并行技术


在Oracle 10g中 
可把一个任务,如select的全表扫描
平均地分派到多个RAC的节点上去


不需要使用绑定(BIND)变量


整个系统的执行量很小
分析时间对于执行时间来说,可以忽略
而且可避免出现错误的执行计划
OLAP中可以大量使用位图索引,物化视图
对于大的事务,尽量寻求速度上的优化
没有必要像OLTP要求快速提交,甚至要刻意减慢执行的速度


一般在完成大型任务时才使用


如在实际生活中,翻译一本书,可以先安排多个人,每个人翻译不同的章节,这样可以提高翻译速度
如果只是翻译一页书,也去分配不同的人翻译不同的行,再组合起来,就没必要了,因为在分配工作的时间里,一个人或许早就翻译完了


数据集市


数据仓库是企业级的,能为整个企业各个部门的运行提供决策支持手段
数据集市则是一种微型的数据仓库,它通常有更少的数据,更少的主题区域,以及更少的历史数据
因此是部门级的,一般只能为某个局部范围内的管理人员服务,因此也称之为部门级数据仓库
数据仓库向各个数据集市提供数据
几个部门的数据集市组成一个数据仓库
数据仓库中数据结构采用规范化模式
数据集市中的数据结构采用星型模式
通常仓库中数据粒度比集市的粒度要细


建库模版


  • OLAP使用数据仓库模板


数据量大,DML少


  • OLTP使用一般用途或事务处理模板


数据量少,DML频繁,并行事务处理多,但是一般都很短


  • DDS 决策支持系统


典型的操作是全表扫描
长查询,长事务
但是一般事务的个数很少
往往是一个事务独占系统


参考资料


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