SlideShare a Scribd company logo
1 of 23
Oracle’ın Parallel Execution
Yetenekleri ve Performans
İncelemesi
Emrah METE
TURKCELL TEKNOLOJİ
Emrah METE
Marmara Üniversitesi
Bilgisayar Teknolojisi ve Programlama
Yıldız Teknik Üniversitesi
Bilgisayar Mühendisliği
Turkcell Teknoloji
Yazılım Geliştirme Uzmanı
emrahmete.wordpress.com
Facebook, twitter, Google+, Linkedin
TROUG
www.troug.org
İçerik
• Parallel Execution Nedir?
• Neden Parallel Execution Kullanırız?
• Parallel Execution Ne Zaman Kullanmalıyız?
• Oracle’ın Parallel Execution Yetenekleri
– Parallel Query
– Parallel DML
– Parallel DDL
– Procedural Parallelism
– Oracle 11g New Features
• dbms_parallel_execute
• Auto DoP ve PSQ
Parallel Execution ?
Neden Parallel Execution
Kullanırız?
• Seri çalışan çok büyük görevleri
paraleleştirerek daha hızlı ve performanslı
sonuçlar almak için kullanırız.
HIZ + PERFORMANS !
Parallel Execution Ne Zaman
Kullanmalıyız?
1 – Paralel çalıştıracağımız görev büyük bir işlem
olmalı(Ör: 50 GB’lık bir datayı load etmek.)
(OLAP/OLTP)
2- Sistemimizin donanım karakteristiğinin parallel
execution yapmaya yeterli olması gerekir.
3- Parallel Execution yapmak için sistemimizde
yeterli available kaynakların olması gerekir.
Oracle’ın Parallel Execution
Yetenekleri
• Parallel Query
• Parallel DML (PDML)
• Parallel DDL
• Procedural Parallelism
• Oracle 11g New Features
– Auto DoP ve PSQ (Parallel Statement Queue)
– DBMS_PARALLEL_EXECUTION
Parallel Query
• select count(status) from big_table
<<Expert, Oracle Database Architecture 11g,10g,9i>> Tom KYTE (2010)
<<Expert, Oracle Database Architecture 11g,10g,9i>> Tom KYTE (2010)
Parallel DML (PDML)
• Insert – Update – Delete – Merge
ORA-12838: cannot read/modify an object after modifying it in
parallel.
<<Expert, Oracle Database Architecture 11g,10g,9i>> Tom KYTE (2010)
Parallel DDL
• CREATE INDEX
• CREATE TABLE AS SELECT
• ALTER INDEX REBULD
• ALTER TABLE MOVE
• ALTER TABLE SPLIT|COALESCE PARTITION
• ALTER INDEX SPLIT PARTITION
• Create Table big_table as Select ....
Parallel DDL
<<Expert, Oracle Database Architecture 11g,10g,9i>> Tom KYTE (2010)
Procedural Parallelism
• Selecting Rows
• Processing
them
• Insert/ Update
another table
<<Expert, Oracle Database Architecture 11g,10g,9i>> Tom KYTE (2010)
Procedural Parallelism
Parallel Pipelined Function
Unparallelized, Unpipelined Table Functions
Pipelining and Parallel Execution
Procedural Parallelism
• Select * from table(dbms_xplan.display);
<<Expert, Oracle Database Architecture 11g,10g,9i>> Tom KYTE (2010)
DBMS_PARALLEL_EXECUTE
(Do it yourself parallesim)
<<Expert, Oracle Database Architecture 11g,10g,9i>> Tom KYTE (2010)
DBMS_PARALLEL_EXECUTE
(Do it yourself parallesim)
Automatic
Degree of Parallelism
(Auto DoP)
PARALLEL_DEGREE_POLICY
PARALLEL_DEGREE_LIMIT
PARALLEL_MIN_TIME_THRESHOLD
DOP = PARALLEL_THREADS_PER_CPU x CPU_COUNT x INSTANCE_COUNT (DEFAULT)
https://blogs.oracle.com/datawarehousing/entry/auto_dop_and_parallel_statemen
Automatic
Degree of Parallelism
(Auto DoP)
Parallel Statement Queue (PSQ)
Kaynaklar
• «Expert, Oracle Database Architecture 11g,10g,9i» Tom
KYTE (2010)
• tahiti.oracle.com
• Oracle 11g Release 2 New Features Guide
• Oracle 11g Release 2 Concept Guide
• Oracle Datawarehouse Guide
• blogs.oracle.com
– The Datawarehouse Insider, Auto DOP and Parallel Statement
Queuing
• Oracle Technology Network
- On Working in Parallel By Steven Feuerstein
- Automating Parallelism By Arup Nanda
Sorular?/Yorumlar
Teşekkürler

More Related Content

What's hot

Working with JSON Data in PostgreSQL vs. MongoDB
Working with JSON Data in PostgreSQL vs. MongoDBWorking with JSON Data in PostgreSQL vs. MongoDB
Working with JSON Data in PostgreSQL vs. MongoDBScaleGrid.io
 
Flink Forward Berlin 2017: Piotr Nowojski - "Hit me, baby, just one time" - B...
Flink Forward Berlin 2017: Piotr Nowojski - "Hit me, baby, just one time" - B...Flink Forward Berlin 2017: Piotr Nowojski - "Hit me, baby, just one time" - B...
Flink Forward Berlin 2017: Piotr Nowojski - "Hit me, baby, just one time" - B...Flink Forward
 
Rego University: Financial Management, CA PPM (CA Clarity PPM)
Rego University: Financial Management, CA PPM (CA Clarity PPM)Rego University: Financial Management, CA PPM (CA Clarity PPM)
Rego University: Financial Management, CA PPM (CA Clarity PPM)Rego Consulting
 
Postgres MVCC - A Developer Centric View of Multi Version Concurrency Control
Postgres MVCC - A Developer Centric View of Multi Version Concurrency ControlPostgres MVCC - A Developer Centric View of Multi Version Concurrency Control
Postgres MVCC - A Developer Centric View of Multi Version Concurrency ControlReactive.IO
 
Not Just ORM: Powerful Hibernate ORM Features and Capabilities
Not Just ORM: Powerful Hibernate ORM Features and CapabilitiesNot Just ORM: Powerful Hibernate ORM Features and Capabilities
Not Just ORM: Powerful Hibernate ORM Features and CapabilitiesBrett Meyer
 
MariaDB Server Performance Tuning & Optimization
MariaDB Server Performance Tuning & OptimizationMariaDB Server Performance Tuning & Optimization
MariaDB Server Performance Tuning & OptimizationMariaDB plc
 
ETL Design for Impala Zero Touch Metadata.pptx
ETL Design for Impala Zero Touch Metadata.pptxETL Design for Impala Zero Touch Metadata.pptx
ETL Design for Impala Zero Touch Metadata.pptxManish Maheshwari
 
Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)
Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)
Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)Cloudera Japan
 
