SlideShare a Scribd company logo
DB&DWH Çok Önemli
Özellikler
Oracle Day
11 Kasım 2014
Zekeriya Beşiroğlu
Ben Kimim?
• Bilginc IT Academy - Expert Consultant
• TROUG Kurucu üye Yönetim Kurulu Başkan
http://www.troug.org
https://www.facebook.com/groups/troug/
2480 üye
http://www.linkedin.com Turkish Oracle User Group
1586 üye
TROUG’u Nasıl Takip edebilirim?
http://twitter.com/turkishoug
Sistem istatistikleri
Nasıl Makina oluşturmalıyız?
Join Türleri ve 3 P
12c Memory
Agenda
CBO etkileyen Faktorler
Sistem İstatistikleri
• Sistem istatistiklerinin ihmal edildiği birçok yerde görüyoruz.
• Önemlimidir? Sisteminizin genel davranış şeklini analiz ettiği istatistiktir. İndexlerin davranışını bile etkiler.
• Workload Olmadan:
• CPUSPEEDNW - CPU speed
• IOSEEKTIM - The I/O seek time in milliseconds
• IOTFRSPEED - I/O transfer speed in milliseconds
• Workload varken:
• SREADTIM - Single block read time in milliseconds
• MREADTIM - Multiblock read time in ms
• CPUSPEED - CPU speed
• MBRC - Average blocks read per multiblock read (see db_file_multiblock_read_count)
• MAXTHR - Maximum I/O throughput (for OPQ only)
Sistem İstatistikleri
• Doğru alınıp alınmadığını kontrol edelim.
• Single block read time & multi block read time
• SQL> SELECT * FROM SYS.AUX_STATS$;
• SNAME PNAME PVAL1 PVAL2
------------------------------ ------------------------------ ---------- --------------------
• SYSSTATS_INFO STATUS COMPLETED
• SYSSTATS_INFO DSTART 10-10-2014 09:45
• SYSSTATS_INFO DSTOP 10-10-2014 10:42
• SYSSTATS_INFO FLAGS 1
• SYSSTATS_MAIN CPUSPEEDNW 480.062427
• SYSSTATS_MAIN IOSEEKTIM 10
• SYSSTATS_MAIN IOTFRSPEED 4096
• SYSSTATS_MAIN SREADTIM 3.746
BEST PRACTICES
• Building Balanced Hardware Configuration
• High Throughput sağlamak. Mb/per second Gb/per second
• Sistemimizi oluştururken Peak time ne kadar data çekeceğiz, yükleme
yaptığımızda ne kadar data atacağız belirlemek lazım.
Number and speed of CPUs
Memory size
Number and size of disks
Number and speed of the I/O bandwidth components, such as:
Host Bus Adapters(HBAs)
Switches
Disk Controllers
Hesap Basit
• Cpu Core başına ortalama 100-300 mb/per second
• Core sayısı kadar HBA port
• Fiber switch ortalama 800 mb/per second
• Bir Disk Array ortalama 200 mb/per second
• HBA port kadar Disk kontroller.
• Küçük 15000 rpm disk. Max 10 tane disk bir arrayde.146 veya
300gb drives.
• 4 gb memory per core 8 gb Compressde.
Optimizing Third Normal Form:

