SlideShare a Scribd company logo
1 of 59
Oracle RAC – Solving Common
Scalability Problems
Presented by: Christo Kutrovsky
© 2015 Pythian - Presentation for Oracle OpenWorld
Who Am I
2
• Oracle ACE
• 15 years in Oracle field
• Joined Pythian 2003
• Part of Pythian Consulting Group
• Special projects
• Performance tuning
• Critical services
• Presenter at: IOUG, RMOUG, UKOUG, OpenWorld
“oracle pinup”
© 2015 Pythian - Presentation for Oracle OpenWorld3 © 2011 Pythian - Confidential
Why Companies Trust Pythian
• Recognized Leader:
• Global industry-leader in remote database administration services and consulting for
Oracle, Oracle Applications, MySQL and SQL Server
• Work with over 150 multinational companies such as Forbes.com, Fox Sports, Nordion
and Western Union to help manage their complex IT deployments
• Expertise:
• One of the world’s largest concentrations of dedicated, full-time DBA expertise.
Employ 7 Oracle ACEs/ACE Directors.
• Hold 7 Specializations under Oracle Platinum Partner program, including Oracle
Exadata, Oracle GoldenGate & Oracle RAC.
• Global Reach & Scalability:
• 24/7/365 global remote support for DBA and consulting, systems administration,
special projects or emergency response
© 2015 Pythian - Presentation for Oracle OpenWorld
Questions for Audience
5
• How many have RAC today?
• How many have RAC for HA?
• How many have RAC for scalability?
• How many plan to move to RAC?
• How many develop on RAC?
6
Scale UP vs Scale OUT
© 2015 Pythian - Presentation for Oracle OpenWorld
Scale UP vs Scale OUT
7
• Can have many meanings
• Scale UP
• Get a bigger machine
• Scale OUT
• Get more machines
© 2015 Pythian - Presentation for Oracle OpenWorld
Database Performance
8
• Has 2 primary components
• CPU – compute capacity
• IO – data transfer capacity
• Disk
• Network
• Cache (RAM)
• Implementation specifics
• Database scalability – latches, mutexes,
threading etc.
© 2015 Pythian - Presentation for Oracle OpenWorld
Database Performance
9
Disk
Server
CPU
RAM RAM
APP
© 2015 Pythian - Presentation for Oracle OpenWorld
Database Performance – Scale UP
10
Disk
Server
CPU
RAM RAM
APP
CPU
RAM RAM
© 2015 Pythian - Presentation for Oracle OpenWorld
Database – Scale OUT
11
Disk
Server
CPU
RAM RAM
APP
Server
CPU
RAM RAM
Server
CPU
RAM RAM
© 2015 Pythian - Presentation for Oracle OpenWorld
Scale UP – challenges 2011
12
• Scale UP
• Limited “max size”
• Appears unified, but
is not, NUMA
• Slower CPUs
• 12.8-GB/sec per QPI
• Up to 88 Gb/sec of network
(NEM)
• 8 PCIe slots
Sources: http://www.oracle.com/technetwork/articles/systems-hardware-architecture/sun-server-x2-8-architecture-1689083.pdf
© 2015 Pythian - Presentation for Oracle OpenWorld
CPU Comparison 2011
13
X3-2
• 8 cores per chip
• 2 chips max
• Server with 16 cores:
702 (SPECint®_rate2006)
• 35% capacity of x3-8
• 43.8 per core
• 1.8 x faster
X3-8
• 10 cores per chip
• 8 chips max
• server with 80 cores:
1990 (SPECint®_rate2006)
• 2.8 X Capacity
• 24.8 per core
• 56% speed of x3-2
Sources:
http://www.spec.org/cpu2006/results/res2012q4/cpu2006-20121104-24909.html
http://www.spec.org/cpu2006/results/res2012q3/cpu2006-20120710-23574.html
© 2015 Pythian - Presentation for Oracle OpenWorld
CPU Comparison 2015
14
X5-2
• 18 cores per chip
• 2 chips max
• Server with 36 cores:
1400 (SPECint®_rate2006)
• 30% Capacity of X4-8
• 38.8 per core
• 45 MB CPU cache
• 1U
X4-8
• 15 cores per chip
• 8 chips max
• Server with 120 cores:
4610 (SPECint®_rate2006)
• 3.2 X capacity of x5-2
• 38.4 per core
• 40 MB CPU cache
• 4U
Sources:
http://spec.org/cpu2006/results/res2014q4/cpu2006-20141007-32157.html
http://spec.org/cpu2006/results/res2014q4/cpu2006-20141120-33211.html
© 2015 Pythian - Presentation for Oracle OpenWorld
Scale OUT
16
• Requires Synchronisation Software – Oracle RAC
• Requires “interconnect” network
• Low latency critical
• Requires additional CPU resources for cross-
node synchronisation
• Some operations (ex. locking) significantly
increased latency (network vs. memory)
© 2015 Pythian - Presentation for Oracle OpenWorld
Adding CPU hardware
17
• Both Scale UP and Scale OUT increase total CPU
capacity
• and IO network bandwidth
• Does not improve IO latency
• Does not improve IO requests capacity
• Does not improve application response time
• Does not make your batch job run faster
© 2015 Pythian - Presentation for Oracle OpenWorld
Adding CPU hardware
18
• Adds more workers, but you must keep them
busy – at the same time
• Execute more tasks in parallel
• Parallelise existing tasks
© 2015 Pythian - Presentation for Oracle OpenWorld
Adding CPU hardware
19
• Unless more RAM is added
• Indirectly affects IO requests capacity
• Indirectly affects IO latency
20
Oracle RDBMS
Scale OUT with RAC
© 2015 Pythian - Presentation for Oracle OpenWorld
Why Scale OUT Oracle
21
• Natural High Availability
• Infinite scalability – realistically
• Smaller “block” of failure
© 2015 Pythian - Presentation for Oracle OpenWorld
Challenges with Oracle RAC
22
• Concurrent modifications latency increased
drastically
• Requires block transfer (CPU + network)
• Requires partial disk flush (CPU + latency)
• Concurrent reads do not share RAM cache
• Each node has local copy
• Oracle RAC Cache Fusion Reads slow
• timings similar to SSD read speeds – 10,000x
slower than memory reads
23
Practical Issues
Concurrent inserts
© 2015 Pythian - Presentation for Oracle OpenWorld
Data Block
24
• Oracle stores data in blocks,
in rows
• Each segment (table) has
independent blocks*
• Lowest granularity in RAC
data exchange is block*
• Modifying any data
requires the block to be
‘acquired’ in local SGA
(cache)
Oracle Table Block
8 KiB (8192)
1, Christo Kutrovsky, Canada, 99$
2, Alex Gorbachev, Canada, 98$
3, Marc Fielding, Canada, 101$
© 2015 Pythian - Presentation for Oracle OpenWorld
Inserting Data
25
• Inserting a row is modifying
the block
Oracle Table Block
8 KiB (8192)
1, Christo Kutrovsky, Canada, 99$
2, Alex Gorbachev, Canada, 98$
3, Marc Fielding, Canada, 101$
4, Vanessa Simons, Canada, 199$
© 2015 Pythian - Presentation for Oracle OpenWorld
Block needs to move
26
• Block will bounce from node to node depending on
where the insert runs
Server
CPU
RAM RAM
Server
CPU
RAM RAM
Server
CPU
RAM RAM
APP
4, Vanessa Simons, Canada, 199$
5, John Smith, Canada, 777$ 6, Scott Tiger, Canada, 333$
© 2015 Pythian - Presentation for Oracle OpenWorld
Inserting Data
27
• Well that’s not efficient, can’t each node insert
into it’s own block?
© 2015 Pythian - Presentation for Oracle OpenWorld
Inserting Data
28
• Yes we can! But…
• ASSM
• Instances can “own” L1 space metadata,
which maps to N blocks
• Larger segments
• To have multiple L1 space metadata,
larger segments are required
© 2015 Pythian - Presentation for Oracle OpenWorld
ASSM – bitmapped space mgmt
29
ASSM
L3
L2
L2
L1
1
L1
2
L1
3
L1
4
L1
5
L1
6
L1
7
L1
8
BLOCKS
1 2 3 4
5 6 7 8
BLOCKS
9 10 11 12
13 14 15 16
© 2015 Pythian - Presentation for Oracle OpenWorld
ASSM
30
Server
CPU
RAM RAM
Server
CPU
RAM RAM
Server
CPU
RAM RAM
APP
4, Vanessa Simons, Canada, 199$ 5, John Smith, Canada, 777$ 6, Scott Tiger, Canada, 333$
L1
1
BLOCKS
L1
2
BLOCKS
L1
3
BLOCKS
© 2015 Pythian - Presentation for Oracle OpenWorld
Primary Key
31
• Primary Key – an index
• Each row has a very
specific place
• Must insert into last block,
always
• Sequentially generated
• … or is it?
Oracle Table Block
8 KiB (8192)
1, Christo Kutrovsky, Canada, 99$
2, Alex Gorbachev, Canada, 98$
3, Marc Fielding, Canada, 101$
4, Vanessa Simons, Canada, 199$
5, John Smith, Canada, 777$
6, Scott Tiger, Canada, 333$
7, ……………………..
© 2015 Pythian - Presentation for Oracle OpenWorld
Sequences
32
• Sequences can be
• Cached or NOcached
• Ordered or NOordered
• Cached NOordered with large cache are your best
friend
• A sequence’s cache “sticks” with a RAC node
• cache 10,000 – 10,000 sequential values
assigned to node 1
© 2015 Pythian - Presentation for Oracle OpenWorld
NO ORDER
33
Server
CPU
RAM RAM
Server
CPU
RAM RAM
Server
CPU
RAM RAM
APP
?, Vanessa Simons, Canada, 199$ ?, John Smith, Canada, 777$ ?, Scott Tiger, Canada, 333$
10,001
10,002
20,001
20,002
30,001
30,002
© 2015 Pythian - Presentation for Oracle OpenWorld
Sequences
34
• Cached noordered 10,000 cache – almost perfect
• Oracle numbers “compress” zeroes
• 10,000 and 20,000 are next to each other
• Sequence dictionary updates moves blocks
• Order not maintained
• But what if it’s required?
• Is it required?
• When do you consider the row “inserted”?
• What if delayed due to lock/concurrency?
© 2015 Pythian - Presentation for Oracle OpenWorld
Index on date inserted
35
• Concurrently inserted records
have same date or very close
• Specific ordering in blocks
• No flexibility on values
• Same for index on Country or
any other “same value”
column
Oracle Table Block
8 KiB (8192)
1, Christo Kutrovsky, Canada, 99$
2, Alex Gorbachev, Canada, 98$
3, Marc Fielding, Canada, 101$
4, Vanessa Simons, Canada, 199$
5, John Smith, Canada, 777$
6, Scott Tiger, Canada, 333$
7, ……………………..
© 2015 Pythian - Presentation for Oracle OpenWorld
Dates
36
Server
CPU
RAM RAM
Server
CPU
RAM RAM
Server
CPU
RAM RAM
APP
?, Vanessa Simons, Canada, 199$ ?, John Smith, Canada, 777$ ?, Scott Tiger, Canada, 333$
11:09:01 11:09:01 11:09:01
© 2015 Pythian - Presentation for Oracle OpenWorld
Same Value Index
37
• Requires Partitioning
• Changes everything
• Partition key selection is non-trivial
• Local Indexes
• Lots of combinations
• Primary key local or global
• Depends on partition key and type
• Lots of considerations
• Data locality
© 2015 Pythian - Presentation for Oracle OpenWorld
Partition 4
BLOCKS
1 2 3 4
5 6 7 8
IDX
Date
IDX
PK
Partitioning
38
Partition 1
BLOCKS
1 2 3 4
5 6 7 8
IDX
Date
IDX
PK
Partition 2
BLOCKS
1 2 3 4
5 6 7 8
IDX
Date
IDX
PK
Partition 3
BLOCKS
1 2 3 4
5 6 7 8
IDX
Date
IDX
PK
© 2015 Pythian - Presentation for Oracle OpenWorld
Same Value Index
39
• Multiple partitions
• Create multiple blocks that have the “current”
date
• “current” block will still move around the
cluster, but decreases chances of “collisions”
• Still far from ideal
© 2015 Pythian - Presentation for Oracle OpenWorld
Same Value Index - Other
40
• Alternative solutions
• Prefix same value index with customer ID
• Prefix same value index with INSTANCE_ID
• “fake” local index
• Relies on skip scan
41
Application Partitioning
© 2015 Pythian - Presentation for Oracle OpenWorld
APP
APPApps
42
Server
CPU
RAM RAM
Server
CPU
RAM RAM
Server
CPU
RAM RAM
APP
11:09:01 11:09:01 11:09:01
© 2015 Pythian - Presentation for Oracle OpenWorld
Apps
43
Server
CPU
RAM RAM
Server
CPU
RAM RAM
Server
CPU
RAM RAM
Server
APP
Server
APP
Server
APP
© 2015 Pythian - Presentation for Oracle OpenWorld
Application partitioning
44
What if I told you it doesn’t have to be like that?
© 2015 Pythian - Presentation for Oracle OpenWorld
Application partitioning
45
• By Functionality
• Not all functions of the application require
concurrent modifications
• Isolating by functionality is the easiest and
fastest way to ‘fix’ RAC unfriendly activities
• Such functionality has inherently bad
scalability properties, as number of cores
increase, this will become bigger problem
• Cache fusion will mirror concurrently read data
• Multiple nodes do not ‘add’ to caching benefits
© 2015 Pythian - Presentation for Oracle OpenWorld
Apps
46
Server
CPU
RAM RAM
Server
CPU
RAM RAM
Server
CPU
RAM RAM
Server
APP
Server
APP
Server
APP
Module(s)
With
Concurrent
Modifications
© 2015 Pythian - Presentation for Oracle OpenWorld
Application Partitioning
47
What if a single module exceeds the performance
capacity of a single node?
© 2015 Pythian - Presentation for Oracle OpenWorld
More Performance
48
• Tune it
• What are you doing?
• Can you not do it?
• Can you do it more efficiently?
• Are you using the latest hardware?
• Should probably start with this
• Still need more?
© 2015 Pythian - Presentation for Oracle OpenWorld49
Server
CPU
RAM RAM
Server
CPU
RAM RAM
Server
CPU
RAM RAM
Server
APP
Server
APP
Server
APP
Server
APP
Server
APP
© 2015 Pythian - Presentation for Oracle OpenWorld50
Server
CPU
RAM RAM
Server
CPU
RAM RAM
Server
CPU
RAM RAM
Server
APP
Server
APP
Server
APP
Server
APP
Server
APP
Server
APP
© 2015 Pythian - Presentation for Oracle OpenWorld
Data Partitioning
51
• By Data
• Each application server processes a subset of
the data
• By Customer ID
• By Region – data balancing challenges
© 2015 Pythian - Presentation for Oracle OpenWorld52
Server
CPU
RAM RAM
Server
CPU
RAM RAM
Server
CPU
RAM RAM
Server
APP
Server
APP
Server
APP
Server
APP
Server
APP
Server
APP
Load Balancer
© 2015 Pythian - Presentation for Oracle OpenWorld
Data Partitioning
53
• Partition the Database to match
• Consider growth – have significantly more
buckets than servers
• Local indexes everywhere
• Partition key and Primary Key generation can be
challenging
• If partitioned by primary key, key generation
from one node, must not send data to multiple
partitions
• Secondary unique indexes still challenging
© 2015 Pythian - Presentation for Oracle OpenWorld
Data Partitioning – Primary Keys
56
• Unique Keys
• Primary Keys usually part of partition key
• Two level partitioning (range for historical,
hash for concurrency) – global partitioned
indexes
© 2015 Pythian - Presentation for Oracle OpenWorld
Sharded Data – why use RAC?
57
• Most apps will “just work”
• Few components require extra attention
• Not all data is sharded
• Reference / Lookup Data is shared
• Low concurrency data does not need to be
sharded
• Redundancy – can ‘fail back’ to any node
• Caching (performance) implications
© 2015 Pythian - Presentation for Oracle OpenWorld
Sharded Data – why use RAC?
58
• Some data cannot be sharded one way
• Many to Many
• Buyer/Seller with portals for both customers
and stores
• Manual sharding mistakes – loose data
• Non shardable queries? Code manually?
• Sharded queries and sorting
• Schema Changes/Indexing
© 2015 Pythian - Presentation for Oracle OpenWorld
Why use RAC?
59
• Run reports across all data
© 2015 Pythian - Presentation for Oracle OpenWorld
Reports Across all Data
60
• No replication
• Cross shard consistency – even after data restore
• No data movement
• Reuse cache from each node
• Parallel queries can leverage all nodes
• MPP on OLTP data
62
Final Thoughts
© 2015 Pythian - Presentation for Oracle OpenWorld
Final Thoughts
63
• RAC Works
• With a little help
• RAC Scales
• Your CPU
• Sometimes your RAM
• Not your disk
• RAC can be
• share everything
• share nothing
© 2009/2010 Pythian - Presentation for ABC Company64
The End
Thank You
Questions?
I blog at
http://www.pythian.com/news/author/kutrovsky/

