Session id:
Oracle RAC 10g:
Running Mixed Workloads
Gordon Smith
Director, RAC Product Management
Oracle Corporation
Agenda
Business Goals
Today’s Inadequate Solutions
Key Technical Elements of the Solution
– Non-Blocking Queries
– Real Application Clusters
– Other Great Tools
Oracle 10g Enterprise Grids – Putting It All
Together
Business Goals
Goals
–
–
Report off current live data
No impact on online performance
– Simplicity
– Low cost
Focusing on reporting
– Not full blown Data Warehouse
DW a much more complex problem
Oracle offers good “On Time” solution
Today’s Inadequate Solutions
Off-Hours Batch
Wait until off-hours when online systems aren’t being used
Problems
– The Internet and 21 st Century business changed online to 24 X 7
– Data not current
Today’s Inadequate Solutions
Reporting DB Clones
Copy database to second system for reporting
Problems
– Not current data
–
–
–
–
Complicated, multi-step process with many failure points
Poor hardware utilization
Data is growing and getting harder to copy
Cloning (or re-silvering) can impact performance
Today’s Inadequate Solutions
Traditional DR Solutions
Why not just run reports against the data on my disaster recovery (DR) standby system
– The standby is just sitting there underutilized
– Data can be very current
Problems
–
Nearly all DR solutions don’t let you access data on standby system, e.g.,
Remote disk mirroring systems
Oracle DataGuard (physical mode)
Key Technical Elements of the
Solution
Non-Blocking Queries
Real Application Clusters
Other Great Tools
–
–
–
Automatic Undo Management
Resource Manager
Logical Data Guard
Non-Blocking Queries
Account Balance
0001 100
0002
0003
100
100
0004
0005
0006
100
100
100
0007
0008
0009
0010
100
100
100
100
Provides consistent reads
–
–
Never sees uncommitted
“dirty” data
Never sees some changes from a transaction but not other changes
– Bottom line: You Get The
Right Answer
Doesn’t block updates
Doesn’t get blocked by updates
Non-Blocking Queries
Account Balance
0001 100
0002
0003
100
100
0004
0005
0006
100
100
100
0007
0008
0009
0010
100
100
100
100
For example, say you need to add up the balances for all accounts …
Non-Blocking Queries
Account Balance
0001 100
0002
0003
100
100
0004
0005
0006
100
100
100
0007
0008
0009
0010
100
100
100
100
For example, say you need to add up the balances for all accounts …
Non-Blocking Queries
Account Balance
0001 100
0002
0003
100
100
0004
0005
0006
100
100
100
0007
0008
0009
0010
100
100
100
100
For example, say you need to add up the balance for all accounts …
1,000 <- The Right Answer
Non-Blocking Queries
Account Balance
0001 100
0002
0003
100
100
0004
0005
0006
100
100
100
0007
0008
0009
0010
100
100
100
100
Now let’s run a transaction at the same time that transfers $50 from one account to another
–
–
Without using Non-Blocking
Queries
Without using read locks
Non-Blocking Queries
Account Balance
0001 100
0002
0003
100
100
0004
0005
0006
100
100
100
0007
0008
0009
0010
100
100
100
100
Now let’s run a transaction at the same time that transfers $50 from one account to another
–
–
Without using Non-Blocking
Queries
Without using read locks
Non-Blocking Queries
Account Balance
0001 100
0002
0003
100
50
0004
0005
0006
100
100
100
0007
0008
0009
0010
100
100
150
100
-$50
+$50
Now let’s run a transaction at the same time that transfers $50 from one account to another
–
–
Without using Non-Blocking
Queries
Without using read locks
Non-Blocking Queries
Account Balance
0001 100
0002
0003
100
50
0004
0005
0006
100
100
100
0007
0008
0009
0010
100
100
150
100
Now let’s run a transaction at the same time that transfers $50 from one account to another
–
–
1,100 <- The Wrong Answer
Without using Non-Blocking
Queries
Without using read locks
Non-Blocking Queries
Now let’s try read locks
Account Balance
0001 100
0002
0003
100
100
0004
0005
0006
100
100
100
0007
0008
0009
0010
100
100
100
100
Non-Blocking Queries
Now let’s try read locks
Account Balance
0001 100
0002
0003
100
100
0004
0005
0006
100
100
100
0007
0008
0009
0010
100
100
100
100
Non-Blocking Queries
Account Balance
0001 100
0002
0003
100
50
0004
0005
0006
100
100
100
0007
0008
0009
0010
100
100
150
100
-$50
Now let’s try read locks
Transaction Blocked!!!
Non-Blocking Queries
Account Balance
0001 100
0002
0003
100
50
0004
0005
0006
100
100
100
0007
0008
0009
0010
100
100
150
100
Now let’s try read locks
You get the right answer but update transactions are blocked
Similarly update transactions can block queries
1,000 <- The Right Answer
Non-Blocking Queries
Account Balance
0001 100
0002
0003
100
100
0004
0005
0006
100
100
100
0007
0008
0009
0010
100
100
100
100
Now let’s try non-blocking queries with read consistency
Non-Blocking Queries
Account Balance
0001 100
0002
0003
100
100
0004
0005
0006
100
100
100
0007
0008
0009
0010
100
100
100
100
• Now let’s try non-blocking queries with read consistency
Non-Blocking Queries
Account Balance
0001 100
0002
0003
100
50
0004
0005
0006
100
100
100
0007
0008
0009
0010
100
100
150
100
-$50
+$50
• Now let’s try non-blocking queries with read consistency
Non-Blocking Queries
Account Balance
0001 100
0002
0003
100
50
0004
0005
0006
100
100
100
0007
0008
0009
0010
100
100
100
100
150
• Now let’s try non-blocking queries with read consistency
• Queries don’t block updates
• Updates don’t block queries
1,000 <- The Right Answer
Real Application Clusters
Centralized
Management
Console
Runs all types of business applications on clusters
Low Latency Interconnect
VIA or Proprietary
Maximum availability
High Speed
Switch or
Interconnect
Maximum scalability
Clustered
Database Servers
Lowest cost
Efficient cache fusion technology
Storage Area Network
Mirrored Disk
Subsystem
Users
Hub or
Switch
Fabric
i
# Users
14,000
12,000
10,000
8,000
6,000
4,000
2,000
0
SD 3-Tier Parallel Benchmark Results Now Official
82%
Scalability
3,640
6,580
12,000
Certified
Running on HPQ AlphaServer Computers
i
World Record Performance
100000
90000
80000
70000
60000
50000
40000
30000
20000
10000
0
85,719
Oracle
1,135
Hyperion
Can ’ t Say
Microsoft
Source: DSS Lab, 2003
RAC Workloads Survey
RAC Customer Workloads
OLTP
Mixed
DW
Unknow
RAC Mixed Workload
Customers
Gas Authority of India
Ltd.
KITC
Nextel
Clearing Corp of India
Daegu universwity
Hite Brewery
US Army Medical
Research & Material
Command
Green Mountain Power
Holmesglen TAFE
Smartserv
Bharti Televentures
Ltd.
China Unicom –
Chonging
Supply Solutions
Gas Authority of
India Ltd.
Texas Tech
University
Lithonia Lighting
SoftChoice
Tata Teleservices
AusRegistry
POSCO Six Sigma
Dongbu Insurance
Ashok Leyland Ltd.
WeightWatchers.com
CJIS
FannieMae
Job Partners
Telenor Mobile
University of
Melbourne
HealthPartners
Cairns City
Council
Guangfu
Securities
Merrill Lynch
STP Maisoning
Vanderbilt
University
EPL
Mix Workload Customer
Example
Telenor Mobile in Norway
– 2-nodes, 16 CPU & 4 CPU HP-UX
–
–
–
OLTP - 4 CPUs node
DSS on 16 CPUs
Fail OLTP to DSS but not other way
Other Great Tools
Resource Manager
– Controls allocation of CPU to workloads
– Limit execution times of long running operations
– Limits # of active sessions per workload
Logical Data Guard
– Allows queries to data on DR Standby
– Allows updates to data only on Standby
Automatic Undo Management
– Now fully automatic in Oracle9i
Enterprise Grid – Putting It All
Together
Low Cost Computing
–
You can “just throw CPUs at it”
Automatic Storage Management
–
You can “just throw disks at it”
Workload Management
– Powerful new ways to manage different workloads easily
Enterprise Grid - Low Cost
Computing
Component
Large RISC
SMP Server
RISC SMP
Cluster
Intel/Linux
Cluster
# Servers
Processors/Server
1
32 @1.3Ghz
Memory/Server 64Gb
Operating System UNIX
Total Cost $1,250,000
8
4 @1.2Ghz
8Gb
UNIX
$431,960
8
4 @2Ghz
8Gb
RedHat AS
$232,664
Source: hardware vendor price lists
Electronic Arts ROI
Discounted Cash Outlay
Comparison
15
10
5
0
Year 1 Year 2 Year 3 Year 4 Year 5 Total
RAC 5.03
6.8
0.65
1.17
0.58
1.07
0.59
0.92
0.51
0.79
7.36
10.76
1 st Year 5 Years
Big SMP is
35%+
More Expensive
Big SMP is
46%+
More Expensive
• Hardware costs
• Software costs
• H&S maintenance
• DBA costs
• SysAdmin costs
Enterprise Grid - Automatic
Storage Management
Eliminates the complexity and cost of 3 rd party volume and file managers
Completely automates I/O tuning
Eliminates all fragmentation
Optional mirroring
Automatic Storage
Management
Enterprise Grid - Automatic
Storage Management
Automatic Storage
Management
Eliminates the complexity and cost of 3 rd party volume and file managers
Completely automates I/O tuning
Eliminates all fragmentation
Optional mirroring
Allows disks to be added or removed dynamically with fully automatic rebalancing
Enterprise Grid - Automatic
Storage Management
Automatic Storage
Management
Eliminates the complexity and cost of 3 rd party volume and file managers
Completely automates I/O tuning
Eliminates all fragmentation
Optional mirroring
Allows disks to be added or removed dynamically with fully automatic rebalancing
Enterprise Grid - Workload
Management
Hands-free assignment of servers to workloads based on rules
– Automatic assignment of servers to workloads at startup
– Re-assignment of servers to workloads as business needs change
– On server failure, automatic re-assignment of surviving servers to workloads
Works across all platforms
Enterprise Grid – Workload
Management
Reporting Spare Order Entry
Normal Server Allocation
Enterprise Grid – Workload
Management
Reporting Order Entry
Christmas Season
Enterprise Grid – Workload
Management
Reporting Order Entry
Post Christmas
Enterprise Grid – Workload
Management
Reporting Spare Order Entry
Normal Server Allocation
Enterprise Grid – Workload
Management
Reporting Spare Order Entry
Node Failure
Enterprise Grid – Workload
Management
Reporting Order Entry
Recovery
Enterprise Grid – Workload
Management
Reporting Order Entry
Another Node Failure
Enterprise Grid – Workload
Management
Reporting Order Entry
Recovery
Conclusion
Non-Blocking
Queries
OPS
A History of Innovation
Data
Guard
Real
Application
Clusters
(RAC)
Resource
Manager
Automatic
Storage
Management
Low-Cost
Commodity
Clusters
Enterprise
Workload
Managment
Next Steps….
Recommended Oracle RAC sessions
–
–
–
Oracle RAC 10g: Continuous Services for the Grid
Wednesday 11 am, Room 104
Oracle RAC: Best Practices on Linux
Wednesday 1 pm, Room 104
Oracle RAC: Customer Roundtable
Wednesday 4:30 pm, Room 104
– Real Application Cluster Guru Chat
Thursday 12 noon, Guru Lounge
See RAC demos in Database DEMOgrounds
Visit the RAC web sites for more information
– http://otn.oracle.com/products/database/clustering/content.
html
Q U E S T I O N S
A N S W E R S
Reminder – please complete the
OracleWorld online session survey
Thank you.