Today, I will start a series of blogs about Oracle’s Globally Distributed Database, in the first article, we will give a brief overview of Oracle’s Globally Distributed Database.
What is a Globally Distributed Database
A globally distributed database is a method of partitioning data to distribute the computational and storage workload, which helps achieve hyperscale computing.
Companies often achieve hyperscale computing using database sharding, in which they distribute segments of a data set—a shard—across lots of databases on many different computers.
Sharding uses a shared-nothing architecture in which shards share no hardware or software. All the shards together make up a single logical database, called a sharded database.
From the application’s perspective, a sharded database looks like a single database: the number of shards and data distribution across those shards are completely transparent to database applications. From the perspective of a database administrator, a shared database consists of multiple databases that can be managed collectively.
Oracle Globally Distributed Database
Oracle Globally Distributed Database disperses segments of a data set across many databases (shards) onto different computers—on-premises or in the cloud. It enables globally distributed, linearly scalable, multimodel databases. It requires no specialized hardware or software. Oracle Globally Distributed Database does all this while rendering the strong consistency, full power of SQL, support for structured and unstructured data, and the Oracle Database ecosystem. It meets data sovereignty requirements and supports applications that require low latency and high availability.
- SQL language used for object creation, strict data consistency, complex joins, ACID transaction properties, distributed transactions, relational data store, security, encryption, robust performance optimizer, backup and recovery, and patching with Oracle Database
- Oracle innovations and enterprise-level features, including Advanced Security, Automatic Storage Management (ASM), Advanced Compression, partitioning, high-performance storage engine, SMP scalability, Oracle RAC, Exadata, in-memory columnar, online redefinition, JSON document store, and so on
- Sharding-aware Oracle Database tools, such as SQL Developer, Enterprise Manager Cloud Control, Recovery Manager (RMAN), and Data Pump, for sharded database application development and management
- Programmatic interfaces, such as Java Database Connectivity (JDBC), Oracle Call Interface (OCI), Universal Connection Pool (UCP), Oracle Data Provider for .NET (ODP.NET), and PL/SQL, including extensions for sharded application development
- Extreme availability with Oracle Data Guard and Oracle Active Data Guard. Other replication options include Raft replication, built into Oracle Globally Distributed Database.
- Support for multi-model data like relational, text, and JSON
- Existing life-cycle management and operational processes can be kept, leveraging in-house and worldwide Oracle database administrator skill sets
- Enterprise-level support
- Extreme scalability and availability of NoSQL databases
Benefits of Oracle Globally Distributed Database
Oracle Globally Distributed Database provides linear scalability, complete fault isolation, and global data distribution for the most demanding applications.
Key benefits of Oracle Globally Distributed Database include:
- Linear Scalability
The Oracle Globally Distributed Database shared–nothing architecture eliminates performance bottlenecks and provides unlimited scalability. Oracle Globally Distributed Database supports scaling up to 1000 shards.
- Extreme Availability and Fault Isolation
Single points of failure are eliminated because shards do not share resources such as software, CPU, memory, or storage devices. The failure or slow-down of one shard does not affect the performance or availability of other shards.
Oracle MAA best practice solutions, such as Oracle Data Guard and Oracle RAC, protect shards.
An unplanned outage or planned maintenance of a shard impacts only the availability of the data on that shard, so only the users of that small portion of the data are affected, for example, during a failover brownout.
- Geographical Distribution of Data
Oracle Globally Distributed Database enables you to deploy a global database, where a single logical database can be distributed over multiple geographies. This makes it possible to satisfy data privacy regulatory requirements (Data Sovereignty) and allows the storage of particular data close to its consumers (Data Proximity).
New Features: Oracle Globally Distributed Database and 23c
- Raft Replication
- Directory-Based Sharding
- Synchronous Duplicated Tables
- Fine-Grained Refresh Rate Control For Duplicated Tables
- Sharded Database Coordinated Backup and Restore Enhancements
- Automatic Data Move on Sharding Key Update
- Move Data Chunks Between Shardspaces
- Global Partitioned Index Support on Subpartitions
- PL/SQL Function Cross-Shard Query Support
- Pre-Deployment Network Validation
- New Partition Set Operations for Composite Sharding
- Parallel Cross-Shard DML Support
- Oracle Data Pump Adds Support for Sharding Metadata
- Automatic Parallel Direct Path Load Using SQL*Loader
The Oracle Globally Distributed Database is set to revolutionize the world of distributed database operations.
I hope you first enjoyed this great resource we have at OCI.
In the next articles, we will provide more technical details about the product Oracle Globally Distributed Autonomous Database and also go into details of the new features with Oracle 23c.
See you in the next article.
Disclaimer: “The postings on this site are my own and do not necessarily represent my current employer positions, strategies, or opinions. The information here was edited to be useful for general purpose, specific data, and identifications was removed to allow reaching a generic audience and to be useful.