【跟我学oracle18c】第五十六天:Using Oracle Sharding: Oracle分片Changes in Oracle Database 18c

Changes in Oracle Database 18c

The following are changes in Using Oracle Sharding for Oracle Database 18c.

New Features

The following features are new in this release:

User-Defined Sharding Method

用户定义的分片允许显式地指定数据到各个分片的映射。由于性能、管理或其他原因,某些数据需要存储在特定的切分上,并且您必须在切分之间完全控制移动数据。此方法允许您定义基于列表或范围的分片。

See

Support for PDBs as Shards

在CDB中为碎片或碎片目录数据库使用PDB。在这个版本中,Oracle Sharding支持将碎片或碎片目录作为CDB中的单个PDB。扩展了GDSCTL命令ADD SHARD,实现了添加CDB、修改CDB、配置CDB和删除CDB的新命令,以便Oracle Sharding能够支持多租户架构。

See

Support for Oracle GoldenGate Replication

Oracle GoldenGate用于细粒度的多主复制,其中所有的碎片都是可写的,每个碎片可以部分复制到shardgroup中的其他碎片。

See Shard-Level High Availability

Centralized Diagnostics

SQL SHARDS()子句允许您跨所有shard查询Oracle提供的对象,例如V$、DBA/USER/ALL视图、字典表等等。

See Querying System Objects Across Shards

Multi-Shard Query Consistency Level

MULTISHARD_QUERY_DATA_CONSISTENCY来设置不同的一致性级别。

See Specifying Consistency Levels in a Multi-Shard Query

Sharding Support for JSON, LOBs and Spatial Objects

这个版本允许JSON操作符生成临时LOB、大型JSON文档(需要LOB存储的文档)、空间对象、索引和操作符以及持久LOB,以便在分片环境中使用。

The following interfaces are new or changed as part of this feature.

  • 查询和DML语句
    支持涉及lob的交叉碎片查询。
    不支持包含多个碎片的DMLs。这种行为类似于标量列。
    协调器支持涉及单个碎片的DMLs。
    从碎片中选择的定位器可以作为绑定值传递到相同的碎片。

  • OCILob

    在分片环境中,支持所有与bfile无关的OCILob api。有一些限制。
    在协调器上,LOB描述符的OCI_ATTR_LOB_REMOTE属性如果从切分表中获得LOB,则返回TRUE。
    限制:对于以两个定位器作为输入的api,例如OCILobAppend和OCILobCompare,这两个定位器应该从相同的碎片中获得。如果定位器来自不同的碎片,将给出一个错误。

  • DBMS_LOB

    在分片环境中,支持所有与bfile无关的DBMS_LOB api,但有一些限制。在协调器上,DBMS_LOB。如果从切分表中获得LOB, isremote返回TRUE。
    限制:对于使用两个定位器作为输入的api, DBMS_LOB。例如,这两个定位器应该从相同的碎片中获得。如果定位器来自不同的碎片,则给出错误。

See Creating a Schema for a System-Managed SDBCreating a Schema for a User-Defined SDB, and Creating a Schema for a Composite SDB for examples of using LOBs in sharded database deployment.

Optimizer Enhancements for Multi-Shard Queries

为了提高切分查询的健壮性和容错性,进行了各种改进。查询解释计划得到了增强,以显示参与查询的所有碎片的信息。

See Supported Query Shapes in Proxy Routing and Execution Plans for Proxy Routing for updated information about these topics.

Shard Replacement

如果切分失败且不可恢复,则可以使用GDSCTL中的ADD shard -REPLACE命令替换它。您还可以使用-replace命令选项将碎片移动到任何原因的新设备。

See Replacing a Shard

Oracle RAC Sharding

Oracle RAC切分创建表分区与特定Oracle RAC实例的关联,并将指定分区键的数据库请求路由到逻辑上包含相应分区的实例。这提供了更好的缓存利用率,并极大地减少了跨实例的块ping。分区键只能添加到性能最关键的请求中。不指定密钥的请求仍然可以透明地工作,并且可以路由到任何实例。启用此特性不需要对数据库模式进行任何更改。

See Oracle Real Application Clusters Administration and Deployment Guide

Other Changes

The following are additional changes in the release:

  • Sharding Content Moved to New Book

    在Oracle Database 12c Release 2(12.2.0.2)中,Oracle分片内容是Oracle Database Administrator指南的一部分。从Oracle数据库18c开始,Oracle分片内容包含在它自己的书,Oracle分片指南中。

猜你喜欢

转载自blog.csdn.net/viviliving/article/details/85165352