Power, Partitioning, Parallelism
• Power bir önceki slayt
• Partition : Range- Hash partition hedefliyoruz.
• Hash sayısı cpus sayısı X 2
• Paralel degree power X 2 ve hedef parallel
partition-wise join
Join Türleri hatırlatma
• HASH JOİN
• TABLO büyük değilse kötü
• NESTED LOOP
• Küçük tablolarda daha iyi
• Sort Merge
• Cardinality yüksekse beklenebilir.
• Hangi Join’i neden Tercih ettiği 10053 Trace
Optimizing Star Queries: Tuning Star Queries
Partition-Wise Join
Data Loading Best Practices
• Alter session enable parallel dml ve direct path
yapıp buffer cache pass gecelim.
• Create table as Select
• insert /*+ Append */ into
• External Table kullanıyoruz. SQLloader
kullanmıyoruz.
– Allows a flat file to be accessed via SQL and PL/SQL as if it were a table in the database
– Enables complex data transformations and data cleansing to occur “on the fly”
– Supports parallel operations
– Avoids wasted space
Connection Pool
• Connection Pool sizeları son derece kritiktir.
• Bugun online application user sayısı yüksek olan bir sistemde
• Örnek vermek gerekirse 50.000 online application users
• 100 Application server
• 2 node rac 128 CPU per node OLMAMALI
• instance basına 25-30.000 session çok yüksek rakamlar
yüksek süreli beklemelere performans problemlerine
neden olurlar.
12c Multitenant&In Memory
• Complex OLTP ortamları Analytic indexlerle
beraber çok daha yavaş çalışırlar.
• OLTP den dolayı1-3 index +10-20 civarı Analytic
index olduğunu düşünürseniz tabloya yapılan bir
insert işleminin maliyetini yüksek ve yavaş olur.
• IN Memory Database Column Store özelliği
Analytic indexin yerini alacaktır.Hem daha hızlı
analiz hemde daha hızlı OLTP ve batch işlemleri
demektir.
IN MEMORY
• Uygulamalarınızda hiçbir değişiklik yapmazsınız.
• Bilinen Row formatı Transaction için en iyi formattır
• Insertler hızlı,birkaç row many columns hızlıdır
• Column formatı inmemory özelliğidir. Analytics için idealdir
• Region bazında satış raporu gibi,tek yada az kolon çok satır için idealdir.
• Son derece kolay ayarlanır.
• inmemory_size=xxx GB
• Kullanacağınız tabloda yada kolonda alter yapılır.
• Alter table yyy partition zzz inmemory
Dual Format Database
• Row ve Column format aynı tabloda kullanabiliriz
• OLTP Row kullanır
• Analytics ve Raporlamada Column formatı
• Inmemory not persistent and no logging
• 2X -20X compress farkı yaratır.
• Buffer cacheden çok daha hızlıdır.
• Tablo ve Partition level yapılabilir.
• Her hardware platformda vardır.
• Her cpu core local olarak çalışabilir.
• Join tablolarda 10X hızlanma vardır.
In -memory Multitenant
• Beraber harika çalışırlar.
• Multitenant ciddi bir konsolidasyon yapar. Memory ve Cpu Cycles
• Inmemory’in isteği memory ve cpu olduğu için daha yüksek performans gösterir.
• Inmemory CDB inherittir
• Örnek vermek gerekirse GL,OE,DW databaselerimiz olsun
• CDB inmemory_size=20gb
• GL 0 gb
• OE 4 db
• DW 16 gb ayarlayabiliriz.
• hatta over subscription bile izin verir. yani oe 10gb dw 16 gb ayarlanabilir.
Sorular & Cevaplar
• http://facebook.com/zekeriyabesiroglu
• http://twitter.com/zbesiroglu

More Related Content

PPTX
Exchange Server 2010 Database Availability Group(DAG)
PPTX
Linkle mimari
PPT
Dba için oracle veritabanı 11g yeni özellikleri
PDF
Bigdata Nedir? Hadoop Nedir? MapReduce Nedir? Big Data.
PPTX
Bigdata : Big picture
PPTX
Oracle 12c Database In-Memory
PPTX
Oracle 12c Database In Memory DBA SIG
PDF
Exadata Performance Notes
Exchange Server 2010 Database Availability Group(DAG)
Linkle mimari
Dba için oracle veritabanı 11g yeni özellikleri
Bigdata Nedir? Hadoop Nedir? MapReduce Nedir? Big Data.
Bigdata : Big picture
Oracle 12c Database In-Memory
Oracle 12c Database In Memory DBA SIG
Exadata Performance Notes

Similar to Oracle Database & Oracle Datawarehouse Best Practices (20)

