Non-Blocking Queries

advertisement

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

Oracle9

i

RAC SAP Scalability

# 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

Oracle9

i

RAC OLAP Scalability

75x better than the nearest competitor

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

Total IT costs:

• 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

Grids

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.

Download