Oracle RAC and Data Guard meet the scalability and availability needs of over 99% of applications while preserving application transparency. Sharding is an architectural pattern popularized by Internet and online companies that need very high scalability and absolute availability. Sharding divides a database into a farm of independent databases and thereby avoiding the scalability or availability edge cases associated with a single database. 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 home-grown deployments that use a similar approach to scalability. It also provides the advantages of an enterprise RDBMS, 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.