PPTX
Veri̇ tabani oluşturma ve yapilandirma
PDF
Oracle veritabani performans kontrol listesi
DOC
Performance Tuni̇ng
PPTX
Sql Server2008 For Developers By Tarik
PDF
İleri Seviye T-SQL Programlama - Chapter 08
PPTX
Index ve İstatistik:performansınızı arttırın.
PPTX
SQL Server Performans İpuçları
DOCX
Instance ve Media Bozukluklarını Inceleme
PPTX
Veri̇ tabani ve dosya yöneti̇mi̇
DOC
DATABASEI ARCHIVE MODA ALMA
PPT
Cem kubilay
PPTX
Istanbul Datascience Academy Talks
PDF
İleri Seviye T-SQL Programlama - Chapter 19
PPTX
Sql serverda indexkavrami
PPTX
Oracle DB Standard Edition: Başka Bir Arzunuz?
PPTX
System Center 2012 Ürün Ailesi Yenilikleri ve Uçtan Uca Yönetimi
PPT
Ibm storage presales presentation
PDF
Log Yonetimi ve SIEM Kontrol Listesi
DOCX
Veri̇tabani ve Kullanici Yöneti̇mi̇
PDF
Oracle veritabanı yonetiminde onemli teknikler
Veri̇ tabani oluşturma ve yapilandirma
Oracle veritabani performans kontrol listesi
Performance Tuni̇ng
Sql Server2008 For Developers By Tarik
İleri Seviye T-SQL Programlama - Chapter 08
Index ve İstatistik:performansınızı arttırın.
SQL Server Performans İpuçları
Instance ve Media Bozukluklarını Inceleme
Veri̇ tabani ve dosya yöneti̇mi̇
DATABASEI ARCHIVE MODA ALMA
Cem kubilay
Istanbul Datascience Academy Talks
İleri Seviye T-SQL Programlama - Chapter 19
Sql serverda indexkavrami
Oracle DB Standard Edition: Başka Bir Arzunuz?
System Center 2012 Ürün Ailesi Yenilikleri ve Uçtan Uca Yönetimi
Ibm storage presales presentation
Log Yonetimi ve SIEM Kontrol Listesi
Veri̇tabani ve Kullanici Yöneti̇mi̇
Oracle veritabanı yonetiminde onemli teknikler
Ad