More Related Content

What's hot

Looking at RAC, GI/Clusterware Diagnostic Tools
Looking at RAC,   GI/Clusterware Diagnostic Tools Looking at RAC,   GI/Clusterware Diagnostic Tools
Looking at RAC, GI/Clusterware Diagnostic Tools Leighton Nelson
 
Using VirtualBox - Learn Oracle Database 12c and EBS R12
Using VirtualBox - Learn Oracle Database 12c and EBS R12Using VirtualBox - Learn Oracle Database 12c and EBS R12
Using VirtualBox - Learn Oracle Database 12c and EBS R12Biju Thomas
 
Oracle Drivers configuration for High Availability
Oracle Drivers configuration for High AvailabilityOracle Drivers configuration for High Availability
Oracle Drivers configuration for High AvailabilityLudovico Caldara
 
SQL in the Hybrid World
SQL in the Hybrid WorldSQL in the Hybrid World
SQL in the Hybrid WorldTanel Poder
 
Performance Scenario: Diagnosing and resolving sudden slow down on two node RAC
Performance Scenario: Diagnosing and resolving sudden slow down on two node RACPerformance Scenario: Diagnosing and resolving sudden slow down on two node RAC
Performance Scenario: Diagnosing and resolving sudden slow down on two node RACKristofferson A
 
