Oracle Global Data Services (GDS): Automated Workload Management for Replicated Databases (Video Included)
1. Introduction to Global Data Services (GDS)
Oracle Global Data Services (GDS) provides Automated
Workload Management for Replicated Databases. It is designed to extend the
concept of services to database replicas.
Key GDS Capabilities:
- Automatic
and transparent client workload management across replicas.
- Workload
routing based on load, locality, or replication lag.
- Inter-database
Service failover across replicas.
- Load
balancing, including connect-time and run-time capabilities.
- Centralized
service management across replicas.
GDS databases must be Oracle Database EE 12.1+. They
can be Single Instance or RAC, CDB or Non-CDB, and run on engineered systems
(like Oracle Exadata) or commodity hardware. Importantly, GDS requires
licensing for either Oracle Active Data Guard or Oracle GoldenGate.
2. Benefits of Oracle GDS
Implementing GDS helps maximize your application performance
and mitigate downtime during planned and unplanned outages.
Benefit Area |
Details & Insights |
Supporting Sources |
High Availability
& Downtime Mitigation |
GDS provides automatic
failover of client workload to another datacenter to mitigate unplanned
outages. It enables continuous availability. For planned maintenance,
GDS allows for transparent workload movement, achieving zero-downtime
(e.g., during patching, as noted in a case study). GDS supports Global
Service failovers for both Oracle GoldenGate and Active Data Guard. |
|
Performance & Load Balancing |
Applications
use GDS to maximize performance. It routes workload based on load,
locality, or lag. For Active/Active Oracle GoldenGate configurations, GDS can
route all workloads to the nearest and best database in the client’s region
(Region Affinity). GDS provides Connect-time Load Balancing (CLB) and
Run-time Load Balancing (RLB) advisory to clients, supporting intelligent
load balancing even across asymmetrical database servers. |
|
Resource
Utilization |
GDS solves the
challenge of unbalanced replicas by providing automatic and transparent
client workload management. It enables better resource utilization of
replicas, allowing workloads to be balanced on reader farms (e.g., Active
Data Guard or GoldenGate reading farm) for improved scalability. |
|
Manageability & Cost |
GDS allows
administrators to manage resources of replicas with one interface. It
provides centralized management of database services across replicas. GDS is
a cost-effective solution as it is included with Active Data Guard or
Oracle GoldenGate. |
3. Workload Management Challenges Addressed by GDS
Before GDS, managing workloads across replicas presented
significant challenges:
Challenge Type |
Description |
Supporting Sources |
Workload Balance |
Replicated
environments often suffer from no automated load balancing, leading to
unbalanced resources and sub-optimal resource utilization across data
centers. |
|
Service Failover |
Lack of Global
Service Failover results in application outages when replicas fail,
meaning there is No Service HA (High Availability). |
|
General HA
Deployment |
Challenges associated
with deploying highly available systems include the risk of failure, lack of
skills, and high cost and complexity. |
4. High-Level GDS Deployment and Usage
GDS is managed using the GDSCTL CLI or Enterprise Manager
DB Plug-in.
A. GDS Deployment Steps (High Level):
- Install
GSM software on GSM servers (minimum of 1, recommended 3 GSMs per
region).
- Pre-create
the GDS catalog database.
- Setup
GDS Administrator accounts & privileges (e.g., granting gsmadmin_role
to the admin user on the GDS Catalog database).
- Configure
GDS using GDSCTL commands such as create catalog, add gsm, add gdspool,
and add database. (Note: For Data Guard environments, add brokerconfig
should be used instead of add database).
- Define
and start Global Services using GDSCTL (e.g., add service -service
sales_qry_srvc -gdspool sales -preferred db01 –available db02).
- Services
can be configured with attributes based on placement (-preferred, -available,
-preferred_all), role (-role PRIMARY or PHYSICAL_STANDBY), lag tolerance
(-lag 180), locality (LOCAL_ONLY, ANYWHERE), and load balancing goals (-clbgoal,
-rlbgoal).
B. Client Connectivity and Application Requirements:
Applications must be GDS-Ready by adhering to
specific configuration requirements:
- Use
Oracle Integrated Connection Pools/Drivers (OCI, JDBC, ODP.NET, WebLogic).
- TNS
entries must include the GSM Listener end points and specific
parameters such as CONNECT_TIMEOUT, RETRY_COUNT, RETRY_DELAY, and TRANSPORT_CONNECT_TIMEOUT.
- For
locality-based routing, specify the client’s REGION in the
connection URL or TNS entry.
- Applications
must subscribe to FAN events (published by GDS via ONS) by enabling
Fast Connection Failover (FCF) to proactively handle instance
events.
What is a GDS pool?
A Global Data Services pool (GDS pool) is a fundamental
component of the Oracle Global Data Services (GDS) architecture, serving to
group a collection of databases for administrative and service management
purposes.
Here is a comprehensive breakdown of what a GDS pool is,
based on the sources:
Definition and Purpose
- A
GDS pool is a named subset of databases located within a larger GDS
configuration.
- The
databases in a GDS pool provide a unique set of global services.
- A
GDS pool belongs to the same administrative domain.
Role in Management and Security
- Partitioning
the databases in a GDS configuration into pools simplifies service
management.
- GDS
pools provide ** higher security** by allowing each pool to be
administered by a different administrator.
- When
configuring GDS, the GDSCTL command-line utility is used to add a GDS pool
(e.g., add gdspool -gdspool sales).
Rules and Constraints
- A
database can only belong to a single Global Data Services pool.
- While
all databases in a pool do not necessarily need to provide the same set of
global services, all databases that do provide the same global service
must belong to the same pool.
- A Global
Data Services region—a set of databases and clients sharing network
proximity—can contain multiple GDS pools, and these pools can span
multiple regions.
- For
configurations involving Oracle Data Guard broker, only an entire broker
configuration can be included in (or deleted from) a GDS pool, and a
broker configuration cannot span multiple pools.
- A
pool that contains a Data Guard configuration cannot have databases that
do not belong to that configuration.
- The
set of databases in a GDS pool must be either the set of databases that
belong to a single broker configuration or a set of databases that do not
belong to a broker configuration.
Usage Examples
The sources frequently use GDS pools (such as a "Sales
GDS Pool" or "HR GDS Pool") in command examples to define where
global services should run:
- When
defining a global service, you must specify the pool it belongs to, along
with its preferred and available databases. For example:
GDSCTL>add service -service
sales_qry_srvc -gdspool sales -preferred db01 –available db02.
- One
large company utilizes approximately 260 GDS Pools within their
consolidated Oracle database environment.
List three
GDS configuration topics.
No comments:
Post a Comment