oracle’ın parallel execution yetenekleri ve performans ... · oracle’ın parallel execution...
Embed Size (px)
TRANSCRIPT
-
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
Tom KYTE (2010)
-
Tom KYTE (2010)
-
Parallel DML (PDML)
• Insert – Update – Delete – Merge
ORA-12838: cannot read/modify an object after modifying it in parallel.
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
Tom KYTE (2010)
-
Procedural Parallelism
• Selecting Rows
• Processing them
• Insert/ Update another table
Tom KYTE (2010)
-
Procedural Parallelism Parallel Pipelined Function
Unparallelized, Unpipelined Table Functions
Pipelining and Parallel Execution
-
Procedural Parallelism
• Select * from table(dbms_xplan.display);
Tom KYTE (2010)
-
DBMS_PARALLEL_EXECUTE (Do it yourself parallesim)
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
-
Parallel Statement Queue (PSQ)
https://blogs.oracle.com/datawarehousing/entry/auto_dop_and_parallel_statemen
-
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