Oracle RAC 10g: Running Mixed Workloads Gordon Smith Director, RAC Product Management Oracle...

Preview:

Citation preview

Oracle RAC 10g: Running Mixed Workloads

Gordon SmithDirector, RAC Product Management

Oracle Corporation

Session id:

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

Wait until off-hours when online systems aren’t being used

Problems– The Internet and 21st Century business changed

online to 24 X 7– Data not current

Off-Hours Batch

Today’s Inadequate Solutions

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

Reporting DB Clones

Today’s Inadequate 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)

Traditional DR Solutions

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

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

Account Balance

0001 100

0002 100

0003 100

0004 100

0005 100

0006 100

0007 100

0008 100

0009 100

0010 100

Non-Blocking Queries

For example, say you need to add up the balances for all accounts …

Account Balance

0001 100

0002 100

0003 100

0004 100

0005 100

0006 100

0007 100

0008 100

0009 100

0010 100

Non-Blocking Queries

For example, say you need to add up the balances for all accounts …

Account Balance

0001 100

0002 100

0003 100

0004 100

0005 100

0006 100

0007 100

0008 100

0009 100

0010 100

Non-Blocking Queries

For example, say you need to add up the balance for all accounts …

Account Balance

0001 100

0002 100

0003 100

0004 100

0005 100

0006 100

0007 100

0008 100

0009 100

0010 100

1,000 <- The Right Answer

Non-Blocking Queries

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

Account Balance

0001 100

0002 100

0003 100

0004 100

0005 100

0006 100

0007 100

0008 100

0009 100

0010 100

Non-Blocking Queries

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

Account Balance

0001 100

0002 100

0003 100

0004 100

0005 100

0006 100

0007 100

0008 100

0009 100

0010 100

Non-Blocking Queries

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

Account Balance

0001 100

0002 100

0003 50

0004 100

0005 100

0006 100

0007 100

0008 100

0009 150

0010 100

-$50

+$50

Non-Blocking Queries

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

Account Balance

0001 100

0002 100

0003 50

0004 100

0005 100

0006 100

0007 100

0008 100

0009 150

0010 100

1,100 <- The Wrong Answer

Non-Blocking Queries

Now let’s try read locksAccount Balance

0001 100

0002 100

0003 100

0004 100

0005 100

0006 100

0007 100

0008 100

0009 100

0010 100

Non-Blocking Queries

Now let’s try read locksAccount Balance

0001 100

0002 100

0003 100

0004 100

0005 100

0006 100

0007 100

0008 100

0009 100

0010 100

Non-Blocking Queries

Now let’s try read locksAccount Balance

0001 100

0002 100

0003 50

0004 100

0005 100

0006 100

0007 100

0008 100

0009 150

0010 100

-$50

Transaction Blocked!!!

Non-Blocking Queries

Now let’s try read locks You get the right answer but

update transactions are blocked Similarly update transactions

can block queries

Account Balance

0001 100

0002 100

0003 50

0004 100

0005 100

0006 100

0007 100

0008 100

0009 150

0010 100

1,000 <- The Right Answer

Non-Blocking Queries

Now let’s try non-blocking queries with read consistency

Account Balance

0001 100

0002 100

0003 100

0004 100

0005 100

0006 100

0007 100

0008 100

0009 100

0010 100

Non-Blocking Queries

• Now let’s try non-blocking queries with read consistency

Account Balance

0001 100

0002 100

0003 100

0004 100

0005 100

0006 100

0007 100

0008 100

0009 100

0010 100

Non-Blocking Queries

• Now let’s try non-blocking queries with read consistency

Account Balance

0001 100

0002 100

0003 50

0004 100

0005 100

0006 100

0007 100

0008 100

0009 150

0010 100

-$50

+$50

Non-Blocking Queries

• Now let’s try non-blocking queries with read consistency

• Queries don’t block updates• Updates don’t block queries

Account Balance

0001 100

0002 100

0003 50

0004 100

0005 100

0006 100

0007 100

0008 100

0009 100

0010 100

1,000 <- The Right Answer

150

Real Application Clusters

Users

Shared CacheShared CacheClustered

Database Servers

Storage Area NetworkMirrored Disk Subsystem

Low Latency InterconnectVIA or Proprietary

