In the last of the three-part series on the capabilities of Sharding, I will cover the lifecycle management aspects of a sharded database.
Full Support for the Lifecycle Management of an SDB
Oracle Sharding platform allows shards to be added or removed online. It also supports the data reorganization at the chunk level.
Online scale-out with auto-resharding
Oracle Sharding provides the capability to elastically scale-out the sharded database via incremental deployment – shards are added online to expand the pool. In System Managed sharding, the addition of new shards to the pool will automatically trigger resharding wherein the chunks are automatically moved in order to attain balanced distribution of data.
Figure 6. Auto-resharding when shards are added
Ability to scale-in
Sharding allows to scale-in a given sharded database by removing the shards. In order to shrink the pool, you can use the “REMOVE SHARD” command. In 184.108.40.206, the chunks must be explicitly moved to the other shards before removing the shard.
Chunk Move or Split
In addition to shard addition and removal, Oracle Sharding supports splitting and moving of chunk from one shard to another. Chunks can also be moved from one shard to another when data or workload skew occurs without a change in the number of shards. Chunk migration can be initiated automatically or by the DBA.
Structural modifications to the Sharded Database are done transparently to the application. Connection pools get notified (via ONS) about split, move, add/remove shards and auto-resharding.
Sharding enables patching all the shards with one command via opatchauto. OPatchauto supports all sharding schemes and replication methods. It also supports rolling mode and parallel mode.
Supports Command-Line and Graphical User Interfaces
Oracle Sharded databases can be deployed, managed and monitored with two interfaces:
GDSCTL is a command-line interface that provides a simple declarative way of specifying the configuration of an SDB and automating its deployment. For example, just a few GDSCTL commands are required to create the SDB:
ADD GSM; START GSM (create and start shard directors)
CREATE SHARD (for each shard)
DEPLOY (for automated creation of shards and replication setup)
Oracle Enterprise Manager:
Enterprise Manager enables management of the life cycle of a sharded database with graphical user interface. For example, with few clicks, a shard director and shard software can be provisioned. Likewise, the deployment of shard directors and the creation of sharded database can be performed. With EM, you can also manage and monitor an SDB for availability and performance.
In summary, Oracle Sharding supports – data distribution, data colocation, data replication, direct as well as proxy routing and the complete lifecycle of a sharded database. Having studied the the key capabilities of Sharding, in the next blog post, let’s take a look at the components and architecture of the sharded database.