Best Practices for Building and Deploying Data Pipelines in Apache Spark
Best Practices for Building and Deploying Data Pipelines in Apache SparkBest Practices for Building and Deploying Data Pipelines in Apache Spark
Best Practices for Building and Deploying Data Pipelines in Apache SparkDatabricks
 
The "Big Data" Ecosystem at LinkedIn
The "Big Data" Ecosystem at LinkedInThe "Big Data" Ecosystem at LinkedIn
The "Big Data" Ecosystem at LinkedInSam Shah
 
Bucketing 2.0: Improve Spark SQL Performance by Removing Shuffle
Bucketing 2.0: Improve Spark SQL Performance by Removing ShuffleBucketing 2.0: Improve Spark SQL Performance by Removing Shuffle
Bucketing 2.0: Improve Spark SQL Performance by Removing ShuffleDatabricks
 
Spark + Parquet In Depth: Spark Summit East Talk by Emily Curtin and Robbie S...
Spark + Parquet In Depth: Spark Summit East Talk by Emily Curtin and Robbie S...Spark + Parquet In Depth: Spark Summit East Talk by Emily Curtin and Robbie S...
Spark + Parquet In Depth: Spark Summit East Talk by Emily Curtin and Robbie S...Spark Summit
 
Top 10 Oracle SQL tuning tips
Top 10 Oracle SQL tuning tipsTop 10 Oracle SQL tuning tips
Top 10 Oracle SQL tuning tipsNirav Shah
 
Top 5 Mistakes When Writing Spark Applications
Top 5 Mistakes When Writing Spark ApplicationsTop 5 Mistakes When Writing Spark Applications
Top 5 Mistakes When Writing Spark ApplicationsSpark Summit
 
Apache Druid 101
Apache Druid 101Apache Druid 101
Apache Druid 101Data Con LA
 
Migrating Apache Hive Workload to Apache Spark: Bridge the Gap with Zhan Zhan...
Migrating Apache Hive Workload to Apache Spark: Bridge the Gap with Zhan Zhan...Migrating Apache Hive Workload to Apache Spark: Bridge the Gap with Zhan Zhan...
Migrating Apache Hive Workload to Apache Spark: Bridge the Gap with Zhan Zhan...Databricks
 
Oracle Exadata Exam Dump
Oracle Exadata Exam DumpOracle Exadata Exam Dump
Oracle Exadata Exam DumpPooja C
 
Pitfalls of Object Oriented Programming by SONY
Pitfalls of Object Oriented Programming by SONYPitfalls of Object Oriented Programming by SONY
Pitfalls of Object Oriented Programming by SONYAnaya Medias Swiss
 
DEEP-mon: Dynamic and Energy Efficient Power monitoring for container-based i...
DEEP-mon: Dynamic and Energy Efficient Power monitoring for container-based i...DEEP-mon: Dynamic and Energy Efficient Power monitoring for container-based i...
DEEP-mon: Dynamic and Energy Efficient Power monitoring for container-based i...NECST Lab @ Politecnico di Milano
 
Sharding Methods for MongoDB
Sharding Methods for MongoDBSharding Methods for MongoDB
Sharding Methods for MongoDBMongoDB
 

What's hot (20)

Working with JSON Data in PostgreSQL vs. MongoDB
Working with JSON Data in PostgreSQL vs. MongoDBWorking with JSON Data in PostgreSQL vs. MongoDB
Working with JSON Data in PostgreSQL vs. MongoDB
 
Flink Forward Berlin 2017: Piotr Nowojski - "Hit me, baby, just one time" - B...
Flink Forward Berlin 2017: Piotr Nowojski - "Hit me, baby, just one time" - B...Flink Forward Berlin 2017: Piotr Nowojski - "Hit me, baby, just one time" - B...
Flink Forward Berlin 2017: Piotr Nowojski - "Hit me, baby, just one time" - B...
 
Rego University: Financial Management, CA PPM (CA Clarity PPM)
Rego University: Financial Management, CA PPM (CA Clarity PPM)Rego University: Financial Management, CA PPM (CA Clarity PPM)
Rego University: Financial Management, CA PPM (CA Clarity PPM)
 
Postgres MVCC - A Developer Centric View of Multi Version Concurrency Control
Postgres MVCC - A Developer Centric View of Multi Version Concurrency ControlPostgres MVCC - A Developer Centric View of Multi Version Concurrency Control
Postgres MVCC - A Developer Centric View of Multi Version Concurrency Control
 
Not Just ORM: Powerful Hibernate ORM Features and Capabilities
Not Just ORM: Powerful Hibernate ORM Features and CapabilitiesNot Just ORM: Powerful Hibernate ORM Features and Capabilities
Not Just ORM: Powerful Hibernate ORM Features and Capabilities
 
MariaDB Server Performance Tuning & Optimization
MariaDB Server Performance Tuning & OptimizationMariaDB Server Performance Tuning & Optimization
MariaDB Server Performance Tuning & Optimization
 
ETL Design for Impala Zero Touch Metadata.pptx
ETL Design for Impala Zero Touch Metadata.pptxETL Design for Impala Zero Touch Metadata.pptx
ETL Design for Impala Zero Touch Metadata.pptx
 
Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)
Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)
Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)
 
Best Practices for Building and Deploying Data Pipelines in Apache Spark
Best Practices for Building and Deploying Data Pipelines in Apache SparkBest Practices for Building and Deploying Data Pipelines in Apache Spark
Best Practices for Building and Deploying Data Pipelines in Apache Spark
 
The "Big Data" Ecosystem at LinkedIn
The "Big Data" Ecosystem at LinkedInThe "Big Data" Ecosystem at LinkedIn
The "Big Data" Ecosystem at LinkedIn
 
Bucketing 2.0: Improve Spark SQL Performance by Removing Shuffle
Bucketing 2.0: Improve Spark SQL Performance by Removing ShuffleBucketing 2.0: Improve Spark SQL Performance by Removing Shuffle
Bucketing 2.0: Improve Spark SQL Performance by Removing Shuffle
 
Spark + Parquet In Depth: Spark Summit East Talk by Emily Curtin and Robbie S...
Spark + Parquet In Depth: Spark Summit East Talk by Emily Curtin and Robbie S...Spark + Parquet In Depth: Spark Summit East Talk by Emily Curtin and Robbie S...
Spark + Parquet In Depth: Spark Summit East Talk by Emily Curtin and Robbie S...
 
Top 10 Oracle SQL tuning tips
Top 10 Oracle SQL tuning tipsTop 10 Oracle SQL tuning tips
Top 10 Oracle SQL tuning tips
 
