首页 存档 技术 查看内容

Oracle数据库分片技术

2018-3-30 13:00 |来自: 互联网 970 0

摘要: 什么是分片技术(Sharding)? Sharding 中文名叫数据分片(是指数据层的水平分区),是对数据进行横向扩展的一种方式。数据量增加,我可以通过加一台机器,来扩展其容纳能力和处理能力。 Sharding它解决三个关键问题 ...



什么是分片技术(Sharding)?

Sharding 中文名叫数据分片(是指数据层的水平分区),是对数据进行横向扩展的一种方式。数据量增加,我可以通过加一台机器,来扩展其容纳能力和处理能力。


Sharding它解决三个关键问题:

1.数据的路由

是数据库告诉应用程序,你让我查的数据目前在哪个分片上,这条路怎么走过去。

2.数据的分片

是实际数据的存放地点,往往每个分片就是一台单独的服务器(含存储)。

3.分片的元数据信息保存

是被切割放在不同的机器上,那么需要有个集中的地点存放数据分片的信息,即分片元数据的信息。

总结一下就是:应用问路由怎么走,路由去查询元数据得知需要的数据在哪个分片上,最终应用访问到该分片上。


Oracle分片- 数据库架构模式

  • Oracle Sharding在提供Sharding的同时,并没有牺牲掉关系型数据库所带来的优秀特性,比如说关系型数据建模,SQL编程接口,丰富的数据类型,在线的表结构变更,充分利用CPU多核的扩展性,高级安全,压缩,高可用,ACID特征,一致读,所有的Oracle数据库的优势仍然还在那里,但是,额外,提供了Sharding的优势。

  • 对于Oracle Sharding的上层来说,使用的是Oracle GDS(Global Data Services)框架来实现自动部署和shading的管理以及拓扑复制。GDS还同时提供了对于整个SDB访问的负载均衡和基于位置的路由功能。在GDS框架中,global service manager负责将应用过来的请求转发到合适的shard上,另外还有一个shard catalog数据库,支持跨shard的查询功能,同时SDB的配置数据也都存在这个catalog数据库中。

  • 对于Oracle Sharding的底层来说,使用的是Oracle长久以来一直存在的分区(partitioning)技术。Oracle Sharding就其本质上来说,实际上就是分布式分区,将以前的分区扩展支持到跨不同的物理数据库上。


Oracle分片的优点

  • 数据自动分片到独立的分片数据库(分片)中,这些库组成一个数据库池。

  • 这个数据库池以一个单一的逻辑库的方式呈现给应用程序

  • 支持在线添加分片以增加整体吞吐量

  • 数据量,客户量和交易量可线性扩展

  • 一个分片库的故障或减速不影响其他分片的可用性

  • 自动部署数据库复制实现分片级的高可用性(RAC 可选)

  • 每个分片可独立补丁和升级,不影响其他分片

  • 灵活的分片组织- 一致性哈希,区域,列表或复合分片(range-hash, list-hash)

  • 数据分布可基于可用性,灾难恢复,性能,或法规要求决定



Sharding适合所有的数据库应用吗?

既然Sharding听上去很厉害,那么是不是现在只要遇到有性能问题的数据库,一律都可以使用Sharding技术来解决呢?当然不,Sharding不会也不可能是FAST=TRUE这样的参数。一个适合Sharding技术的应用,必须有非常好的数据模型,和清晰的数据分布策略(比如是一致性哈希,范围或者列表分区),并且访问这些数据也是总要通过shard key来过滤的,只有这样,才能在整个Sharded数据库架构中很好地将请求路由到合适的数据库上。这样的shard key可能会是客户编号,国家编号,身份证号码等。


Sharding适合的业务场景:

专用OLTP应用Custom OLTP Applications,海量扩展和高可用性 MassiveScalability and HA

大规模计费系统 Large billing systems

航空票务系统 Airline ticketing systems

在线金融服务Online financial services

媒体服务公司Media companies

在线信息服务Online information services

社交媒体公司Social media companies


分片数据库物理架构

Sharding分片数据库的物理架构如下所示:



分片数据库组件

  • 分片目录库 Shard Catalog

存储SDB元数据metadata

跨片查询的协调数据库coordinator

包含应用的元数据定义和复制表 Contains application gold schema

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部