A scalability and availability feature for custom-designed OLTP applications that enables distribution and replication of data across a pool of discrete Oracle Databases. This pool of databases is presented to the application as a single logical database. Applications elastically scale (data, transactions, and users) to any level, on any platform, simply by adding additional databases (shards) to the pool. This feature was introduced from Oracle 12c. Oracle Sharding trades-off transparency in return for massive linear scalability, greater availability, and geographical distribution.

Oracle Sharding provides superior run-time performance and simpler life-cycle management compared to homegrown deployments that use a similar approach to scalability. It also provides the advantages of an enterprise DBMS, including relational schema, SQL, and other programmatic interfaces, support for complex data types, online schema changes, multi-core scalability, advanced security, compression, high-availability, ACID properties, consistent reads, developer agility with JSON, and much more.

In Oracle Database 18c, user-defined sharding has been introduced which allows you to explicitly specify mapping of data to individual shards which addresses requirements to store data to a particular shard due to performance or regulatory reasons. In a multitenant environment, single PDB deployment can now be used as a shard or for deploying a shard catalog. GoldenGate replication is now supported with sharding. To provide better cache utilization and to dramatically reduce block pings across instances, Oracle RAC Sharding in 18c creates an affinity for table partitions to particular Oracle RAC instances, and routes database requests that specify a partitioning key to the instance that logically holds the corresponding partition. Additional enhancements include multi-shard query consistency level, optimizer enhancements for multi-shard queries, and support for JSON, LOBs and spatial objects.

Recent Posts

Start typing and press Enter to search