MySQL 5.7: Focus on InnoDB
MySQL 5.7: Focus on InnoDBMySQL 5.7: Focus on InnoDB
MySQL 5.7: Focus on InnoDBMario Beck
 
Oracle Exadata Performance: Latest Improvements and Less Known Features
Oracle Exadata Performance: Latest Improvements and Less Known FeaturesOracle Exadata Performance: Latest Improvements and Less Known Features
Oracle Exadata Performance: Latest Improvements and Less Known FeaturesTanel Poder
 
RMAN best practices for RAC
RMAN best practices for RACRMAN best practices for RAC
RMAN best practices for RACSyed Hussain
 
Expert performance tuning tips for Oracle RAC
Expert performance tuning tips for Oracle RACExpert performance tuning tips for Oracle RAC
Expert performance tuning tips for Oracle RACSolarWinds
 
Oracle Active Data Guard 12c New Features
Oracle Active Data Guard 12c New FeaturesOracle Active Data Guard 12c New Features
Oracle Active Data Guard 12c New FeaturesEmre Baransel
 
Oracle WebLogic Server 12c with Docker
Oracle WebLogic Server 12c with DockerOracle WebLogic Server 12c with Docker
Oracle WebLogic Server 12c with DockerGuatemala User Group
 
Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...
Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...
Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...Sandesh Rao
 
Oracle Drivers configuration for High Availability, is it a developer's job?
Oracle Drivers configuration for High Availability, is it a developer's job?Oracle Drivers configuration for High Availability, is it a developer's job?
Oracle Drivers configuration for High Availability, is it a developer's job?Ludovico Caldara
 
OTN Tour 2014: Rac 11g vs 12c
OTN Tour 2014: Rac 11g vs 12cOTN Tour 2014: Rac 11g vs 12c
OTN Tour 2014: Rac 11g vs 12cDeiby Gómez
 
How oracle 12c flexes its muscles against oracle 11g r2 final
How oracle 12c flexes its muscles against oracle 11g r2 finalHow oracle 12c flexes its muscles against oracle 11g r2 final
How oracle 12c flexes its muscles against oracle 11g r2 finalAjith Narayanan
 
Learning Oracle with Oracle VM VirtualBox Whitepaper
Learning Oracle with Oracle VM VirtualBox WhitepaperLearning Oracle with Oracle VM VirtualBox Whitepaper
Learning Oracle with Oracle VM VirtualBox WhitepaperLeighton Nelson
 
LVOUG meetup #2 - Forcing SQL Execution Plan Instability
LVOUG meetup #2 - Forcing SQL Execution Plan InstabilityLVOUG meetup #2 - Forcing SQL Execution Plan Instability
LVOUG meetup #2 - Forcing SQL Execution Plan InstabilityMaris Elsins
 
Reducing Your E-Business Suite Storage Footprint Using Oracle Advanced Compre...
Reducing Your E-Business Suite Storage Footprint Using Oracle Advanced Compre...Reducing Your E-Business Suite Storage Footprint Using Oracle Advanced Compre...
Reducing Your E-Business Suite Storage Footprint Using Oracle Advanced Compre...Andrejs Karpovs
 

What's hot (20)

Looking at RAC, GI/Clusterware Diagnostic Tools
Looking at RAC,   GI/Clusterware Diagnostic Tools Looking at RAC,   GI/Clusterware Diagnostic Tools
Looking at RAC, GI/Clusterware Diagnostic Tools
 
