0

122Architecture 全面解读 - 第一篇 全局解析+ADG+IM模块

云和恩墨 2017-05-22
139

上周五早上,风和日丽。小明和小强在上班路上相遇了。

呀不好意思,来晚了,我们已经打烊了。不过呢,看在大家都热爱学习的份上,我们将会分享课程视频给大家。


Oracle自发布12.1之后,就一直声称要全面转云,在之后的三四年里,一直杳无音信,大家都在猜测,Oracle又在憋什么大招,果然,2017阳春三月,大招来了!今年三月份,在广大用户的热切盼望中,Oracle终于发布了12c Release2。


与此同时,云和恩墨专家迅速投入到新特性的研究当中,在12.2发布不到2个月的时间里,并设计出了全球最新版的Oracle 12.2体系架构图。先来一饱眼福吧


很多同学跟我们说,这张图信息量太大看不懂表示很绝望。为了让大家更好地学习,云和恩墨推出系列课程“全面解读Oracle 12.2的体系架构图” ,上周四第一课QQ群火热直播,反响热烈。


接下来我们简要概括一下课时一的内容要点:


体系架构图组成

Oracle 12.2体系架构图基于最基本的Oracle数据库访问模式,延伸出包含Active DataGuard,Sharding,Multitenant,Flex Cluster,Flex ASM等多个解决方案的模块。课时一主要介绍了整个图的内容组成,并展开详细解读了模块一(ADG+IM)的部分。

 

在第一个模块,我们展开讨论了以下的内容要点

1、在ADG中,逻辑standby和物理standby的数据同步与应用;

2、12.2中,支持ADG上部署IM列存储,并讨论了三种部署方案;(可参考以下文章:【12.2新特性】在Oracle Active Data Guard上部署列式存储

3、Oracle的零数据丢失同步方案:Far Sync实例的配置;

4、在12.2中DG上的一些新特性,比如远程AWR,standby上的SQL tuning等,可参考以下文章:Oracle 12.2新特性掌上手册 - 第六卷 ADG的性能与诊断);

5、在12.2中IN-MEMORY的新特性,比如:join group,faststart等。


好了话不多说,想学习的同学请观看视频。原文链接下载。


不少朋友问讲师要ppt,实话实说,讲师(只有脑子)真没有ppt,不过倒有几张经典的参考图送给各位,为大家简单讲解一下。


reference picture1


根据白求恩对中国的Oracle用户使用Oracle数据库现状分析,在10g以前的版本中,有部分用户在使用裸设备作为数据库存储方式,11g以后已经很少见,12c已结没有人使用裸设备了。ASM和文件系统将成为最主要的两种文件存储方式,而ASM则是集群环境下的最佳存储选择。(了解白求恩请点击:Bethune,你最佳的运维小助手。)


reference picture2


在12.2以前,ADG架构中,若有多个节点,则多个节点的RFS进程可以同时接收来自主库的日志,但在日志应用过程中,只有一个MRP进程进行,因此多个节点的日志应用的串行的。


在12.2中,ADG中多节点standby,日志可以并行应用。会在每个节点都启动一个MRP进程。


reference picture3


最简单的Far sync的配置模式:在主库附近(实现同步的距离限制范围内)配置far sync实例,主库与far sync实例之间进行同步传输,far sync与备库之间进行异步传输,这样,即使主备之间的连接出现连接问题,主库的数据都在far sync实例中,实现数据零丢失。


Far Sync的高可用配置:虽然far sync提供零丢失的数据同步,但一切都会出故障,为了避免主库与Far Sync之间的连接出现问题导致数据丢失,在主库上配置两个Far Sync实例,当其中一个连接中断的时候,自动切换到另一个Far Sync实例。


Far Sync的扩展配置在需要做主备切换的环境中,为了保证切换后的数据传输不受影响,在两个节点上都配置Far Sync实例,当然,在同一时刻,只有一个Far Sync实例处于活动状态,也就是与当前主库靠近的Far Sync实例处于活动状态。


reference picture4


在12.2的IM中,支持三种格式的数据存储:关系型数据,虚拟列和JSON格式。并且可以将JSON对象的虚拟列直接存放在IM的虚拟列,使得针对JSON对象的操作非常方便。


注意,对于JSON的文档,一般要求文件大小不大于32M,否则可能不会带来好的性能提升。


reference picture5


在没有join group的情况下,表的关联查询是如何实现的:

假如vehicles表和sales表需要做关联查询。

1、扫描Vehicles表,并将满足条件的行解压并发送到hash 连接

2、使用vehicles中获取的做连接的列创建hash列表

3、扫描sales表,过滤出符合条件的行

4、解压过滤得到的行,并发送至hash连接

5、使用vehicle表的ID值进行探测,找到匹配的行

使用join group后的连接访问方式如下:

1、扫描vehicles表,将符合条件的以压缩的方式发送至hash 连接

2、对上步中压缩的结果中的不同值创建数组

3、扫描sales表

4、将匹配的行以压缩的方式发至hash 连接

5、对数组中压缩的值做全连接

 

因此我们看到,没有使用join group的时候,最后在选择行的时候是扫描二维的hash表获得,而使用join group之后只需要扫描一个数组,这样就加快了查询效率。


更多的内容,请关注数据和云微信(OraNews),回复关键字“YH1”,立即获取相关的知识库。

加入"云和恩墨大讲堂"微信群,参与讨论学习

搜索 盖国强(Eygle) :eyygle,或者扫描下面二维码,备注:云和恩墨大讲堂,即可入群。每周与千人共享免费技术分享,与讲师在线讨论。


关注微信,获得后续精彩分享

近期文章

云和恩墨2017 DTCC数据库大会PPT

一条诡异的SQL引发的性能问题

Lockdown Profile 的多租户权限控制

在线的修改数据表为分区表

性能优化之查询转换 - 子查询类

基于Oracle公有云的备份与恢复

MySQL Group Replication 学习笔记

「喜欢文章,快来给作者赞赏墨值吧」
文章转载自云和恩墨,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

数据库资讯
最新 热门 更多
本月热门
近期活动
全部
暂无活动,敬请期待...
相关课程
全部