Top 5 Mistakes When Writing Spark Applications
Top 5 Mistakes When Writing Spark ApplicationsTop 5 Mistakes When Writing Spark Applications
Top 5 Mistakes When Writing Spark Applications
 
Apache Druid 101
Apache Druid 101Apache Druid 101
Apache Druid 101
 
Migrating Apache Hive Workload to Apache Spark: Bridge the Gap with Zhan Zhan...
Migrating Apache Hive Workload to Apache Spark: Bridge the Gap with Zhan Zhan...Migrating Apache Hive Workload to Apache Spark: Bridge the Gap with Zhan Zhan...
Migrating Apache Hive Workload to Apache Spark: Bridge the Gap with Zhan Zhan...
 
Oracle Exadata Exam Dump
Oracle Exadata Exam DumpOracle Exadata Exam Dump
Oracle Exadata Exam Dump
 
Pitfalls of Object Oriented Programming by SONY
Pitfalls of Object Oriented Programming by SONYPitfalls of Object Oriented Programming by SONY
Pitfalls of Object Oriented Programming by SONY
 
DEEP-mon: Dynamic and Energy Efficient Power monitoring for container-based i...
DEEP-mon: Dynamic and Energy Efficient Power monitoring for container-based i...DEEP-mon: Dynamic and Energy Efficient Power monitoring for container-based i...
DEEP-mon: Dynamic and Energy Efficient Power monitoring for container-based i...
 
Sharding Methods for MongoDB
Sharding Methods for MongoDBSharding Methods for MongoDB
Sharding Methods for MongoDB
 

Viewers also liked

Opti̇mi̇zi̇ng Data Access
Opti̇mi̇zi̇ng Data AccessOpti̇mi̇zi̇ng Data Access
Opti̇mi̇zi̇ng Data AccessEmrah METE
 
Oracle'da Transaction Yönetimi
Oracle'da Transaction YönetimiOracle'da Transaction Yönetimi
Oracle'da Transaction YönetimiEmrah METE
 
Analytical Functions for DWH
Analytical Functions for DWHAnalytical Functions for DWH
Analytical Functions for DWHEmrah METE
 
Useful Features of Oracle SQL Developer
Useful Features of Oracle SQL DeveloperUseful Features of Oracle SQL Developer
Useful Features of Oracle SQL DeveloperEmrah METE
 
Emrah METE - Oracle Cloud Day 2015 12c SQL New Features
Emrah METE - Oracle Cloud Day 2015 12c SQL New Features Emrah METE - Oracle Cloud Day 2015 12c SQL New Features
Emrah METE - Oracle Cloud Day 2015 12c SQL New Features Emrah METE
 
Veri Ambarları için Oracle'ın Analitik SQL Desteği
Veri Ambarları için Oracle'ın Analitik SQL DesteğiVeri Ambarları için Oracle'ın Analitik SQL Desteği
Veri Ambarları için Oracle'ın Analitik SQL DesteğiEmrah METE
 
Oracle PL/SQL Best Practices
Oracle PL/SQL Best PracticesOracle PL/SQL Best Practices
Oracle PL/SQL Best PracticesEmrah METE
 
Analitiği Kullanarak Yüksek Performans Göstermek ve Lider Olmak Hakan Yılmaz...
Analitiği Kullanarak Yüksek Performans Göstermek ve Lider Olmak  Hakan Yılmaz...Analitiği Kullanarak Yüksek Performans Göstermek ve Lider Olmak  Hakan Yılmaz...
Analitiği Kullanarak Yüksek Performans Göstermek ve Lider Olmak Hakan Yılmaz...Webrazzi
 
Performans Değerlendirmesinde Sonuçların Kullanılması
Performans Değerlendirmesinde Sonuçların KullanılmasıPerformans Değerlendirmesinde Sonuçların Kullanılması
Performans Değerlendirmesinde Sonuçların KullanılmasıPusula360
 
Performans Değerlendirmesinde Yapılan Hatalar ve Çözümleri
Performans Değerlendirmesinde Yapılan Hatalar ve ÇözümleriPerformans Değerlendirmesinde Yapılan Hatalar ve Çözümleri
Performans Değerlendirmesinde Yapılan Hatalar ve ÇözümleriPusula360
 
Kadın ve eğitim
Kadın ve eğitimKadın ve eğitim
Kadın ve eğitimgunessec
 
SunumTürkiye'de Kadın Hakları
SunumTürkiye'de Kadın HaklarıSunumTürkiye'de Kadın Hakları
SunumTürkiye'de Kadın HaklarıMehveş Ekşiler
 
Creative Thinking
Creative ThinkingCreative Thinking
Creative ThinkingTony Yoo
 
Culture Code: Creating A Lovable Company
Culture Code: Creating A Lovable CompanyCulture Code: Creating A Lovable Company
Culture Code: Creating A Lovable CompanyHubSpot
 

Viewers also liked (17)

Opti̇mi̇zi̇ng Data Access
Opti̇mi̇zi̇ng Data AccessOpti̇mi̇zi̇ng Data Access
Opti̇mi̇zi̇ng Data Access
 
Oracle'da Transaction Yönetimi
Oracle'da Transaction YönetimiOracle'da Transaction Yönetimi
Oracle'da Transaction Yönetimi
 
Analytical Functions for DWH
Analytical Functions for DWHAnalytical Functions for DWH
Analytical Functions for DWH
 
Useful Features of Oracle SQL Developer
Useful Features of Oracle SQL DeveloperUseful Features of Oracle SQL Developer
Useful Features of Oracle SQL Developer
 
Emrah METE - Oracle Cloud Day 2015 12c SQL New Features
Emrah METE - Oracle Cloud Day 2015 12c SQL New Features Emrah METE - Oracle Cloud Day 2015 12c SQL New Features
Emrah METE - Oracle Cloud Day 2015 12c SQL New Features
 
Veri Ambarları için Oracle'ın Analitik SQL Desteği
Veri Ambarları için Oracle'ın Analitik SQL DesteğiVeri Ambarları için Oracle'ın Analitik SQL Desteği
Veri Ambarları için Oracle'ın Analitik SQL Desteği
 
Oracle PL/SQL Best Practices
Oracle PL/SQL Best PracticesOracle PL/SQL Best Practices
Oracle PL/SQL Best Practices
 
Analitiği Kullanarak Yüksek Performans Göstermek ve Lider Olmak Hakan Yılmaz...
Analitiği Kullanarak Yüksek Performans Göstermek ve Lider Olmak  Hakan Yılmaz...Analitiği Kullanarak Yüksek Performans Göstermek ve Lider Olmak  Hakan Yılmaz...
Analitiği Kullanarak Yüksek Performans Göstermek ve Lider Olmak Hakan Yılmaz...
 
