postgresql dba neler yapar?
TRANSCRIPT
PostgreSQL PostgreSQL Neler Yapar?Neler Yapar?
#pgdaytr
DBADBA
PGDay İstanbul 2015 @PGDayTRBoğaziçi Üniversitesi
Gülçin Yıldırım
Select * from me ;Select * from me ; 'nde
okudu, algoritmalar ve veri tabanları ileorada tanıştı.
ile karşılaşana dek birçokveri tabanı ile çalıştı ama artık pektercih etmiyor.Açık kaynak kod ve özgür yazılım sevenbir DBA. Çok az şey biliyor ve çok şeyöğrenmek istiyor, şu an 'deçalışıyor.Twitter : Blog :
YTÜ Matematik Mühendisliği
PostgreSQL
Markafoni
@apatheticmagpiekadinyazilimci.com
Neden PostgreSQL ÇokNeden PostgreSQL ÇokGüzel?Güzel?
(Atomicity, Consistency, Isolation, Durability)
Hot Standby
Streaming replication
/
ACIDMVCC Multi Version Concurrency Control
WAL Write-Ahead LoggingPoint-in-Time Recovery
Standby server and high availability
Procedural languagesPartitioning Inheritance
Cost based optimiserMulti platform support
Tablespaces
Neden PostgreSQL ÇokNeden PostgreSQL ÇokGüzel?Güzel?
( / ) : check constraints, unique
constraints, foreign keys, primary keys... : , , ...
: MongoDB, Hadoop, Redis , MySQL
TriggersFunctions
Views Materialized UpdatableConstraint enforcement
Extension system hstore pg_stat_statements pg_trgmTemporary tablesUnlogged tables
Foreign Data Wrappers
Postgres Yönetmek Çok Kolay!Postgres Yönetmek Çok Kolay!pgAdminpgAdmin
Postgres'in grafik arayüzüdür. Sorgu analiz etme, çalışan sorgularıgözlemleme özellikleri mevcuttur. Kullandığınız özelliklerin kodlarını
görebilir, değiştirebilir ve düzenleyebilirsiniz.
pgAdminpgAdmin
Terminal ve psqlTerminal ve psqlpsql Postgres'in etkileşimli (interaktif) terminalidir.
Komutlar size çok hız kazandıracaktır.
psql -h 127.0.0.1 -U gulcin -d pgday
\l ve \l+\c \dt ve \dt+\di ve \di+\d ve \d+\du\dp\df\db\x\q\?
Rutin DBA görevleriRutin DBA görevleri
PostgreSQL'i KurmakPostgreSQL'i KurmakLinuxLinux
MacMacŞu EDB versiyonunu indirebilirsiniz.
WindowsWindowsKurulum için şu yararlanabilirsiniz.
apt-get install postgresqlyum install postgresql
linkten
linkten
PostgreSQL'i AyarlamakPostgreSQL'i Ayarlamak
postgresql.confpostgresql.confpg_hba.confpg_hba.conf
recovery.confrecovery.conf
OS ConfigurationOS Configuration
Backup Logical&PhysicalBackup Logical&Physical
HA SetupHA Setup
MonitoringMonitoring
Log AnalyzingLog Analyzing
Bloat ManagementBloat ManagementAnahtar GörevlerAnahtar Görevler
Yedekleme PolitikasıYedekleme Politikası
Tavsiye: Tavsiye: Backup and Recovery Manager Backup and Recovery Managerfor PostgreSQLfor PostgreSQL
BarmanBarman
“ A good backup tool is not for keepingbackups, it's for keeping your job.
Simon Riggs
Optimizasyon YapmaOptimizasyon YapmaSystem TuningSystem Tuning
OS TuningOS Tuning
Hardware Tuning Hardware Tuning
Performance TuningPerformance TuningQuery TuningQuery Tuning
Index ManagementIndex Management
Software Configuration Software Configuration
Optimizasyon YapmaOptimizasyon YapmaTavsiye: Tavsiye: PostgreSQL Workload Analyzer PostgreSQL Workload AnalyzerPoWAPoWA
Upgrade PlanlamaUpgrade PlanlamaVersiyonlar arasındaki farkları listelemeVersiyonlar arasındaki farkları listeleme
Mevcut yapıya nasıl etkisi olacaMevcut yapıya nasıl etkisi olacağğını araını araşştırmatırma
Neler kazandıracaNeler kazandıracağğını hesaplama / öngörmeını hesaplama / öngörme
GeçiGeçişşi planlamai planlama
Kaynakları doKaynakları doğğru kullanmaru kullanma
Yenilikleri incelemeYenilikleri inceleme
pg_upgradepg_upgrade
Sistemi Sistemi İİzlemezleme , , , gibi yazılımlarla veri tabanı
sunucularımızı ve veri tabanlarımızı kontrol edebilirsiniz.Tavsiye: bir projesidir.
check_postgres veri tabanımızın çeşitli özelliklerini izleyip kontroledebilmemize yarayan bir betiktir. Nagios gibi yazılımlarla veya
bağımsız betiklerle çalışabilecek şekilde tasarlanmıştır.
Nagios PRTG New Relic Cacti
check_postgres bucardo
Sistemi Analiz EtmeSistemi Analiz EtmeLogları toplayıp analiz edersek çok daha iyi anlamış oluruz. Bunun
için aşağıdaki araçları kullanabilirsiniz.
Log analiz etmek üzere tasarlanmış bu araçlar log incelemenizi ve
bunlardan yola çıkarak kararlar almanızı sağlayacaktır.
pg_fouinepgbadger
pgCluu
Sistemi Analiz EtmeSistemi Analiz Etme
Postgres ve DBA HayatıPostgres ve DBA Hayatıİşleri olabildiğince otomatize edin.Bir yedekleme politikanız olsun.Yedekleriniz güvenli ve kullanılabilir olsun.Tablo ve dizin (index) boyutlarının artışını kontrol edin.Uzun süren sorguları loglayın ve bu sorguları düzenli aralıklarlaiyileştirin.Loglara düşen hataları inceleyin ve nasıl bir soruna işaretettiklerini anlamaya çalışın, araştırın.Vacuum analyze, autovacuum, full vacuum işlerini planlayın.Veri tabanı kilitleri hakkında fikir edinin ve nasıl izleyip kontroledeceğinizi bilin.
Postgres ve DBA HayatıPostgres ve DBA Hayatıİşleri otomatize etmek için 'crontab' komutu çok faydalı olacaktır.
Yedekleme, vacuum yapma gibi rutinler her DBA'in hayatını kurtaranfaydalı alışkanlıklardır.
gulcin# crontab -l00 02 * * * sh /home/postgres/scripts/getbackup.sh0 05 * * * sh /home/postgres/scripts/restore_test_db.sh#WAL Archive CleanUp0 02 * * * sh /var/lib/pgsql/removewal_archive.sh crontab -e // crontab dosyasını düzenlemeye yarar.# * * * * * çalıştırılacak komut# ! ! ! ! !# " " " " "# " " " " "# " " " " #$$$$$ haftanın günü (0 - 7) (0'dan 6'ya Pazar'dan Cumartesi'ye demektir; 7 Pazar, 0 da Pazar.)# " " " #$$$$$$$$$$ ay (1 - 12)# " " #$$$$$$$$$$$$$$$ ayın günü (1 - 31)# " #$$$$$$$$$$$$$$$$$$$$ saat (0 - 23)# #$$$$$$$$$$$$$$$$$$$$$$$$$ dakika (0 - 59)
Git kullanın!Git kullanın!
çok güzel. ile hemen öğren.
apt-get install git // Debian tabanlı dağıtım Ubuntu gibi.yum install git // RHELyum install git-core // Fedora vs.
Gitlab Demo
ssh-keygen -t rsa -C "[email protected]"cat ~/.ssh/id_rsa.pub
git config --global user.name "Gulcin Yildirim"git config --global user.email "[email protected]"
mkdir pgdaycd pgdaygit inittouch READMEgit add READMEgit commit -m 'Welcome to PGDay İstanbul 2015!'git remote add origin [email protected]:gitlab/pgday.gitgit push -u origin master
Nereden BaNereden Başşlayayım?layayım?Postgres kaydolun.
Günde 1 mail ile ne kadar çok şey öğrenebileceğinize inanamazsınız.
: PostgreSQL yönetimi : Kullanıcılar için genel bir tartışma alanı : Postgres ve ona bağlı servis duyuruları
: Postgres performansına ilişkin konular blogunu takip edin.
( , , , , , , , , , )
mail listelerine
pgsql-adminpgsql-general
psql-announcepsql-performance
Planet PostgreSQL2ndQuadrant pgExperts VMware OmniTI EnterpriseDB
EndPoint credativ Cybertec CommandPrompt OpenSCG
Postgres ÖPostgres Öğğrenmenin ilkrenmenin ilkyolu: Oku!yolu: Oku!
Karşılaştığınız her konsept için yazılmış bulup okuyun.
Postgres belgeleme konusunda en zengin açık kaynakkodlu projelerden biridir.
Çok sık kullandığınız özellikleri bile okuyun çünkü ufak birdetay hayat kurtarıcı olabilir.
"Why do I love Postgres?- Because I'm not a DBA.
PostgreSQLbelgesini
KaynaklarKaynaklar
PostgreSQL database administration volume I PostgreSQL Internals Through Pictures
Best Practices for Becoming an Exceptional Postgres DBA
TeTeşşekkürler!ekkürler!
Soru var mı?Soru var mı?