Oracle Sharding for the 99%

By Sean Scott

Elevator Pitch

Oracle promotes Sharding as a solution for running massive workloads at scale, but Sharding addresses a surprising number of issues the “other 99%” of us face—matters of compliance, performance and availability. Join me to discover what Sharding is and how “the rest of us” can use it, too!

Description

Oracle Sharding is a technology for managing multiple, geographically dispersed databases in a shared-nothing architecture. Though associated with large, complex databases processing billions of daily transactions or petabytes of data, Sharding has features and capabilities needed by the “other” 99% of databases, too. Organizations with data subject to tenancy and sovereignty regulations; mandates to limit latency and response times; free/paid or multi-tiered delivery models; and those seeking extreme availability and fault isolation are all candidates for Sharding. Learn how Oracle’s sharding technology works, its limits, implementation planning and use cases, as well as the features and enhancements introduced in Oracle 20c that make sharding an easier and more compelling solution.

Session attendees will:

  • Develop an understanding of Oracle Sharding and its place in within Oracle’s MAA roadmap
  • Recognize use cases for Oracle Sharding and how they apply in different environments
  • Discover the limitations of the features and technology
  • Explore new features in Oracle 20c that make sharding easier and more accessible
  • Learn how to install and experiment with a sharded database

Notes

I became interested in Sharding a few years back after attending a conference presentation. It was billed as a solution for scaling huge databases, but the audience for that is narrow and specialized at best. While researching the topic I realized the many applications Sharding has beyond the “multi-billion transaction per day club” dominated by stock exchanges, telecoms and government agencies. Ordinary shops can benefit from it, too.

Sharded databases are complicated collections of shards, catalog databases, and standbys. Oracle’s documentation is… lacking. It would seem technically out of reach for a normal person wanting to learn more about it, unless they have a generous lab and a lot of patience. In an effort to bridge that gap, I developed automation and orchestration to run Sharding in Docker containers, putting it within reach of nearly anyone with a decent laptop.

In this session I introduce Sharding with an emphasis on its “ordinary” use and application, showing how it deals with matters of data tenancy and sovereignty, enables organizations to run applications with tiered service levels, minimize latency, and achieve high availability and fault isolation. I share my experiences and discoveries, demonstrate how a Sharded database works, and offer practical advice for those wanting to explore Sharding as a solution in their environments.