oracle’ın parallel execution yetenekleri ve performans ... · oracle’ın parallel execution...

of 22 /22
Oracle’ın Parallel Execution Yetenekleri ve Performans İncelemesi Emrah METE TURKCELL TEKNOLOJİ

Author: others

Post on 04-Jun-2020

9 views

Category:

Documents


0 download

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