Using VirtualBox - Learn Oracle Database 12c and EBS R12
Using VirtualBox - Learn Oracle Database 12c and EBS R12Using VirtualBox - Learn Oracle Database 12c and EBS R12
Using VirtualBox - Learn Oracle Database 12c and EBS R12
 
Oracle Drivers configuration for High Availability
Oracle Drivers configuration for High AvailabilityOracle Drivers configuration for High Availability
Oracle Drivers configuration for High Availability
 
SQL in the Hybrid World
SQL in the Hybrid WorldSQL in the Hybrid World
SQL in the Hybrid World
 
Performance Scenario: Diagnosing and resolving sudden slow down on two node RAC
Performance Scenario: Diagnosing and resolving sudden slow down on two node RACPerformance Scenario: Diagnosing and resolving sudden slow down on two node RAC
Performance Scenario: Diagnosing and resolving sudden slow down on two node RAC
 
MySQL 5.7: Focus on InnoDB
MySQL 5.7: Focus on InnoDBMySQL 5.7: Focus on InnoDB
MySQL 5.7: Focus on InnoDB
 
Oracle Exadata Performance: Latest Improvements and Less Known Features
Oracle Exadata Performance: Latest Improvements and Less Known FeaturesOracle Exadata Performance: Latest Improvements and Less Known Features
Oracle Exadata Performance: Latest Improvements and Less Known Features
 
RMAN best practices for RAC
RMAN best practices for RACRMAN best practices for RAC
RMAN best practices for RAC
 
Rapid Home Provisioning
Rapid Home ProvisioningRapid Home Provisioning
Rapid Home Provisioning
 
Expert performance tuning tips for Oracle RAC
Expert performance tuning tips for Oracle RACExpert performance tuning tips for Oracle RAC
Expert performance tuning tips for Oracle RAC
 
Oracle Active Data Guard 12c New Features
Oracle Active Data Guard 12c New FeaturesOracle Active Data Guard 12c New Features
Oracle Active Data Guard 12c New Features
 
Avoid boring work_v2
Avoid boring work_v2Avoid boring work_v2
Avoid boring work_v2
 
Oracle WebLogic Server 12c with Docker
Oracle WebLogic Server 12c with DockerOracle WebLogic Server 12c with Docker
Oracle WebLogic Server 12c with Docker
 
Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...
Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...
Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...
 
Oracle Drivers configuration for High Availability, is it a developer's job?
Oracle Drivers configuration for High Availability, is it a developer's job?Oracle Drivers configuration for High Availability, is it a developer's job?
Oracle Drivers configuration for High Availability, is it a developer's job?
 
OTN Tour 2014: Rac 11g vs 12c
OTN Tour 2014: Rac 11g vs 12cOTN Tour 2014: Rac 11g vs 12c
OTN Tour 2014: Rac 11g vs 12c
 
How oracle 12c flexes its muscles against oracle 11g r2 final
How oracle 12c flexes its muscles against oracle 11g r2 finalHow oracle 12c flexes its muscles against oracle 11g r2 final
How oracle 12c flexes its muscles against oracle 11g r2 final
 
Learning Oracle with Oracle VM VirtualBox Whitepaper
Learning Oracle with Oracle VM VirtualBox WhitepaperLearning Oracle with Oracle VM VirtualBox Whitepaper
Learning Oracle with Oracle VM VirtualBox Whitepaper
 
LVOUG meetup #2 - Forcing SQL Execution Plan Instability
LVOUG meetup #2 - Forcing SQL Execution Plan InstabilityLVOUG meetup #2 - Forcing SQL Execution Plan Instability
LVOUG meetup #2 - Forcing SQL Execution Plan Instability
 
Reducing Your E-Business Suite Storage Footprint Using Oracle Advanced Compre...
Reducing Your E-Business Suite Storage Footprint Using Oracle Advanced Compre...Reducing Your E-Business Suite Storage Footprint Using Oracle Advanced Compre...
Reducing Your E-Business Suite Storage Footprint Using Oracle Advanced Compre...
 

Viewers also liked

How we took our server side application to the cloud and liked what we got
How we took our server side application to the cloud and liked what we gotHow we took our server side application to the cloud and liked what we got
How we took our server side application to the cloud and liked what we gotBaruch Sadogursky
 
Fatkulin hotsos 2014
Fatkulin hotsos 2014Fatkulin hotsos 2014
Fatkulin hotsos 2014Enkitec
 
A brief history of DTrace
A brief history of DTraceA brief history of DTrace
A brief history of DTraceahl0003
 
SSD based storage tuning for databases
SSD based storage tuning for databasesSSD based storage tuning for databases
SSD based storage tuning for databasesAngelo Rajadurai
 
Solaris Kernel Debugging V1.0
Solaris Kernel Debugging V1.0Solaris Kernel Debugging V1.0
Solaris Kernel Debugging V1.0Jarod Wang
 
GEAR UP Final Report UPDATE 4 13 15
GEAR UP Final Report UPDATE 4 13 15GEAR UP Final Report UPDATE 4 13 15
GEAR UP Final Report UPDATE 4 13 15Brian Risi
 
Anil nair rac_internals_sangam_2016
Anil nair rac_internals_sangam_2016Anil nair rac_internals_sangam_2016
Anil nair rac_internals_sangam_2016Anil Nair
 
DTrace - Miracle Scotland Database Forum
DTrace - Miracle Scotland Database ForumDTrace - Miracle Scotland Database Forum
DTrace - Miracle Scotland Database ForumDoug Burns
 
DTrace talk at Oracle Open World
DTrace talk at Oracle Open WorldDTrace talk at Oracle Open World
DTrace talk at Oracle Open WorldAngelo Rajadurai
 
In Memory Database In Action by Tanel Poder and Kerry Osborne
In Memory Database In Action by Tanel Poder and Kerry OsborneIn Memory Database In Action by Tanel Poder and Kerry Osborne
In Memory Database In Action by Tanel Poder and Kerry OsborneEnkitec
 
OGG Architecture Performance
OGG Architecture PerformanceOGG Architecture Performance
OGG Architecture PerformanceEnkitec
 
Gear and Gear trains
Gear and Gear trainsGear and Gear trains
Gear and Gear trainsMANJUNATH N
 
Aioug vizag oracle12c_new_features
Aioug vizag oracle12c_new_featuresAioug vizag oracle12c_new_features
Aioug vizag oracle12c_new_featuresAiougVizagChapter
 
COUG_AAbate_Oracle_Database_12c_New_Features
COUG_AAbate_Oracle_Database_12c_New_FeaturesCOUG_AAbate_Oracle_Database_12c_New_Features
COUG_AAbate_Oracle_Database_12c_New_FeaturesAlfredo Abate
 
Engineered Systems: Environment-as-a-Service Demonstration
Engineered Systems: Environment-as-a-Service DemonstrationEngineered Systems: Environment-as-a-Service Demonstration
Engineered Systems: Environment-as-a-Service DemonstrationEnkitec
 
Oracle12 - The Top12 Features by NAYA Technologies
Oracle12 - The Top12 Features by NAYA TechnologiesOracle12 - The Top12 Features by NAYA Technologies
Oracle12 - The Top12 Features by NAYA TechnologiesNAYATech
 