Kafe in final-sunumu
Kafe in final-sunumuKafe in final-sunumu
Kafe in final-sunumu
 
Performans Değerlendirmesinde Sonuçların Kullanılması
Performans Değerlendirmesinde Sonuçların KullanılmasıPerformans Değerlendirmesinde Sonuçların Kullanılması
Performans Değerlendirmesinde Sonuçların Kullanılması
 
Performans Değerlendirmesinde Yapılan Hatalar ve Çözümleri
Performans Değerlendirmesinde Yapılan Hatalar ve ÇözümleriPerformans Değerlendirmesinde Yapılan Hatalar ve Çözümleri
Performans Değerlendirmesinde Yapılan Hatalar ve Çözümleri
 
Kadın ve eğitim
Kadın ve eğitimKadın ve eğitim
Kadın ve eğitim
 
SunumTürkiye'de Kadın Hakları
SunumTürkiye'de Kadın HaklarıSunumTürkiye'de Kadın Hakları
SunumTürkiye'de Kadın Hakları
 
Competency Mapping for Performance Management
Competency Mapping for Performance ManagementCompetency Mapping for Performance Management
Competency Mapping for Performance Management
 
Creative Thinking
Creative ThinkingCreative Thinking
Creative Thinking
 
Culture Code: Creating A Lovable Company
Culture Code: Creating A Lovable CompanyCulture Code: Creating A Lovable Company
Culture Code: Creating A Lovable Company
 
Culture
CultureCulture
Culture
 

Similar to Oracle’ın parallel execution yetenekleri ve performans

Databse & Technology 2 _ Shan Nawaz _ Oracle 11g Top 10 features - not your u...
Databse & Technology 2 _ Shan Nawaz _ Oracle 11g Top 10 features - not your u...Databse & Technology 2 _ Shan Nawaz _ Oracle 11g Top 10 features - not your u...
Databse & Technology 2 _ Shan Nawaz _ Oracle 11g Top 10 features - not your u...InSync2011
 
Tungsten Use Case: How Gittigidiyor (a subsidiary of eBay) Replicates Data In...
Tungsten Use Case: How Gittigidiyor (a subsidiary of eBay) Replicates Data In...Tungsten Use Case: How Gittigidiyor (a subsidiary of eBay) Replicates Data In...
Tungsten Use Case: How Gittigidiyor (a subsidiary of eBay) Replicates Data In...Continuent
 
PL/SQL Tips and Techniques Webinar Presentation
PL/SQL Tips and Techniques Webinar PresentationPL/SQL Tips and Techniques Webinar Presentation
PL/SQL Tips and Techniques Webinar PresentationEmbarcadero Technologies
 
Rajnish singh(presentation on oracle )
Rajnish singh(presentation on  oracle )Rajnish singh(presentation on  oracle )
Rajnish singh(presentation on oracle )Rajput Rajnish
 
Embulk - 進化するバルクデータローダ
Embulk - 進化するバルクデータローダEmbulk - 進化するバルクデータローダ
Embulk - 進化するバルクデータローダSadayuki Furuhashi
 
SynapseIndia drupal presentation on drupal info
SynapseIndia drupal  presentation on drupal infoSynapseIndia drupal  presentation on drupal info
SynapseIndia drupal presentation on drupal infoSynapseindiappsdevelopment
 
Migration From Oracle to PostgreSQL
Migration From Oracle to PostgreSQLMigration From Oracle to PostgreSQL
Migration From Oracle to PostgreSQLPGConf APAC
 
Performance Benchmarking: Tips, Tricks, and Lessons Learned
Performance Benchmarking: Tips, Tricks, and Lessons LearnedPerformance Benchmarking: Tips, Tricks, and Lessons Learned
Performance Benchmarking: Tips, Tricks, and Lessons LearnedTim Callaghan
 
Is It Fast? : Measuring MongoDB Performance
Is It Fast? : Measuring MongoDB PerformanceIs It Fast? : Measuring MongoDB Performance
Is It Fast? : Measuring MongoDB PerformanceTim Callaghan
 
El camino a las Cloud Native Apps - Introduction
El camino a las Cloud Native Apps - IntroductionEl camino a las Cloud Native Apps - Introduction
El camino a las Cloud Native Apps - IntroductionPlain Concepts
 
Ibm datastage online training in hyderabad
Ibm datastage online training in hyderabadIbm datastage online training in hyderabad
Ibm datastage online training in hyderabadGoLogica Technologies
 
SAP Open Source meetup/Speedment - Palo Alto 2015
SAP Open Source meetup/Speedment - Palo Alto 2015SAP Open Source meetup/Speedment - Palo Alto 2015
SAP Open Source meetup/Speedment - Palo Alto 2015Speedment, Inc.
 
Oracle Fusion Middleware on Exalogic Best Practises
Oracle Fusion Middleware on Exalogic Best PractisesOracle Fusion Middleware on Exalogic Best Practises
Oracle Fusion Middleware on Exalogic Best PractisesMichel Schildmeijer
 
Technical Introduction to PostgreSQL and PPAS
Technical Introduction to PostgreSQL and PPASTechnical Introduction to PostgreSQL and PPAS
Technical Introduction to PostgreSQL and PPASAshnikbiz
 
Powering GIS Application with PostgreSQL and Postgres Plus
Powering GIS Application with PostgreSQL and Postgres Plus Powering GIS Application with PostgreSQL and Postgres Plus
Powering GIS Application with PostgreSQL and Postgres Plus Ashnikbiz
 
Oracle Fusion Middleware provisioning with Puppet
Oracle Fusion Middleware provisioning with PuppetOracle Fusion Middleware provisioning with Puppet
Oracle Fusion Middleware provisioning with PuppetEdwin Biemond
 
OGG Architecture Performance
OGG Architecture PerformanceOGG Architecture Performance
OGG Architecture PerformanceEnkitec
 

Similar to Oracle’ın parallel execution yetenekleri ve performans (20)

Databse & Technology 2 _ Shan Nawaz _ Oracle 11g Top 10 features - not your u...
Databse & Technology 2 _ Shan Nawaz _ Oracle 11g Top 10 features - not your u...Databse & Technology 2 _ Shan Nawaz _ Oracle 11g Top 10 features - not your u...
Databse & Technology 2 _ Shan Nawaz _ Oracle 11g Top 10 features - not your u...
 
Parallel Programming
Parallel ProgrammingParallel Programming
Parallel Programming
 
OOW13 Exadata and ODI with Parallel
OOW13 Exadata and ODI with ParallelOOW13 Exadata and ODI with Parallel
OOW13 Exadata and ODI with Parallel
 
Tungsten Use Case: How Gittigidiyor (a subsidiary of eBay) Replicates Data In...
Tungsten Use Case: How Gittigidiyor (a subsidiary of eBay) Replicates Data In...Tungsten Use Case: How Gittigidiyor (a subsidiary of eBay) Replicates Data In...
Tungsten Use Case: How Gittigidiyor (a subsidiary of eBay) Replicates Data In...
 
