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

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介:

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

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


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之后只需要扫描一个数组,这样就加快了查询效率。


文章转自数据和云公众号,原文链接

相关文章
|
10月前
|
机器学习/深度学习 存储 Python
|
5月前
|
XML 数据格式 开发者
解析数据的Beautiful Soup 模块(一)
解析数据的Beautiful Soup 模块(一)
109 0
|
5月前
|
前端开发 Python
解析数据的Beautiful Soup 模块(二)
解析数据的Beautiful Soup 模块(二)
60 1
|
6月前
|
编解码 开发工具 UED
QT Widgets模块源码解析与实践
【9月更文挑战第20天】Qt Widgets 模块是 Qt 开发中至关重要的部分,提供了丰富的 GUI 组件,如按钮、文本框等,并支持布局管理、事件处理和窗口管理。这些组件基于信号与槽机制,实现灵活交互。通过对源码的解析及实践应用,可深入了解其类结构、布局管理和事件处理机制,掌握创建复杂 UI 界面的方法,提升开发效率和用户体验。
287 13
|
5月前
|
JSON 前端开发 JavaScript
前端模块打包器的深度解析
【10月更文挑战第13天】前端模块打包器的深度解析
|
5月前
|
缓存 前端开发 JavaScript
Webpack技术深度解析:模块打包与性能优化
【10月更文挑战第13天】Webpack技术深度解析:模块打包与性能优化
|
5月前
|
JSON API 开发者
深入解析Python网络编程与Web开发:urllib、requests和http模块的功能、用法及在构建现代网络应用中的关键作用
深入解析Python网络编程与Web开发:urllib、requests和http模块的功能、用法及在构建现代网络应用中的关键作用
43 0
|
5月前
|
移动开发 网络协议 C语言
详解 httptools 模块,一个 HTTP 解析器
详解 httptools 模块,一个 HTTP 解析器
93 0
|
7月前
|
缓存 前端开发 JavaScript
Webpack 模块解析:打包原理、构造形式、扣代码补参数和全局导出
Webpack 模块解析:打包原理、构造形式、扣代码补参数和全局导出
342 1
|
7月前
|
算法 JavaScript 前端开发
国标非对称加密:RSA算法、非对称特征、js还原、jsencrypt和rsa模块解析
国标非对称加密:RSA算法、非对称特征、js还原、jsencrypt和rsa模块解析
466 1

推荐镜像

更多