Introduce to Spark sql 1.3.0
Introduce to Spark sql 1.3.0 Introduce to Spark sql 1.3.0
Introduce to Spark sql 1.3.0 Bryan Yang
 
Using Angular JS in APEX
Using Angular JS in APEXUsing Angular JS in APEX
Using Angular JS in APEXEnkitec
 

Viewers also liked (20)

How we took our server side application to the cloud and liked what we got
How we took our server side application to the cloud and liked what we gotHow we took our server side application to the cloud and liked what we got
How we took our server side application to the cloud and liked what we got
 
Fatkulin hotsos 2014
Fatkulin hotsos 2014Fatkulin hotsos 2014
Fatkulin hotsos 2014
 
A brief history of DTrace
A brief history of DTraceA brief history of DTrace
A brief history of DTrace
 
SSD based storage tuning for databases
SSD based storage tuning for databasesSSD based storage tuning for databases
SSD based storage tuning for databases
 
Solaris Kernel Debugging V1.0
Solaris Kernel Debugging V1.0Solaris Kernel Debugging V1.0
Solaris Kernel Debugging V1.0
 
GEAR UP Final Report UPDATE 4 13 15
GEAR UP Final Report UPDATE 4 13 15GEAR UP Final Report UPDATE 4 13 15
GEAR UP Final Report UPDATE 4 13 15
 
Anil nair rac_internals_sangam_2016
Anil nair rac_internals_sangam_2016Anil nair rac_internals_sangam_2016
Anil nair rac_internals_sangam_2016
 
Convert single instance to RAC
Convert single instance to RACConvert single instance to RAC
Convert single instance to RAC
 
DTrace - Miracle Scotland Database Forum
DTrace - Miracle Scotland Database ForumDTrace - Miracle Scotland Database Forum
DTrace - Miracle Scotland Database Forum
 
DTrace talk at Oracle Open World
DTrace talk at Oracle Open WorldDTrace talk at Oracle Open World
DTrace talk at Oracle Open World
 
In Memory Database In Action by Tanel Poder and Kerry Osborne
In Memory Database In Action by Tanel Poder and Kerry OsborneIn Memory Database In Action by Tanel Poder and Kerry Osborne
In Memory Database In Action by Tanel Poder and Kerry Osborne
 
OGG Architecture Performance
OGG Architecture PerformanceOGG Architecture Performance
OGG Architecture Performance
 
Gear and Gear trains
Gear and Gear trainsGear and Gear trains
Gear and Gear trains
 
Aioug vizag oracle12c_new_features
Aioug vizag oracle12c_new_featuresAioug vizag oracle12c_new_features
Aioug vizag oracle12c_new_features
 
COUG_AAbate_Oracle_Database_12c_New_Features
COUG_AAbate_Oracle_Database_12c_New_FeaturesCOUG_AAbate_Oracle_Database_12c_New_Features
COUG_AAbate_Oracle_Database_12c_New_Features
 
Engineered Systems: Environment-as-a-Service Demonstration
Engineered Systems: Environment-as-a-Service DemonstrationEngineered Systems: Environment-as-a-Service Demonstration
Engineered Systems: Environment-as-a-Service Demonstration
 
Oracle12 - The Top12 Features by NAYA Technologies
Oracle12 - The Top12 Features by NAYA TechnologiesOracle12 - The Top12 Features by NAYA Technologies
Oracle12 - The Top12 Features by NAYA Technologies
 
Gears
GearsGears
Gears
 
Introduce to Spark sql 1.3.0
Introduce to Spark sql 1.3.0 Introduce to Spark sql 1.3.0
Introduce to Spark sql 1.3.0
 
Using Angular JS in APEX
Using Angular JS in APEXUsing Angular JS in APEX
Using Angular JS in APEX
 

Similar to Christo kutrovsky oracle rac solving common scalability problems

MySQL as a Document Store
MySQL as a Document StoreMySQL as a Document Store
MySQL as a Document StoreTed Wennmark
 
Christo kutrovsky oracle, memory & linux
Christo kutrovsky   oracle, memory & linuxChristo kutrovsky   oracle, memory & linux
Christo kutrovsky oracle, memory & linuxKyle Hailey
 
Introduction to MySQL
Introduction to MySQLIntroduction to MySQL
Introduction to MySQLTed Wennmark
 
2019 - GUOB Tech Day / Groundbreakers LAD Tour - Database Migration Methods t...
2019 - GUOB Tech Day / Groundbreakers LAD Tour - Database Migration Methods t...2019 - GUOB Tech Day / Groundbreakers LAD Tour - Database Migration Methods t...
2019 - GUOB Tech Day / Groundbreakers LAD Tour - Database Migration Methods t...Marcus Vinicius Miguel Pedro
 
2019 - OOW - Database Migration Methods from On-Premise to Cloud
2019 - OOW - Database Migration Methods from On-Premise to Cloud2019 - OOW - Database Migration Methods from On-Premise to Cloud
2019 - OOW - Database Migration Methods from On-Premise to CloudMarcus Vinicius Miguel Pedro
 
2018: State of the Dolphin, MySQL Keynote at Percona Live Europe 2018, Frankf...
2018: State of the Dolphin, MySQL Keynote at Percona Live Europe 2018, Frankf...2018: State of the Dolphin, MySQL Keynote at Percona Live Europe 2018, Frankf...
2018: State of the Dolphin, MySQL Keynote at Percona Live Europe 2018, Frankf...Geir Høydalsvik
 
MySQL Tech Tour 2015 - 5.7 InnoDB
MySQL Tech Tour 2015 - 5.7 InnoDBMySQL Tech Tour 2015 - 5.7 InnoDB
MySQL Tech Tour 2015 - 5.7 InnoDBMark Swarbrick
 
My sql cluster case study apr16
My sql cluster case study apr16My sql cluster case study apr16
My sql cluster case study apr16Sumi Ryu
 
CON6492 - Oracle Database Public Cloud Services v1 1
CON6492 - Oracle Database Public Cloud Services v1 1CON6492 - Oracle Database Public Cloud Services v1 1
CON6492 - Oracle Database Public Cloud Services v1 1David van Schalkwyk
 
01 demystifying mysq-lfororacledbaanddeveloperv1
01 demystifying mysq-lfororacledbaanddeveloperv101 demystifying mysq-lfororacledbaanddeveloperv1
01 demystifying mysq-lfororacledbaanddeveloperv1Ivan Ma
 
VMworld 2013: Virtualizing Databases: Doing IT Right
VMworld 2013: Virtualizing Databases: Doing IT Right VMworld 2013: Virtualizing Databases: Doing IT Right
VMworld 2013: Virtualizing Databases: Doing IT Right VMworld
 
MySQL Day Paris 2016 - State Of The Dolphin
MySQL Day Paris 2016 - State Of The DolphinMySQL Day Paris 2016 - State Of The Dolphin
MySQL Day Paris 2016 - State Of The DolphinOlivier DASINI
 
KoprowskiT_SQLRelay2014#4_Caerdydd_MaintenancePlansForBeginners
KoprowskiT_SQLRelay2014#4_Caerdydd_MaintenancePlansForBeginnersKoprowskiT_SQLRelay2014#4_Caerdydd_MaintenancePlansForBeginners
KoprowskiT_SQLRelay2014#4_Caerdydd_MaintenancePlansForBeginnersTobias Koprowski
 
What's New in MySQL 5.7
What's New in MySQL 5.7What's New in MySQL 5.7
What's New in MySQL 5.7Olivier DASINI
 
