我的第一篇,献给Oracle sharding
Posted dbseeker
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我的第一篇,献给Oracle sharding相关的知识,希望对你有一定的参考价值。
其实网上关于sharding的内容很多很多,这里基于官方文档,说一点自己浅显的理解,这里做个记录,避免了重复的学习,不然看过就忘记了......
什么是sharding?
翻译过来可以叫数据分片,可以对数据库进行横向扩展,为OLTP系统提供一种可扩展,可用的架构方案, 简单点说,就是把分区表的数据切分到不同的数据库服务器上,缓解了单一数据库的性能瓶颈。
Oracle 12.2.0.1支持1000个分片数据库, 每个分片数据库有自己专门的存储,不共享存储
sharding组件有哪些?
shards: 分片数据库,是切分后一个个独立的数据库.
SDB: 一个逻辑上的数据库,但实际包含了多个shards.
GDS: 通过GDS (global data service) 自动部署与管理Sharding,命令: gdsctl
Shard Catalog: 一个专门保存SDB配置信息的数据库,所有配置信息的改变,比如增减一个分片,都从这里发起。
GSM: Shard Directors. 起到路由作用
sharded table: 分区表切割分配到不同机器上的表
为什么sharding?
12cR1之前,我们往往用昂贵的机器让数据库得到高性能高可用,比如IBM的小型机P770,P780, Exadata一体机。
12cR2引入的数据分片功能,可以提供我们另一种可能性,某种意义上(单个数据库只有几张表,但是表的数据量非常多,并为了更少的成本),Oracle能否像mysql一样,依靠堆积几台相对廉价的机器,实现海量数据的处理,应用性能的提升。
Sharding是一个非常庞大新颖的内容,后续会更新sharding更多的内容,以及部署过程。
以上是关于我的第一篇,献给Oracle sharding的主要内容,如果未能解决你的问题,请参考以下文章