Oracle 19c: Distributed Database -- Sharding


分布式数据库发展历程
        1987 分布式数据库应遵循的12条原则
        Google 2003, 2004, 2006 年发表的GFS, MapReduce, BigTable
        2012年Google公布分布式数据库系统Spanner (NewSQL)

Sharing的作用
        更高的扩展性和故障隔离性,数据分片避免大型单一数据库扩展;愿意修改应用,把负载路由到指定的数据库
        数据主权问题

Oracle Database Sharding
        跨独立数据库的水平分区数据,同一个表的不同分区可以放在不同的数据库里。
        逻辑上是一个数据库,所有分片具有相同的Schema
        无共享的可伸缩性和可用性架构--- Shared Nothing的架构

Sharing 好处
        Linear Scalability 线性扩展  1000个分片
        Extreme Available极高可用性
        分布部署

Oracle Sharding的优势
        ACID, ADG/OGG 。。。

Oracle Sharding架构由两部分组成
        Oracle GDS (Global Data Services)v12cR1 实现自动部署和sharding管理以及拓扑复制
        GDS框架中,Global Service Manager (GSM)负责将应用请求分发到需要的sharding上

Sharded database (SDB)
Shard,独立的硬件资源
Shard Catalog, 集中存储和管理SDB的配置信息, 可以用ADG实现高可用
Shard Directos, 类似监听器,管理客户端访问和负载均衡
管理工具, GDSCTL, EM 13c

Sharing 部署步骤: 
1. 安装组件
2. 使用GDSCTL命令指定拓扑布局
        create shardcatalog
        add gsm
        start gsm
        add 。。。
3. 运行Deploy并添加全局服务

-------------创建分片表家族
create tablespace set tbs1;

create sharded table customers (... ...)
partition by consistent has (custid)
partitions auto
tablespace set tbs1;

Sharding 键支持number, integer, smallint, raw, (N)Varchar, (N)char, date and timestamp 

-------------创建Duplicated Tables
        所有的分片上复制的非分片表
        使用物化视图复制
        在catalog中创建,通过使用shrd dupl_table_refresh_rate初始化参数设置刷新频率,默认60秒
        不能存储在用于分票表的表空间中

------------Sharded Table Family
        一组以相同方式分片的表
        每个table family只能有一个root table
        19c 支持多table family,但仅限于系统管理分片 (consistent hash)

------------Chunk 
------------Oracle Sharding 分片方式
        系统管理分片    System Managed sharding,consistent hash
        组合分片 Composite sharding, 数据首先在多个shardspace中按list,或range进行分区,然后再每个shardspace中的多个shard中通过一致性散列进行进一步分区。
        用户定义分片: by range, by list
-----------Sharding 环境下的路由
        Direct routing
        Poxy routing

RAC Sharding, 提供Cache 使用效率
alter system enable affinity (tableName>;

19c 支持多PDB的分片
可伸缩的多分片查询协调器
支持多个表家族
分片数据库的整合
通过ADG可以配置多个跨shard查询协调器 coordiater

Sharding构架对应用的要求
        仅在新建数据库时可用
        应用于OLTP应用,应用程序设计,数据部署要求。

Links:

--End of File--


Comments

Popular posts from this blog

SQL Monitor and SQL Quarantine