High Speed Switch or Interconnect

Hub or Switch Fabric

Centralized Management Console

Cache FusionCache Fusion

Runs all types of business applications on clusters

Maximum availability

Maximum scalability Lowest cost Efficient cache

fusion technology

Oracle9i RAC SAP Scalability

1 Node 2 Nodes 4 Nodes

3,640

6,580

12,000

0

2,000

4,000

6,000

8,000

10,000

12,000

14,000

1 Node 2 Nodes 4 Nodes

# Users

Running on HPQ AlphaServer ComputersRunning on HPQ AlphaServer Computers

SD 3-Tier Parallel Benchmark Results Now Official

82%Scalability

82%Scalability

Certified

Oracle9i RAC OLAP Scalability 75x better than the nearest competitor

0100002000030000400005000060000700008000090000

100000

Oracle Hyperion Microsoft

Can’t Say1,135

85,719

Ana

lytic

Que

ries

Per

Min

ute

(AQ

M)

World Record Performance

Source: DSS Lab, 2003

RAC Workloads Survey

RAC Customer Workloads

OLTP

Mixed

DW

Unknow

RAC Mixed Workload Customers

CJIS FannieMae Job Partners Telenor Mobile University of

Melbourne HealthPartners Cairns City

Council Guangfu

Securities Merrill Lynch STP Maisoning Vanderbilt

University EPL

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

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.

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

# Servers# Servers

Operating SystemOperating System

Processors/ServerProcessors/Server

ComponentComponent

Total CostTotal Cost

11

32 @1.3Ghz32 @1.3Ghz

UNIXUNIX

Large RISCLarge RISCSMP Server SMP Server

$1,250,000$1,250,000

Source: hardware vendor price lists

Memory/ServerMemory/Server 64Gb64Gb

88

4 @2Ghz4 @2Ghz

RedHat ASRedHat AS

Intel/Linux Intel/Linux ClusterCluster

$232,664$232,664

8Gb8Gb

88

4 @1.2Ghz4 @1.2Ghz

UNIXUNIX

RISC SMPRISC SMPClusterCluster

$431,960$431,960

8Gb8Gb

Electronic Arts ROIDiscounted Cash Outlay

Comparison

0

5

10

15

$ M

illi

on

s

RAC 5.03 0.65 0.58 0.59 0.51 7.36

Sun 6.8 1.17 1.07 0.92 0.79 10.76

Year 1 Year 2 Year 3 Year 4 Year 5 Total

1st Year

Big SMP is 35%+ More Expensive

SMP

5 Years

Big SMP is 46%+ More Expensive

Total IT costs:•Hardware costs•Software costs•H&S maintenance•DBA costs•SysAdmin costs

Enterprise Grid - Automatic Storage Management

Automatic StorageManagement

Eliminates the complexity and cost of 3rd party volume and file managers

Completely automates I/O tuning

Eliminates all fragmentation Optional mirroring

Enterprise Grid - Automatic Storage Management

Automatic StorageManagement

Eliminates the complexity and cost of 3rd 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

Eliminates the complexity and cost of 3rd 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 rebalancingAutomatic Storage

Management

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

Normal Server Allocation

Reporting Order EntrySpare

Enterprise Grid – Workload Management

Christmas Season

Reporting Order Entry

Enterprise Grid – Workload Management

Post Christmas

Reporting Order Entry

Enterprise Grid – Workload Management

Normal Server Allocation

Reporting Order EntrySpare

Enterprise Grid – Workload Management

Node Failure

Reporting Order EntrySpare

Enterprise Grid – Workload Management

Recovery

Reporting Order Entry

Enterprise Grid – Workload Management

Another Node Failure

Reporting Order Entry

Enterprise Grid – Workload Management

Recovery

Reporting Order Entry

ConclusionA History of Innovation

Non-BlockingQueries

OPS

RealApplication

Clusters(RAC)

AutomaticStorage

Management

WorkloadManagment

Low-CostCommodity

ClustersResourceManager

DataGuard

EnterpriseEnterprise

GridsGrids

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

AQ&Q U E S T I O N SQ U E S T I O N S

A N S W E R SA N S W E R S

Reminder – please complete the OracleWorld online session survey

Thank you.

Recommended