Upload
others
View
10
Download
0
Embed Size (px)
Citation preview
© 2013 EnterpriseDB Corporation. All rights reserved. 1
PostgreSQL 9.3Kullanılabilirlik ve BaşarımDevrim Gündüz
Principal Systems Engineer @ EnterpriseDB
Twitter : @DevrimGunduz / @DevrimGunduzTR
Linkedin: http://www.linkedin.com/in/devrimgunduz
Web : http://www.gunduz.org
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım 2
#InternetteSansüreHayır !
Başlamadan önce...
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım 3
● Yani ben:
– 12 yıldan fazla bir süredir PostgreSQL'e katkı● Hacker değilim – RPM, web sitesi
– EnterpriseDB– İstanbul!– \m/– Güneş Deniz'in aslan babası, Burcu'nun
sevgilisi, Deniz'in dayısı, Anıl'ın abisi.
Kim bu adam?
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım4
Sunumu hazırlarken...
Çok çalıştım, gecelerimi gündüzüme kattım.
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım5
Sunumu hazırlarken...
● Çok çalıştım, gecelerimi gündüzüme kattım.
● Binlerce makale okudum
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım6
Sunumu hazırlarken...
● Çok çalıştım, gecelerimi gündüzüme kattım.
● Binlerce makale okudum
● ...
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım7
Sunumu hazırlarken...
● Çok çalıştım, gecelerimi gündüzüme kattım.
● Binlerce makale okudum
● ...
● Google! :-)
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım 8
En baştan söyleyelim!
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım9
PostgreSQL nedir?
● 35 yıllık geçmiş
● Açık kaynak kodlu
● Özgür: PostgreSQL (BSD+MIT)
lisanslı
● Büyük bir topluluk
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım10
PostgreSQL nedir?
● Forkları da var:
– GreenPlum (BI)– EnterpriseDB (Oracle)– ExtenDB (BI)– Netezza– Vfabric Postgres– Yahoo! Everest– DostgreSQL!– ...
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım11
Herkesin büyük ve önemli verisi var:
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım12
Gerekli veri, gereksiz veri (ben çizdim)
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım13
Sonuçta:
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım14
Büyük verileri işlerken...
● Büyük donanımlar (gereksiz)
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım15
Büyük verileri işlerken...
● Büyük donanımlar (gereksiz)
● Pazarlama kurbanı şirketler– “Açık kaynak koddan destek alamazsınız” ;)
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım16
Büyük verileri işlerken...
● Büyük donanımlar (gereksiz)
● Pazarlama kurbanı şirketler– “Açık kaynak koddan destek alamazsınız” ;)
● Yüksek maliyetli çözümler
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım17
PostgreSQL 9.3 öncesi
● Gömülü replikasyon
● 80+ işlemci desteği
● Neredeyse bütün mimarilere destek
● Standartlara uyumluluk
● Yüksek başarım
● ...
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım18
PostgreSQL 9.3...
● Geliştiriciler için yeni özellikler
● DBA'ler için yeni araçlar
● Başarım yenilikleri
...ve diğerleri
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım19
Geliştiriciler için özellikler
● Array veri tipi geliştirmeleri– array_remove(), array_replace()
● JSON iyileştirmeleri– 9.3'de JSON kullanılabilirliği arttı
– Hstore ilişkisi ( hstore_to_json() )
– 9.4!
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım20
Geliştiriciler için özellikler
● LATERAL!
● Range veri tipi– 9.2'de gelen özellik
– 9.3'deki iyileştirmeler
● SP-GiST desteği● İstatistikler● Yeni fonksiyonlar
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım21
Geliştiriciler için özellikler
● Auto-updatable viewlar– Eskiden RULE ve TRIGGER gerektirirken...
– SQL 92 uyumluluğu
● Recursive View– CREATE RECURSIVE VIEW (Eskiden: CREATE VIEW ..WITH
RECURSIVE)
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım22
Geliştiriciler için özellikler
● Materialized viewlar– Çok yeni
– REFRESH, tabloyu kilitliyor
– 9.4...
– SQL 92 uyumluluğu
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım 23
#InternetteSansüreHayır !
Unutmayalım!
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım24
COPY FREEZE
● Önceden FREEZE edilmiş satır girme imkanı
● VACUUM gereksinimi olmaz
● Tek transaction'da veri girilmesi
● %75'e yakın performans artışı
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım25
COPY PIPE
● COPY komutuna sistemden bir pipe vermek– COPY apache_logs FROM PROGRAM 'zcat
/var/log/httpd/20140126.tar.gz'
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım26
Foreign Data Wrapper (Yaşasın!)
● SQL/MED
● 2 sürümdür olan bir özellik: FDW– Oracle
– MongoDB
– MySQL
– CSV
– ...
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım27
Foreign Data Wrapper (Yaşasın!)
● 9.3'de PostgreSQL FDW, üstelik yazılabilir!– Dblink mi? :)
– Uzaktaki PostgreSQL tablolarını yerelde görebilme
– Performans iyileştirmeleri gerekli.
– 9.4...
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım28
Replikasyon geliştirmeleri
● “timeline switching”
● SR ile failover
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım29
Checksum
● Sayfa (page) seviyesinde checksum
● 16-bit
● Her veri sayfası (data page) için geçerli
● initdb anında etkinleştirilebiliyor
● Başarım?
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım30
SysV geliştirmeleri
● Artık sysV shared memory gereksinimi yok
● Sysctl de yok
● Öntanımlı shared_buffers arttı
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım31
İyileştirilmiş “concurrency”
● Yeni LOCK seviyeleri– FOR KEY SHARE
– FOR NO KEY UPDATE
● FK işlemlerinde başarım artışı
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım32
“Biz” neler yaptık?
Avrupa!
• ABN Amro
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım33
“Biz” neler yaptık?
Avrupa!
• ABN Amro
• Santander
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım34
“Biz” neler yaptık?
Avrupa!
• ABN Amro
• Santander
• BBVA
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım35
“Biz” neler yaptık?
Avrupa!
• ABN Amro
• Santander
• BBVA
• Erste Gruppe
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım36
“Biz” neler yaptık?
Avrupa!
• ABN Amro
• Santander
• BBVA
• Erste Gruppe
• The Cloud Networks
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım37
“Biz” neler yaptık?
Avrupa!
• ABN Amro
• Santander
• BBVA
• Erste Gruppe
• The Cloud Networks
• ...
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım38
“Biz” neler yaptık?
Amerika!
• Statefarm (Fortune 500'de 44.)
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım39
“Biz” neler yaptık?
Amerika!
• Statefarm (Fortune 500'de 44.)
• Sony Online Entertainment
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım40
“Biz” neler yaptık?
Amerika!
• Statefarm (Fortune 500'de 44.)
• Sony Online Entertainment
• Mastercard
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım41
“Biz” neler yaptık?
Amerika!
• Statefarm (Fortune 500'de 44.)
• Sony Online Entertainment
• Mastercard
• NASA
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım42
“Biz” neler yaptık?
Amerika!
• Statefarm (Fortune 500'de 44.)
• Sony Online Entertainment
• Mastercard
• NASA
• Lockheed Martin
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım43
“Biz” neler yaptık?
Amerika!
• Statefarm (Fortune 500'de 44.)
• Sony Online Entertainment
• Mastercard
• NASA
• Lockheed Martin
• ...
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım44
“Biz” neler yaptık?
Türkiye!
• Türksat
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım45
“Biz” neler yaptık?
Türkiye!
• Türksat
• Sebit
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım46
“Biz” neler yaptık?
Türkiye!
• Türksat
• Sebit
• RTÜK (SKAAS)
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım47
“Biz” neler yaptık?
Türkiye!
• Türksat
• Sebit
• RTÜK (SKAAS)
• Büyük bir GSM operatörü
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım48
“Biz” neler yaptık?
Türkiye!
• Türksat
• Sebit
• RTÜK (SKAAS)
• Büyük bir GSM operatörü
• Ak Yatırım
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım49
“Biz” neler yaptık?
Türkiye!
• Türksat
• Sebit
• RTÜK (SKAAS)
• Büyük bir GSM operatörü
• Ak Yatırım
• TJK
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım50
“Biz” neler yaptık?
Türkiye!
• Türksat
• Sebit
• RTÜK (SKAAS)
• Büyük bir GSM operatörü
• Ak Yatırım
• TJK
• Fizy
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım51
“Biz” neler yaptık?
Türkiye!
• Türksat
• Sebit
• RTÜK (SKAAS)
• Büyük bir GSM operatörü
• Ak Yatırım
• TJK
• Fizy
• Biletix
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım52
“Biz” neler yaptık?
• TB'larca veriyi bellekte sıralama!
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım53
“Biz” neler yaptık?
• TB'larca veriyi bellekte sıralama!
• Yüzlerce işlemciyi paralel kullanma
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım54
“Biz” neler yaptık?
• TB'larca veriyi bellekte sıralama!
• Yüzlerce işlemciyi paralel kullanma
• Disk üzerindeki veriyi daha büyük blocksize ile saklama seçeneği
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım55
“Biz” neler yaptık?
• TB'larca veriyi bellekte sıralama!
• Yüzlerce işlemciyi paralel kullanma
• Disk üzerindeki veriyi daha büyük blocksize ile saklama seçeneği
• Düşük maliyet
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım56
“Biz” neler yaptık?
• TB'larca veriyi bellekte sıralama!
• Yüzlerce işlemciyi paralel kullanma
• Disk üzerindeki veriyi daha büyük blocksize ile saklama seçeneği
• Düşük maliyet
• Yerli mühendisler
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım57
“Biz” neler yaptık?
• Hibrid ortamlar• SQL, NoSQL
• FDW
• Hadoop, MongoDB, Oracle, PostgreSQL!
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım58
“Biz” neler yaptık?
• Hibrid ortamlar• SQL, NoSQL
• FDW
• Hadoop, MongoDB, Oracle, PostgreSQL!• JSON / Hstore / XML
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım 59
#InternetteSansüreHayır !
Unutmayalım!
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım 60
Sorular?
Akademik Bilişim 2014 Mersin PostgreSQL 9.3: Kullanılabilirlik ve Başarım 61
Teşekkürler!
© 2013 EnterpriseDB Corporation. All rights reserved. 62
PostgreSQL 9.3Kullanılabilirlik ve BaşarımDevrim Gündüz
Principal Systems Engineer @ EnterpriseDB
Twitter : @DevrimGunduz / @DevrimGunduzTR
Linkedin: http://www.linkedin.com/in/devrimgunduz
Web : http://www.gunduz.org