PL/SQL Tips and Techniques Webinar Presentation
PL/SQL Tips and Techniques Webinar PresentationPL/SQL Tips and Techniques Webinar Presentation
PL/SQL Tips and Techniques Webinar Presentation
 
Rajnish singh(presentation on oracle )
Rajnish singh(presentation on  oracle )Rajnish singh(presentation on  oracle )
Rajnish singh(presentation on oracle )
 
Embulk - 進化するバルクデータローダ
Embulk - 進化するバルクデータローダEmbulk - 進化するバルクデータローダ
Embulk - 進化するバルクデータローダ
 
SynapseIndia drupal presentation on drupal info
SynapseIndia drupal  presentation on drupal infoSynapseIndia drupal  presentation on drupal info
SynapseIndia drupal presentation on drupal info
 
Migration From Oracle to PostgreSQL
Migration From Oracle to PostgreSQLMigration From Oracle to PostgreSQL
Migration From Oracle to PostgreSQL
 
Performance Benchmarking: Tips, Tricks, and Lessons Learned
Performance Benchmarking: Tips, Tricks, and Lessons LearnedPerformance Benchmarking: Tips, Tricks, and Lessons Learned
Performance Benchmarking: Tips, Tricks, and Lessons Learned
 
Plantilla oracle
Plantilla oraclePlantilla oracle
Plantilla oracle
 
Is It Fast? : Measuring MongoDB Performance
Is It Fast? : Measuring MongoDB PerformanceIs It Fast? : Measuring MongoDB Performance
Is It Fast? : Measuring MongoDB Performance
 
El camino a las Cloud Native Apps - Introduction
El camino a las Cloud Native Apps - IntroductionEl camino a las Cloud Native Apps - Introduction
El camino a las Cloud Native Apps - Introduction
 
Ibm datastage online training in hyderabad
Ibm datastage online training in hyderabadIbm datastage online training in hyderabad
Ibm datastage online training in hyderabad
 
SAP Open Source meetup/Speedment - Palo Alto 2015
SAP Open Source meetup/Speedment - Palo Alto 2015SAP Open Source meetup/Speedment - Palo Alto 2015
SAP Open Source meetup/Speedment - Palo Alto 2015
 
Oracle Fusion Middleware on Exalogic Best Practises
Oracle Fusion Middleware on Exalogic Best PractisesOracle Fusion Middleware on Exalogic Best Practises
Oracle Fusion Middleware on Exalogic Best Practises
 
Technical Introduction to PostgreSQL and PPAS
Technical Introduction to PostgreSQL and PPASTechnical Introduction to PostgreSQL and PPAS
Technical Introduction to PostgreSQL and PPAS
 
Powering GIS Application with PostgreSQL and Postgres Plus
Powering GIS Application with PostgreSQL and Postgres Plus Powering GIS Application with PostgreSQL and Postgres Plus
Powering GIS Application with PostgreSQL and Postgres Plus
 
Oracle Fusion Middleware provisioning with Puppet
Oracle Fusion Middleware provisioning with PuppetOracle Fusion Middleware provisioning with Puppet
Oracle Fusion Middleware provisioning with Puppet
 
OGG Architecture Performance
OGG Architecture PerformanceOGG Architecture Performance
OGG Architecture Performance
 

Recently uploaded

result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college projectTonystark477637
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)Suman Mia
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...RajaP95
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingrakeshbaidya232001
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...ranjana rawat
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Christo Ananth
 

Recently uploaded (20)

result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 

Oracle’ın parallel execution yetenekleri ve performans

  • 1. Oracle’ın Parallel Execution Yetenekleri ve Performans İncelemesi Emrah METE TURKCELL TEKNOLOJİ
  • 2. Emrah METE Marmara Üniversitesi Bilgisayar Teknolojisi ve Programlama Yıldız Teknik Üniversitesi Bilgisayar Mühendisliği Turkcell Teknoloji Yazılım Geliştirme Uzmanı emrahmete.wordpress.com Facebook, twitter, Google+, Linkedin TROUG www.troug.org
  • 3. İçerik • Parallel Execution Nedir? • Neden Parallel Execution Kullanırız? • Parallel Execution Ne Zaman Kullanmalıyız? • Oracle’ın Parallel Execution Yetenekleri – Parallel Query – Parallel DML – Parallel DDL – Procedural Parallelism – Oracle 11g New Features • dbms_parallel_execute • Auto DoP ve PSQ
  • 5. Neden Parallel Execution Kullanırız? • Seri çalışan çok büyük görevleri paraleleştirerek daha hızlı ve performanslı sonuçlar almak için kullanırız. HIZ + PERFORMANS !
  • 6. Parallel Execution Ne Zaman Kullanmalıyız? 1 – Paralel çalıştıracağımız görev büyük bir işlem olmalı(Ör: 50 GB’lık bir datayı load etmek.) (OLAP/OLTP) 2- Sistemimizin donanım karakteristiğinin parallel execution yapmaya yeterli olması gerekir. 3- Parallel Execution yapmak için sistemimizde yeterli available kaynakların olması gerekir.
  • 7. Oracle’ın Parallel Execution Yetenekleri • Parallel Query • Parallel DML (PDML) • Parallel DDL • Procedural Parallelism • Oracle 11g New Features – Auto DoP ve PSQ (Parallel Statement Queue) – DBMS_PARALLEL_EXECUTION
  • 8. Parallel Query • select count(status) from big_table <<Expert, Oracle Database Architecture 11g,10g,9i>> Tom KYTE (2010)
  • 9. <<Expert, Oracle Database Architecture 11g,10g,9i>> Tom KYTE (2010)
  • 10. Parallel DML (PDML) • Insert – Update – Delete – Merge ORA-12838: cannot read/modify an object after modifying it in parallel. <<Expert, Oracle Database Architecture 11g,10g,9i>> Tom KYTE (2010)
  • 11. Parallel DDL • CREATE INDEX • CREATE TABLE AS SELECT • ALTER INDEX REBULD • ALTER TABLE MOVE • ALTER TABLE SPLIT|COALESCE PARTITION • ALTER INDEX SPLIT PARTITION
  • 12. • Create Table big_table as Select .... Parallel DDL <<Expert, Oracle Database Architecture 11g,10g,9i>> Tom KYTE (2010)
  • 13. Procedural Parallelism • Selecting Rows • Processing them • Insert/ Update another table <<Expert, Oracle Database Architecture 11g,10g,9i>> Tom KYTE (2010)
  • 14. Procedural Parallelism Parallel Pipelined Function Unparallelized, Unpipelined Table Functions Pipelining and Parallel Execution
  • 15. Procedural Parallelism • Select * from table(dbms_xplan.display); <<Expert, Oracle Database Architecture 11g,10g,9i>> Tom KYTE (2010)
  • 16. DBMS_PARALLEL_EXECUTE (Do it yourself parallesim) <<Expert, Oracle Database Architecture 11g,10g,9i>> Tom KYTE (2010)
  • 18. Automatic Degree of Parallelism (Auto DoP) PARALLEL_DEGREE_POLICY PARALLEL_DEGREE_LIMIT PARALLEL_MIN_TIME_THRESHOLD DOP = PARALLEL_THREADS_PER_CPU x CPU_COUNT x INSTANCE_COUNT (DEFAULT) https://blogs.oracle.com/datawarehousing/entry/auto_dop_and_parallel_statemen
  • 21. Kaynaklar • «Expert, Oracle Database Architecture 11g,10g,9i» Tom KYTE (2010) • tahiti.oracle.com • Oracle 11g Release 2 New Features Guide • Oracle 11g Release 2 Concept Guide • Oracle Datawarehouse Guide • blogs.oracle.com – The Datawarehouse Insider, Auto DOP and Parallel Statement Queuing • Oracle Technology Network - On Working in Parallel By Steven Feuerstein - Automating Parallelism By Arup Nanda