My sql 56_roadmap_april2012
My sql 56_roadmap_april2012My sql 56_roadmap_april2012
My sql 56_roadmap_april2012sqlhjalp
 

Similar to Christo kutrovsky oracle rac solving common scalability problems (20)

MySQL as a Document Store
MySQL as a Document StoreMySQL as a Document Store
MySQL as a Document Store
 
Christo kutrovsky oracle, memory & linux
Christo kutrovsky   oracle, memory & linuxChristo kutrovsky   oracle, memory & linux
Christo kutrovsky oracle, memory & linux
 
Introduction to MySQL
Introduction to MySQLIntroduction to MySQL
Introduction to MySQL
 
2019 - GUOB Tech Day / Groundbreakers LAD Tour - Database Migration Methods t...
2019 - GUOB Tech Day / Groundbreakers LAD Tour - Database Migration Methods t...2019 - GUOB Tech Day / Groundbreakers LAD Tour - Database Migration Methods t...
2019 - GUOB Tech Day / Groundbreakers LAD Tour - Database Migration Methods t...
 
2019 - OOW - Database Migration Methods from On-Premise to Cloud
2019 - OOW - Database Migration Methods from On-Premise to Cloud2019 - OOW - Database Migration Methods from On-Premise to Cloud
2019 - OOW - Database Migration Methods from On-Premise to Cloud
 
AMIS Oracle OpenWorld 2013 Review Part 1 - Intro Overview Innovation, Hardwar...
AMIS Oracle OpenWorld 2013 Review Part 1 - Intro Overview Innovation, Hardwar...AMIS Oracle OpenWorld 2013 Review Part 1 - Intro Overview Innovation, Hardwar...
AMIS Oracle OpenWorld 2013 Review Part 1 - Intro Overview Innovation, Hardwar...
 
2018: State of the Dolphin, MySQL Keynote at Percona Live Europe 2018, Frankf...
2018: State of the Dolphin, MySQL Keynote at Percona Live Europe 2018, Frankf...2018: State of the Dolphin, MySQL Keynote at Percona Live Europe 2018, Frankf...
2018: State of the Dolphin, MySQL Keynote at Percona Live Europe 2018, Frankf...
 
MySQL Tech Tour 2015 - 5.7 InnoDB
MySQL Tech Tour 2015 - 5.7 InnoDBMySQL Tech Tour 2015 - 5.7 InnoDB
MySQL Tech Tour 2015 - 5.7 InnoDB
 
OOW13 Exadata and ODI with Parallel
OOW13 Exadata and ODI with ParallelOOW13 Exadata and ODI with Parallel
OOW13 Exadata and ODI with Parallel
 
My sql cluster case study apr16
My sql cluster case study apr16My sql cluster case study apr16
My sql cluster case study apr16
 
CON6492 - Oracle Database Public Cloud Services v1 1
CON6492 - Oracle Database Public Cloud Services v1 1CON6492 - Oracle Database Public Cloud Services v1 1
CON6492 - Oracle Database Public Cloud Services v1 1
 
01 demystifying mysq-lfororacledbaanddeveloperv1
01 demystifying mysq-lfororacledbaanddeveloperv101 demystifying mysq-lfororacledbaanddeveloperv1
01 demystifying mysq-lfororacledbaanddeveloperv1
 
2020 - OCI Key Concepts for Oracle DBAs
2020 - OCI Key Concepts for Oracle DBAs2020 - OCI Key Concepts for Oracle DBAs
2020 - OCI Key Concepts for Oracle DBAs
 
Plantilla oracle
Plantilla oraclePlantilla oracle
Plantilla oracle
 
VMworld 2013: Virtualizing Databases: Doing IT Right
VMworld 2013: Virtualizing Databases: Doing IT Right VMworld 2013: Virtualizing Databases: Doing IT Right
VMworld 2013: Virtualizing Databases: Doing IT Right
 
MySQL Cluster
MySQL ClusterMySQL Cluster
MySQL Cluster
 
MySQL Day Paris 2016 - State Of The Dolphin
MySQL Day Paris 2016 - State Of The DolphinMySQL Day Paris 2016 - State Of The Dolphin
MySQL Day Paris 2016 - State Of The Dolphin
 
KoprowskiT_SQLRelay2014#4_Caerdydd_MaintenancePlansForBeginners
KoprowskiT_SQLRelay2014#4_Caerdydd_MaintenancePlansForBeginnersKoprowskiT_SQLRelay2014#4_Caerdydd_MaintenancePlansForBeginners
KoprowskiT_SQLRelay2014#4_Caerdydd_MaintenancePlansForBeginners
 
What's New in MySQL 5.7
What's New in MySQL 5.7What's New in MySQL 5.7
What's New in MySQL 5.7
 
My sql 56_roadmap_april2012
My sql 56_roadmap_april2012My sql 56_roadmap_april2012
My sql 56_roadmap_april2012
 

Recently uploaded

Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfYashikaSharma391629
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 

Recently uploaded (20)

Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 