Oracle Database & Oracle Datawarehouse Best Practices

  • 1. DB&DWH Çok Önemli Özellikler Oracle Day 11 Kasım 2014 Zekeriya Beşiroğlu
  • 2. Ben Kimim? • Bilginc IT Academy - Expert Consultant • TROUG Kurucu üye Yönetim Kurulu Başkan
  • 3. http://www.troug.org https://www.facebook.com/groups/troug/ 2480 üye http://www.linkedin.com Turkish Oracle User Group 1586 üye TROUG’u Nasıl Takip edebilirim? http://twitter.com/turkishoug
  • 4. Sistem istatistikleri Nasıl Makina oluşturmalıyız? Join Türleri ve 3 P 12c Memory Agenda
  • 5. CBO etkileyen Faktorler Sistem İstatistikleri • Sistem istatistiklerinin ihmal edildiği birçok yerde görüyoruz. • Önemlimidir? Sisteminizin genel davranış şeklini analiz ettiği istatistiktir. İndexlerin davranışını bile etkiler. • Workload Olmadan: • CPUSPEEDNW - CPU speed • IOSEEKTIM - The I/O seek time in milliseconds • IOTFRSPEED - I/O transfer speed in milliseconds • Workload varken: • SREADTIM - Single block read time in milliseconds • MREADTIM - Multiblock read time in ms • CPUSPEED - CPU speed • MBRC - Average blocks read per multiblock read (see db_file_multiblock_read_count) • MAXTHR - Maximum I/O throughput (for OPQ only)
  • 6. Sistem İstatistikleri • Doğru alınıp alınmadığını kontrol edelim. • Single block read time & multi block read time • SQL> SELECT * FROM SYS.AUX_STATS$; • SNAME PNAME PVAL1 PVAL2 ------------------------------ ------------------------------ ---------- -------------------- • SYSSTATS_INFO STATUS COMPLETED • SYSSTATS_INFO DSTART 10-10-2014 09:45 • SYSSTATS_INFO DSTOP 10-10-2014 10:42 • SYSSTATS_INFO FLAGS 1 • SYSSTATS_MAIN CPUSPEEDNW 480.062427 • SYSSTATS_MAIN IOSEEKTIM 10 • SYSSTATS_MAIN IOTFRSPEED 4096 • SYSSTATS_MAIN SREADTIM 3.746
  • 7. BEST PRACTICES • Building Balanced Hardware Configuration • High Throughput sağlamak. Mb/per second Gb/per second • Sistemimizi oluştururken Peak time ne kadar data çekeceğiz, yükleme yaptığımızda ne kadar data atacağız belirlemek lazım. Number and speed of CPUs Memory size Number and size of disks Number and speed of the I/O bandwidth components, such as: Host Bus Adapters(HBAs) Switches Disk Controllers
  • 8. Hesap Basit • Cpu Core başına ortalama 100-300 mb/per second • Core sayısı kadar HBA port • Fiber switch ortalama 800 mb/per second • Bir Disk Array ortalama 200 mb/per second • HBA port kadar Disk kontroller. • Küçük 15000 rpm disk. Max 10 tane disk bir arrayde.146 veya 300gb drives. • 4 gb memory per core 8 gb Compressde.
  • 9. Optimizing Third Normal Form:
 Power, Partitioning, Parallelism • Power bir önceki slayt • Partition : Range- Hash partition hedefliyoruz. • Hash sayısı cpus sayısı X 2 • Paralel degree power X 2 ve hedef parallel partition-wise join
  • 10. Join Türleri hatırlatma • HASH JOİN • TABLO büyük değilse kötü • NESTED LOOP • Küçük tablolarda daha iyi • Sort Merge • Cardinality yüksekse beklenebilir. • Hangi Join’i neden Tercih ettiği 10053 Trace
  • 11. Optimizing Star Queries: Tuning Star Queries
  • 13. Data Loading Best Practices • Alter session enable parallel dml ve direct path yapıp buffer cache pass gecelim. • Create table as Select • insert /*+ Append */ into • External Table kullanıyoruz. SQLloader kullanmıyoruz. – Allows a flat file to be accessed via SQL and PL/SQL as if it were a table in the database – Enables complex data transformations and data cleansing to occur “on the fly” – Supports parallel operations – Avoids wasted space
  • 14. Connection Pool • Connection Pool sizeları son derece kritiktir. • Bugun online application user sayısı yüksek olan bir sistemde • Örnek vermek gerekirse 50.000 online application users • 100 Application server • 2 node rac 128 CPU per node OLMAMALI • instance basına 25-30.000 session çok yüksek rakamlar yüksek süreli beklemelere performans problemlerine neden olurlar.
  • 15. 12c Multitenant&In Memory • Complex OLTP ortamları Analytic indexlerle beraber çok daha yavaş çalışırlar. • OLTP den dolayı1-3 index +10-20 civarı Analytic index olduğunu düşünürseniz tabloya yapılan bir insert işleminin maliyetini yüksek ve yavaş olur. • IN Memory Database Column Store özelliği Analytic indexin yerini alacaktır.Hem daha hızlı analiz hemde daha hızlı OLTP ve batch işlemleri demektir.
  • 16. IN MEMORY • Uygulamalarınızda hiçbir değişiklik yapmazsınız. • Bilinen Row formatı Transaction için en iyi formattır • Insertler hızlı,birkaç row many columns hızlıdır • Column formatı inmemory özelliğidir. Analytics için idealdir • Region bazında satış raporu gibi,tek yada az kolon çok satır için idealdir. • Son derece kolay ayarlanır. • inmemory_size=xxx GB • Kullanacağınız tabloda yada kolonda alter yapılır. • Alter table yyy partition zzz inmemory
  • 17. Dual Format Database • Row ve Column format aynı tabloda kullanabiliriz • OLTP Row kullanır • Analytics ve Raporlamada Column formatı • Inmemory not persistent and no logging • 2X -20X compress farkı yaratır. • Buffer cacheden çok daha hızlıdır. • Tablo ve Partition level yapılabilir. • Her hardware platformda vardır. • Her cpu core local olarak çalışabilir. • Join tablolarda 10X hızlanma vardır.
  • 18. In -memory Multitenant • Beraber harika çalışırlar. • Multitenant ciddi bir konsolidasyon yapar. Memory ve Cpu Cycles • Inmemory’in isteği memory ve cpu olduğu için daha yüksek performans gösterir. • Inmemory CDB inherittir • Örnek vermek gerekirse GL,OE,DW databaselerimiz olsun • CDB inmemory_size=20gb • GL 0 gb • OE 4 db • DW 16 gb ayarlayabiliriz. • hatta over subscription bile izin verir. yani oe 10gb dw 16 gb ayarlanabilir.
  • 19. Sorular & Cevaplar • http://facebook.com/zekeriyabesiroglu • http://twitter.com/zbesiroglu