2015 OOW:Oracle的Sharding技术

Posted 数据和云

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2015 OOW:Oracle的Sharding技术相关的知识,希望对你有一定的参考价值。

在2015年OOW大会,国内很多小伙伴们一直非常关心Oracle Database 12.2中的Sharding技术实现,可是要知道在Larry Ellison的演讲中,根本就没有提到这个特性,而在Andrew Mendelsohn的Session中,这一特性也仅仅只有一行字:Sharding 。


这说明Sharding这一特性,在Oracle现阶段的数据库产品战略中并不重要,Andy也说,可能仅有少数用户才可能用到这一特性。


Oracle Sharding的实现

简单来说,Oracle的Sharding技术就是通过分区(Partioning)技术的扩展来实现的。以前一个表的分区可以存在于不同的表空间,现在可以存在于不同的数据库。

不同分区存在于不同数据库,这就将数据隔离了开来,Sharding就此实现。



Sharding如何实现数据路由?

既然数据被拆分,那么在访问时如何实现数据路由呢?在Sharding的架构里,存在一个“Shard Directories”目录库来管理Sharding的分布,当应用通过Sharding Key来访问数据时,连接池就会给出访问路径,快速指向需要访问的Shard。如果应用不指定分区键访问,则需要通过协调库-Coordinator DB来协助判定。

2015 OOW:Oracle的Sharding技术

那么这里提到的连接池是什么呢?

可能很少有人注意到,在Oracle 12.1版本中增加的一个新的产品组件 GDS - Global Data Services,通过GDS可以构建一个访问“连接池”,为后端的数据库访问提供代理和路由服务,前面提到的Shard Directories,正是在GDS中配置的。

2015 OOW:Oracle的Sharding技术


如何创建Sharding数据表?

在创建Sharding对象之前,需要先创建表空间集合 - Tablespace Set,表空间集合包含在不同数据库中的表空间定义,也就是将以前针对不同分区创建的表空间转移到不同的数据库中。

2015 OOW:Oracle的Sharding技术

如何配置连接池?

关于连接池的配置,实际上在GDS的文档中,早有描述,以下图中则详细描述了Sharded Database的部署,其中最先创建的是shardcatalog,创建了一个Shard的目录配置数据库,而GSM - Global Service Managment,就是全局的服务管理配置。

2015 OOW:Oracle的Sharding技术
关于GDS的配置,以下一图 - 一目了然:


如果在12.1中还看不清楚 GDS的作用,现在12.2中,Sharding中的重要作用就日益凸现出来。




2015 Oracle技术嘉年华(11.20~11.21)即将开幕,OOW精彩内容引入国内,ACE专家云集,点击图片了解详情。


以上是关于2015 OOW:Oracle的Sharding技术的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 2018 OOW: Cloud Generation 2--Larry Ellison

2018 Oracle OpenWorld的正确打开方式

12.2新特性首发:Oracle Sharding是这么做的

循序渐进:Oracle 12.2的Sharding基础概念解读

oracle 分库分表(sharding)

关于Oracle Sharding,你想知道的都在这里