Christo kutrovsky oracle rac solving common scalability problems

  • 1. Oracle RAC – Solving Common Scalability Problems Presented by: Christo Kutrovsky
  • 2. © 2015 Pythian - Presentation for Oracle OpenWorld Who Am I 2 • Oracle ACE • 15 years in Oracle field • Joined Pythian 2003 • Part of Pythian Consulting Group • Special projects • Performance tuning • Critical services • Presenter at: IOUG, RMOUG, UKOUG, OpenWorld “oracle pinup”
  • 3. © 2015 Pythian - Presentation for Oracle OpenWorld3 © 2011 Pythian - Confidential Why Companies Trust Pythian • Recognized Leader: • Global industry-leader in remote database administration services and consulting for Oracle, Oracle Applications, MySQL and SQL Server • Work with over 150 multinational companies such as Forbes.com, Fox Sports, Nordion and Western Union to help manage their complex IT deployments • Expertise: • One of the world’s largest concentrations of dedicated, full-time DBA expertise. Employ 7 Oracle ACEs/ACE Directors. • Hold 7 Specializations under Oracle Platinum Partner program, including Oracle Exadata, Oracle GoldenGate & Oracle RAC. • Global Reach & Scalability: • 24/7/365 global remote support for DBA and consulting, systems administration, special projects or emergency response
  • 4. © 2015 Pythian - Presentation for Oracle OpenWorld Questions for Audience 5 • How many have RAC today? • How many have RAC for HA? • How many have RAC for scalability? • How many plan to move to RAC? • How many develop on RAC?
  • 5. 6 Scale UP vs Scale OUT
  • 6. © 2015 Pythian - Presentation for Oracle OpenWorld Scale UP vs Scale OUT 7 • Can have many meanings • Scale UP • Get a bigger machine • Scale OUT • Get more machines
  • 7. © 2015 Pythian - Presentation for Oracle OpenWorld Database Performance 8 • Has 2 primary components • CPU – compute capacity • IO – data transfer capacity • Disk • Network • Cache (RAM) • Implementation specifics • Database scalability – latches, mutexes, threading etc.
  • 8. © 2015 Pythian - Presentation for Oracle OpenWorld Database Performance 9 Disk Server CPU RAM RAM APP
  • 9. © 2015 Pythian - Presentation for Oracle OpenWorld Database Performance – Scale UP 10 Disk Server CPU RAM RAM APP CPU RAM RAM
  • 10. © 2015 Pythian - Presentation for Oracle OpenWorld Database – Scale OUT 11 Disk Server CPU RAM RAM APP Server CPU RAM RAM Server CPU RAM RAM
  • 11. © 2015 Pythian - Presentation for Oracle OpenWorld Scale UP – challenges 2011 12 • Scale UP • Limited “max size” • Appears unified, but is not, NUMA • Slower CPUs • 12.8-GB/sec per QPI • Up to 88 Gb/sec of network (NEM) • 8 PCIe slots Sources: http://www.oracle.com/technetwork/articles/systems-hardware-architecture/sun-server-x2-8-architecture-1689083.pdf
  • 12. © 2015 Pythian - Presentation for Oracle OpenWorld CPU Comparison 2011 13 X3-2 • 8 cores per chip • 2 chips max • Server with 16 cores: 702 (SPECint®_rate2006) • 35% capacity of x3-8 • 43.8 per core • 1.8 x faster X3-8 • 10 cores per chip • 8 chips max • server with 80 cores: 1990 (SPECint®_rate2006) • 2.8 X Capacity • 24.8 per core • 56% speed of x3-2 Sources: http://www.spec.org/cpu2006/results/res2012q4/cpu2006-20121104-24909.html http://www.spec.org/cpu2006/results/res2012q3/cpu2006-20120710-23574.html
  • 13. © 2015 Pythian - Presentation for Oracle OpenWorld CPU Comparison 2015 14 X5-2 • 18 cores per chip • 2 chips max • Server with 36 cores: 1400 (SPECint®_rate2006) • 30% Capacity of X4-8 • 38.8 per core • 45 MB CPU cache • 1U X4-8 • 15 cores per chip • 8 chips max • Server with 120 cores: 4610 (SPECint®_rate2006) • 3.2 X capacity of x5-2 • 38.4 per core • 40 MB CPU cache • 4U Sources: http://spec.org/cpu2006/results/res2014q4/cpu2006-20141007-32157.html http://spec.org/cpu2006/results/res2014q4/cpu2006-20141120-33211.html
  • 14. © 2015 Pythian - Presentation for Oracle OpenWorld Scale OUT 16 • Requires Synchronisation Software – Oracle RAC • Requires “interconnect” network • Low latency critical • Requires additional CPU resources for cross- node synchronisation • Some operations (ex. locking) significantly increased latency (network vs. memory)
  • 15. © 2015 Pythian - Presentation for Oracle OpenWorld Adding CPU hardware 17 • Both Scale UP and Scale OUT increase total CPU capacity • and IO network bandwidth • Does not improve IO latency • Does not improve IO requests capacity • Does not improve application response time • Does not make your batch job run faster
  • 16. © 2015 Pythian - Presentation for Oracle OpenWorld Adding CPU hardware 18 • Adds more workers, but you must keep them busy – at the same time • Execute more tasks in parallel • Parallelise existing tasks
  • 17. © 2015 Pythian - Presentation for Oracle OpenWorld Adding CPU hardware 19 • Unless more RAM is added • Indirectly affects IO requests capacity • Indirectly affects IO latency
  • 19. © 2015 Pythian - Presentation for Oracle OpenWorld Why Scale OUT Oracle 21 • Natural High Availability • Infinite scalability – realistically • Smaller “block” of failure
  • 20. © 2015 Pythian - Presentation for Oracle OpenWorld Challenges with Oracle RAC 22 • Concurrent modifications latency increased drastically • Requires block transfer (CPU + network) • Requires partial disk flush (CPU + latency) • Concurrent reads do not share RAM cache • Each node has local copy • Oracle RAC Cache Fusion Reads slow • timings similar to SSD read speeds – 10,000x slower than memory reads
  • 22. © 2015 Pythian - Presentation for Oracle OpenWorld Data Block 24 • Oracle stores data in blocks, in rows • Each segment (table) has independent blocks* • Lowest granularity in RAC data exchange is block* • Modifying any data requires the block to be ‘acquired’ in local SGA (cache) Oracle Table Block 8 KiB (8192) 1, Christo Kutrovsky, Canada, 99$ 2, Alex Gorbachev, Canada, 98$ 3, Marc Fielding, Canada, 101$
  • 23. © 2015 Pythian - Presentation for Oracle OpenWorld Inserting Data 25 • Inserting a row is modifying the block Oracle Table Block 8 KiB (8192) 1, Christo Kutrovsky, Canada, 99$ 2, Alex Gorbachev, Canada, 98$ 3, Marc Fielding, Canada, 101$ 4, Vanessa Simons, Canada, 199$
  • 24. © 2015 Pythian - Presentation for Oracle OpenWorld Block needs to move 26 • Block will bounce from node to node depending on where the insert runs Server CPU RAM RAM Server CPU RAM RAM Server CPU RAM RAM APP 4, Vanessa Simons, Canada, 199$ 5, John Smith, Canada, 777$ 6, Scott Tiger, Canada, 333$
  • 25. © 2015 Pythian - Presentation for Oracle OpenWorld Inserting Data 27 • Well that’s not efficient, can’t each node insert into it’s own block?
  • 26. © 2015 Pythian - Presentation for Oracle OpenWorld Inserting Data 28 • Yes we can! But… • ASSM • Instances can “own” L1 space metadata, which maps to N blocks • Larger segments • To have multiple L1 space metadata, larger segments are required
  • 27. © 2015 Pythian - Presentation for Oracle OpenWorld ASSM – bitmapped space mgmt 29 ASSM L3 L2 L2 L1 1 L1 2 L1 3 L1 4 L1 5 L1 6 L1 7 L1 8 BLOCKS 1 2 3 4 5 6 7 8 BLOCKS 9 10 11 12 13 14 15 16
  • 28. © 2015 Pythian - Presentation for Oracle OpenWorld ASSM 30 Server CPU RAM RAM Server CPU RAM RAM Server CPU RAM RAM APP 4, Vanessa Simons, Canada, 199$ 5, John Smith, Canada, 777$ 6, Scott Tiger, Canada, 333$ L1 1 BLOCKS L1 2 BLOCKS L1 3 BLOCKS
  • 29. © 2015 Pythian - Presentation for Oracle OpenWorld Primary Key 31 • Primary Key – an index • Each row has a very specific place • Must insert into last block, always • Sequentially generated • … or is it? Oracle Table Block 8 KiB (8192) 1, Christo Kutrovsky, Canada, 99$ 2, Alex Gorbachev, Canada, 98$ 3, Marc Fielding, Canada, 101$ 4, Vanessa Simons, Canada, 199$ 5, John Smith, Canada, 777$ 6, Scott Tiger, Canada, 333$ 7, ……………………..
  • 30. © 2015 Pythian - Presentation for Oracle OpenWorld Sequences 32 • Sequences can be • Cached or NOcached • Ordered or NOordered • Cached NOordered with large cache are your best friend • A sequence’s cache “sticks” with a RAC node • cache 10,000 – 10,000 sequential values assigned to node 1
  • 31. © 2015 Pythian - Presentation for Oracle OpenWorld NO ORDER 33 Server CPU RAM RAM Server CPU RAM RAM Server CPU RAM RAM APP ?, Vanessa Simons, Canada, 199$ ?, John Smith, Canada, 777$ ?, Scott Tiger, Canada, 333$ 10,001 10,002 20,001 20,002 30,001 30,002
  • 32. © 2015 Pythian - Presentation for Oracle OpenWorld Sequences 34 • Cached noordered 10,000 cache – almost perfect • Oracle numbers “compress” zeroes • 10,000 and 20,000 are next to each other • Sequence dictionary updates moves blocks • Order not maintained • But what if it’s required? • Is it required? • When do you consider the row “inserted”? • What if delayed due to lock/concurrency?
  • 33. © 2015 Pythian - Presentation for Oracle OpenWorld Index on date inserted 35 • Concurrently inserted records have same date or very close • Specific ordering in blocks • No flexibility on values • Same for index on Country or any other “same value” column Oracle Table Block 8 KiB (8192) 1, Christo Kutrovsky, Canada, 99$ 2, Alex Gorbachev, Canada, 98$ 3, Marc Fielding, Canada, 101$ 4, Vanessa Simons, Canada, 199$ 5, John Smith, Canada, 777$ 6, Scott Tiger, Canada, 333$ 7, ……………………..
  • 34. © 2015 Pythian - Presentation for Oracle OpenWorld Dates 36 Server CPU RAM RAM Server CPU RAM RAM Server CPU RAM RAM APP ?, Vanessa Simons, Canada, 199$ ?, John Smith, Canada, 777$ ?, Scott Tiger, Canada, 333$ 11:09:01 11:09:01 11:09:01
  • 35. © 2015 Pythian - Presentation for Oracle OpenWorld Same Value Index 37 • Requires Partitioning • Changes everything • Partition key selection is non-trivial • Local Indexes • Lots of combinations • Primary key local or global • Depends on partition key and type • Lots of considerations • Data locality
  • 36. © 2015 Pythian - Presentation for Oracle OpenWorld Partition 4 BLOCKS 1 2 3 4 5 6 7 8 IDX Date IDX PK Partitioning 38 Partition 1 BLOCKS 1 2 3 4 5 6 7 8 IDX Date IDX PK Partition 2 BLOCKS 1 2 3 4 5 6 7 8 IDX Date IDX PK Partition 3 BLOCKS 1 2 3 4 5 6 7 8 IDX Date IDX PK
  • 37. © 2015 Pythian - Presentation for Oracle OpenWorld Same Value Index 39 • Multiple partitions • Create multiple blocks that have the “current” date • “current” block will still move around the cluster, but decreases chances of “collisions” • Still far from ideal
  • 38. © 2015 Pythian - Presentation for Oracle OpenWorld Same Value Index - Other 40 • Alternative solutions • Prefix same value index with customer ID • Prefix same value index with INSTANCE_ID • “fake” local index • Relies on skip scan
  • 40. © 2015 Pythian - Presentation for Oracle OpenWorld APP APPApps 42 Server CPU RAM RAM Server CPU RAM RAM Server CPU RAM RAM APP 11:09:01 11:09:01 11:09:01
  • 41. © 2015 Pythian - Presentation for Oracle OpenWorld Apps 43 Server CPU RAM RAM Server CPU RAM RAM Server CPU RAM RAM Server APP Server APP Server APP
  • 42. © 2015 Pythian - Presentation for Oracle OpenWorld Application partitioning 44 What if I told you it doesn’t have to be like that?
  • 43. © 2015 Pythian - Presentation for Oracle OpenWorld Application partitioning 45 • By Functionality • Not all functions of the application require concurrent modifications • Isolating by functionality is the easiest and fastest way to ‘fix’ RAC unfriendly activities • Such functionality has inherently bad scalability properties, as number of cores increase, this will become bigger problem • Cache fusion will mirror concurrently read data • Multiple nodes do not ‘add’ to caching benefits
  • 44. © 2015 Pythian - Presentation for Oracle OpenWorld Apps 46 Server CPU RAM RAM Server CPU RAM RAM Server CPU RAM RAM Server APP Server APP Server APP Module(s) With Concurrent Modifications
  • 45. © 2015 Pythian - Presentation for Oracle OpenWorld Application Partitioning 47 What if a single module exceeds the performance capacity of a single node?
  • 46. © 2015 Pythian - Presentation for Oracle OpenWorld More Performance 48 • Tune it • What are you doing? • Can you not do it? • Can you do it more efficiently? • Are you using the latest hardware? • Should probably start with this • Still need more?
  • 47. © 2015 Pythian - Presentation for Oracle OpenWorld49 Server CPU RAM RAM Server CPU RAM RAM Server CPU RAM RAM Server APP Server APP Server APP Server APP Server APP
  • 48. © 2015 Pythian - Presentation for Oracle OpenWorld50 Server CPU RAM RAM Server CPU RAM RAM Server CPU RAM RAM Server APP Server APP Server APP Server APP Server APP Server APP
  • 49. © 2015 Pythian - Presentation for Oracle OpenWorld Data Partitioning 51 • By Data • Each application server processes a subset of the data • By Customer ID • By Region – data balancing challenges
  • 50. © 2015 Pythian - Presentation for Oracle OpenWorld52 Server CPU RAM RAM Server CPU RAM RAM Server CPU RAM RAM Server APP Server APP Server APP Server APP Server APP Server APP Load Balancer
  • 51. © 2015 Pythian - Presentation for Oracle OpenWorld Data Partitioning 53 • Partition the Database to match • Consider growth – have significantly more buckets than servers • Local indexes everywhere • Partition key and Primary Key generation can be challenging • If partitioned by primary key, key generation from one node, must not send data to multiple partitions • Secondary unique indexes still challenging
  • 52. © 2015 Pythian - Presentation for Oracle OpenWorld Data Partitioning – Primary Keys 56 • Unique Keys • Primary Keys usually part of partition key • Two level partitioning (range for historical, hash for concurrency) – global partitioned indexes
  • 53. © 2015 Pythian - Presentation for Oracle OpenWorld Sharded Data – why use RAC? 57 • Most apps will “just work” • Few components require extra attention • Not all data is sharded • Reference / Lookup Data is shared • Low concurrency data does not need to be sharded • Redundancy – can ‘fail back’ to any node • Caching (performance) implications
  • 54. © 2015 Pythian - Presentation for Oracle OpenWorld Sharded Data – why use RAC? 58 • Some data cannot be sharded one way • Many to Many • Buyer/Seller with portals for both customers and stores • Manual sharding mistakes – loose data • Non shardable queries? Code manually? • Sharded queries and sorting • Schema Changes/Indexing
  • 55. © 2015 Pythian - Presentation for Oracle OpenWorld Why use RAC? 59 • Run reports across all data
  • 56. © 2015 Pythian - Presentation for Oracle OpenWorld Reports Across all Data 60 • No replication • Cross shard consistency – even after data restore • No data movement • Reuse cache from each node • Parallel queries can leverage all nodes • MPP on OLTP data
  • 58. © 2015 Pythian - Presentation for Oracle OpenWorld Final Thoughts 63 • RAC Works • With a little help • RAC Scales • Your CPU • Sometimes your RAM • Not your disk • RAC can be • share everything • share nothing
  • 59. © 2009/2010 Pythian - Presentation for ABC Company64 The End Thank You Questions? I blog at http://www.pythian.com/news/author/kutrovsky/

Editor's Notes

  1. - Successful growing business for more than 14 years - Served many customers with complex requirements/infrastructure just like yours. - Operate globally for 24 x 7 “always awake” services