Editor's Notes

  1. Büyük seri görevlerin, eş zamanlı çalıştırılabilecek küçük görev parçalarına bölünmesi ve bu küçük görev parçalarının çalıştırılarak sonuçlarının toplanarak nihai sonuca ulaşılması.
  2. Parallel Execution improves processing for: + Large table scans, joins or partitioned index scans +Creations of large indexes +Creation of large tables +bulk inserts, updates,merges and deletes
  3. 1- İşleyeceğimiz task seri olarak dakikalar, saatler veya günlerce sürüyorsa paralel execute etmek için bu task seçilebilir. Taskın büyüklüğü önemli bir nokta. Aksi takdirde saniyeler mertebesinde çalışan bir taskı paralel çalıştırırsak, paralel sonuçların koordinasyon maliyeti seri çalışmasından daha fazla olacak ve daha kötü bir performans elde edilecek. OLAP sistemlerdeki tasklar paralel çalıştırmak için daha uygun. OLTP sistemlerde paralel erişen user sayısı çok fazla ve görevlerin karakteristikleri kısa ve response time odaklı bu yüzden paralel çalıştırmaya uygun sistemler değiller, paralel çalştırma opsyonu bu sistemlerde felakete yol açabilir. 2- Donanım karakteristiği --- Sysmetric Multipreocessor, Clusters, massively parallel systems --- Sufficent I/O bandwith: I/O kanallarım yeterli olmalı çünkü çekeceğim data birden fazla diske dağılmış olabilir, bu sebepten ötürü eş zamanlı birden fazla okuma isteği gerçekleşecektir bundan dolayı bilgisayarla disk arasında data taşınmasını sağlayacak sayıda I/O kanallarımın olması gerekiyor. --- CPU underutilized or intermittently(aralıklı) used (typically usage less than %30) --- Sufficient memory to support additional memory intensive process, such as sorts, hashing and I/O buffers. 3- Sistemde yeterli available kaynak olmalıki, paralel operasyonlarımız kendisi için yeterli kaynağı alsın ve paralel çalışabilsin.
  4. Parallik 3 Seviyede + Statement Level + Object Level + Instance Level ---------------------------------------------------------------------------------------------------- In Oracle, the degree of parallelism consists of two components, the number of instances to use and the number of slave processes to use on each instance. In Oracle's SQL syntax, the keywords INSTANCES and DEGREE are always used to specify values for these two components as follows: INSTANCES: Specifies the number of instances to use DEGREE: Specifies the number of slave processes to use on each instance INSTANCES applies only to the Oracle Parallel Server configuration. Unless you are using OPS, the value of INSTANCES should be set to 1; any other value is meaningless.  Level of parallel execution The degree of parallelism used for a SQL statement can be specified at three different levels: Statement level  Using hints or the PARALLEL clause Object level Found in the definition of the table, index, or other object Instance level  Using default values for the instance Oracle determines the degree of parallelism to use for a SQL statement by checking each item in this list in the order shown. Oracle first checks for a degree of parallelism specification at the statement level. If it can't find one, it then checks the table or index definition. If the table or index definition does not explicitly specify values for DEGREE and INSTANCES, Oracle uses the default values established for the instance. ------------------------------- Datanın fiziksel olarak dağılmış olması paralellikten için daha optimal bir durum oluşturabilir. Aşağıdaki yolları izleyerek datayı fiziksel olarak dağıtabilirz. Using Raid Using ASM Using partitioning Using multiple data files in a sşngle tablespace
  5. alter table big_table parallel; vs alter table big_table parallel 8; select sid,qcsid,server#,degree from v$px_session order by server# desc  kaç parallel açtığını görmek için -- alter table big_table noparallel; -- Seri -- Elapsed: 00:01:17.89 -- alter table big_table parallel 4; -- 4 Parallelde -- Elapsed: 00:00:04.10 -- alter table big_table parallel 8; -- 8 Parallelde -- Elapsed: 00:00:02.30 -- alter table big_table parallel 16; -- 8 Parallelde -- Elapsed: 00:00:03.30 -- alter table big_table parallel; -- 32 Parallelde -- Elapsed: 00:00:12.27
  6.  Parallel dml’in çalışabilmesi için operasyon yapılacak tablonun paralel yaratılması yeterli değildir. Bunun yanında Alter session enable parallel dml; cümlesininde çalıtırılması gerekir.  Büyük boyutlu DML işlemlerini yeterli CPU ve I/O bandwith i varsa performans anlamında çalışma süresini oldukça düşürür.  Makinedeki tüm kaynakları tüketmeye çalışır bu yüzden OLTP sistemlerde tercih edilmezler. OLTP userlarına paralel dml yeteneği verilmemelidir.  OLAP sistemlerde paralel erişen user sayısı OLTP ye göre daha az olduğundan kaynakların tamamı utilize edilmek istenenebilir. Bu sistemlerde kullanmak mantıklıdır. DWH lerde oldukça kullanışlı bir yapıdır.  Paralel sorgulama 100 user’ın yarattığı iş yükünü sistemde yaratır bu yüzden OLTP sistemlerde böyle bir kullanım söz konusu olmaz. İşler bitmemeye başlar. Her bir paralel execution server ayrı bir transaction yaratır ve kendilerine özel undo segmentleri vardır. Tüm transaction coordinator session’ı ile commitlenirler. ----------------------KISITLAR----------------------------------------------------------- Trigger olan tablolarda PDML operasyonları yapamayız. Trigger büyük bir overhead update işlemlerinde ama PDML ise hızlı çalışmak isteyen bir yapı bu yüzden trigger olan bir tabloda PDML çalışmaz. Self Referential Integrity olan bir tabloda PDML yine yapılamaz. Bunun nedeni datanın ayrı olan her parçası ayrı transanactionlarda ve ayrı sessionlarda değiştirilir bu yüzden deadlock veya herhangi bir locking issues a sebebiyet verilebilir bu yüzden SRI bulunan bir tabloda PDML yapılamaz. PDML işlemi sonunda commit veya rollback yapılana kadar o tabloya erişilemez. ORA-12838: cannot read/modify an object after modifying it in parallel. Advanced replication trigger based olduğu için PDML işlemini bu tarz durumlarda kullanamayız. Bir tabloda deffered constraints varsa bu tablo PDML li destekemez. Eğer bir tabloda partition varsa bitmap index veya LOB kolon içeren tablolarda PDML çalıştırılabilir. Ancak bu case de parallelik sayısı partition sayısı ile sınırlıdır. Aynı partition a birden fazla session açıp parttion bazında parallelik yapamaz. Her partition’a bir execution servers atar. Distirbuted transactionlar da PDML’i desteklemez. Clustered tablolar PDML’i desteklemez. Yukarıdaki kısıtlar ihlal edildiği takdirde 2 olay olabilir. 1- DML seri çalışabilir. 2- Hata alınır. ORA-12838 gibi. -----------------------------------------------------------------------------------------------------------------------------------------------------------------------
  7. İlk 4 komut individual table veya index partition lar içinde çalışabilir. Bu sayede bir tabloya ait individual bir partition ı paralel bir şekilde taşıyabiliriz (MOVE). Paralel DDL Oracle’ın en iyi ölçülebilir fayda sağlayan özelliklerinden biridir. Paralel sorgu ile kullanarak (as select) uzun süren operasyonları kısa sürede yapabiliriz. Paralel DDL sürdürlebilirlik ve yönetim noktasında etkisi doğrudan bizleredir yani DBA lere ve Developerlaradır. CREATE INDEX: Multiple parallel execution servers can scan the table, sort the data, and write the sorted segments out to the index structure. • CREATE TABLE AS SELECT: The query that executes the SELECT may be executed using parallel query, and the table load itself may be done in parallel. • ALTER INDEX REBULD: The index structure may be rebuilt in parallel. • ALTER TABLE MOVE: A table may be moved in parallel. • ALTER TABLE SPLIT|COALESCE PARTITION: The individual table partitions may be split or coalesced in parallel. • ALTER INDEX SPLIT PARTITION: An index partition may be split in parallel. --------------------------------- (Her bir paralel execution server kendine ayrın bir extent allocate eder ve burada çalışır.) Create table as select’de extent lerle alakalı bir case var, extentlerde ölü yerler oluşması gibi. 1010 MB bir dosya yüklediğimiz durumda 100 MB extentler kullandığımızı varsayalım ve 10 paralelde bu işi yapmış olalım. Bu durumda her bir paralel session ın 101 MB yükkediğini varsayalım. Her session ilk 100 MB için bir extenti tam doldurdu ve elinde kalan 1 mb için yeni bir extent allocate etmek durumunda kaldı. Bu durumda ilk bakışta 11 extentin yeteceği beklenirken 1 mb için her execution server’ın yeni extentler alması toplamdaki extent sayısını 20 ye çıkarttı. 990 MB lık kullanılmayan ölü bir alan allocate edilmiş olundu. Bu alanlar daha sonra doldurulacaktır ancak şuan elimizde 990 mb ölü bir alan mevcut. Bu durumu engelleme adına Extent Trimming mevzusu meydana çıkıyor. Oracle her paralel execution serverının aldığı son extentini ölü yerler oluşmaması adına execution servera yetecek şekilde trim etme olayına giriyor. Trim İşleminin gerçekleşebilmesi Table Space yönetimi ile doğrudan alakalı. Dictionary Managed Tablespaces Auto Allocated TableSpace(AUTOALLOCATE) vs Uniform Allocated TableSpace(UNIFORM_SIZE)
  8. AUTOALLOCATE vs UNIFORM_SIZE Table Space
  9. PDML bu case’de aşırı kaynak tüketmekten başka çokta fayda sağlamayacak Select * from some table ı parallelştirsek performasımızda yine kademeli bir artış görmemiz çok zor. Complex processimizden sonra DML’imizi paralelleştirmek yine performansımızı iyileştirmicek çünkü döngü içinde tek bir satırla ilgili bir işlem yapıyoruz o yüzden etkilenmicez. Burada yapacağımız update veya insert i array processing yaparak değiştirmek bir kademe iyileştirme sağlayabilir ama bu 2 – 3 -4 kat gibi iyileşmeler olmayabilir. Bu tarz durumda işliyeceğim veri seti her geçen gün büyüdüğünü varsayalım, bu durumda çalışma zamanı git gide yavaşlayacak? Performansı 2 3 4 kat gibi seviyelere çıkarmam gerekiyor Ne yapıcam? 1- Parallel Pipelined Function 2- Do it yourself parallelism – dbms_parallel_execute
  10. Execution of a table function can be parallelized, and returned rows can be streamed directly to the next process without intermediate staging. Rows from a collection returned by a table function can also be pipelined—that is, iteratively returned as they are produced instead of in a batch after all processing of the table function's input is completed. Streaming, pipelining, and parallel execution of table functions can improve performance: By enabling multithreaded, concurrent execution of table functions By eliminating intermediate staging between processes By improving query response time: With non-pipelined table functions, the entire collection returned by a table function must be constructed and returned to the server before the query can return a single result row. Pipelining enables rows to be returned iteratively, as they are produced. This also reduces the memory that a table function requires, as the object cache does not need to materialize the entire collection. By iteratively providing result rows from the collection returned by a table function as the rows are produced instead of waiting until the entire collection is staged in tables or memory and then returning the entire collection Figure 13-1 shows a typical data-processing scenario in which data goes through several (in this case, three) transformations, implemented by table functions, before finally being loaded into a database. In this scenario, the table functions are not parallelized, and the entire result collection must be staged after each transformation.
  11. (Yukarıdaki örnek fonksyon, Parallel Pipelined Table Function Parallel Table Function olmasını sağlan özellik Parallel_Enable cümlesi ve içeri bir adet cursor alması) ) Pipe Row deyimi PL/SQL Routinelerimizin geriye tablo döndürmesini sağlayan bir yapı. Böylelikle fonksoynumuza doğrudan select yazma hakkında sahip olabiliyoruz. Input bir refcursor olmalı. PARALLEL_ENABLE cümlesini vermek durumundayız. Gelen Cursor’ı partitionlamak zorundayız. Partitionlamayı by any diyerek geçebiliriz. Bu durumda Oracle var olan datayı açtığı paralel prosesler arasında rastgele paylaştırır. Ancak burada hash veya range partitioning de kullanabiliriz vereceğimiz specifik bir kolon üzerinden. Ancak compiler’ın cursor içinde hangi kolonların olduğunu bilmesi için strongly typed ref cursor tanımlamak zorundayız. Örnek: Strongly Typed Cursor TYPE t_ref_cursor IS REF CURSOR RETURN cursor_variable_test%ROWTYPE;   c_cursor  t_ref_cursor;
  12. Sistemde job create etme yetkisi olmalıdır. Paketin sahip olduğu tüm metodlar commit işlemi gerçekleştirir. Oracle’da DML operasyonlarını otomatize eden bir yapı.
  13. Sorgularımızı paralel işleyen paralel execution server ların sayısı degree of parallelism olarak bilinir. Açılacak paralel execution birden çok CPU lu sistemler için tasarlanmış yapılardır. Oracle da parallel işleme mimarisi kendimizin belirleyebileceği gibi, oracle’a güvenip paralellik seviyesinin ayarlanmasını onun kontrolüne bırakabiliriz. Fixed DoP  ALTER TABLES sales PARALLEL 8; ALTER TABLE customers PARALLEL 4; Oracle’da biri 4 diğer 8 olarak paralellik seviyesi ayarlanmış tablolara erişim ikisi içinde en büyük paralellik seviyesine göre ayarlanır. Bu durumda eş zamanlı 2 tabloyada erişim var ise 16 proses tahsis edilir ve 8 er 8 er paylaşılır. (Kaynak Oracle® Database VLDB and Partitioning Guide) Default DoP nasıl hesaplanır------ Alter table x parallel; default dop, kontrol oracle’a bırakılmış durumda. For a single instance, DOP = PARALLEL_THREADS_PER_CPU x CPU_COUNT For an Oracle RAC configuration, DOP = PARALLEL_THREADS_PER_CPU x CPU_COUNT x INSTANCE_COUNT Default DoP ne kadar çok kaynak kullanırsa o kadar hızlı biteceğini sandığından sistemdeki tüm available kaynakları tüketmeye çalışır bu sebepten ötürü çok user ın bağlandığı bir sistemde default paralellik önerilen bir şey değildir. Bu yüzden Oracle Resoruce Manager ile paralel sorguların kaynak tüketimine sınır getirilebilir. PARALLEL_DEGREE_POLICY parametresi AUTO-LIMITED-MANUAL şeklinde ayarlanabilir. ---------------------- Optimizer ilk etapta sorgunun ihtiyacı olan tüm scan operasyonlarını değerlendirerek bir parallelik seviyesi belirliyor sorgu için. Daha sonraki adımda sistemde tanımlı olan Parallel_degree_limit parametresine bakarak kendi bulduğu parallelik seviyesi ile sistemde limitlendirilmiş değeri kontrol edip kendi bulduğu seviyenin sistemi boğum boğmayacağına bakıyor eğer bu bulduğu değer tanımlı parametreden küçük bunu alıyor değilse paralel limit parametresinde tanımlanmış değeri alıyor. (Parallel Degreee Limitin default değeri PARALLEL_THREADS_PER_CPU x CPU_COUNT x INSTANCE_COUNT dur.). Thresholuld Zamnıda parallel_min_time_threshould değerine göre karşılaştırılır. Bu değer ilk olarak default 10 sn olarak gelir. Eğer bu değeri AUTO olarak set edersek sistem parallel_min_time_threshould değerini hesaplar. --------------------------------------------------------------- PARALLEL_DEGREE_POLICY Manual – Limited ve Auto olabilir. Default olarak manual gelir, manual durumdayeken automatic degree of parallelism, statement queuing, and in-memory parallel execution özellikleri kapalıdır. Limited seçeneğinde auto DoP açık gelir ama statement queue ve in memory parallel execution kapalıdır. Auto automatic degree of parallelism, statement queuing, and in-memory parallel execution seçenkelerinin hepsi açılır. PARALLEL_DEGREE_LIMIT CPU(Default) The maximum degree of parallelism is limited by the number of CPUs in the system. The formula used to calculate the limit is PARALLEL_THREADS_PER_CPU * CPU_COUNT * the number of instances available (by default, all the opened instances on the cluster but can be constrained using PARALLEL_INSTANCE_GROUP or service specification). This is the default. IO The maximum degree of parallelism the optimizer can use is limited by the I/O capacity of the system. The value is calculated by dividing the total system throughput by the maximum I/O bandwidth per process. You must run the DBMS_RESOURCE_MANAGER.CALIBRATE_IO procedure on the system in order to use the IO setting. This procedure will calculate the total system throughput and the maximum I/O bandwidth per process. integer A numeric value for this parameter specifies the maximum degree of parallelism the optimizer can choose for a SQL statement when automatic degree of parallelism is active. Automatic degree of parallelism is only enabled if PARALLEL_DEGREE_POLICY is set to AUTO or LIMITED. PARALLEL_MIN_TIME_THRESHOLD AUTO: Default olarak 30 sn geliyor. INTEGER: El ilede verilebiliyor. PARALLEL_MIN_TIME_THRESHOLD specifies the minimum execution time a statement should have before the statement is considered for automatic degree of parallelism. By default, this is set to 30 seconds. Automatic degree of parallelism is only enabled if PARALLEL_DEGREE_POLICY is set to AUTO or LIMITED.
  14. Bu mekanizmanın aktif olabilmesi için paralel_degree_policy parametresinin AUTO olması gerekmektedir. Eğer işimizin kuyruğa girmesini istemiyorsak NO_STMT_QUEUING hinti yazılır. Sistemimzin açabileceği available proses sayısı default olarak DoP*4 kadardır. Benim PC için 16. Bu bilgi PARALLEL_SERVERS_TARGET parametresinde tutulur. Eğer sistemimde 64 tane maximum active server bulunabiliyorsa ve bunların 60 tanesi şuan kullanılıyorsa yeni gelen 16 lık bir istek için yeteri kadar server olmadığı için bu gelen yeni istek kuyruğa yollanacaktır. Birde sistemde PARALLEL_MAX_SERVERS parametresi var bu parametre PARALLEL_SERVERS_TARGET parametresinden daha büyük, bunun nedeni paralel çalışacak işlerin seri çalışacak işlerin kaynağından yememsi durumu, eğer bu 2 parametrebirbirine eşit olsaydı tüm kaynaklar paralel işlemler tarafından alınabilirdi böylelikle seri çalışacak işlere kaynak kalmazdı. Queue da ne kadar iş beklerse beklesin seri işler hiç bir zaman bekletilmez ve hemen çalıştırılır.