PostgreSQL'de Uygulamalı. (Streaming Replication. Standby)



Benzer belgeler
PostgreSQL ile Kümeleme Teknikleri

POSTGRESQL'de İleri Seviyede Veri Kurtarma ve Yedekleme

PostgreSQL - Yeni dönemdeki yeri

RPM Hazırlama Sanatı

PostgreSQL ile NoSQL. Gereksinimlerinizi Karşılamak

EnterpriseDB Kalitesi ile Tanıştırma. Devrim GÜNDÜZ Principal Systems Engineer EnterpriseDB

PostgreSQL - Yeni dönemdeki yeri

Devrim Gündüz. Onur Yalazı İstanbul PGCluster ile etkin kümeleme

İleri Seviyede PostgreSQL Yönetimi Devrim GÜNDÜZ. PostgreSQL Geliştiricisi PostgreSQL Markafoni

PostgreSQL Veritabanı Sunucusu. Başarım Arttırma Yöntemleri

PostgreSQL Veritabanı Sunucusu. HOT, VACUUM ve BGWRITER

PostgreSQL'de Ölçekleme

FreeBSD Üzerinde PostgreSQL i 8.1 e Güncelleme

Program Kurulum. Turquaz Muhasebe. İçindekiler

WAL Hakkında Bilmek İstediğiniz (Hemen Hemen) Herşey

PostgreSQL Veritabanı Sunucusu. Replikasyon Yazılımları: Slony-I Devrim GÜNDÜZ PostgreSQL Geliştiricisi

PostgreSQL Veritabanı Sunucusu. 8.2 neler getiriyor?

PostgreSQL 9.3 Kullanılabilirlik ve Başarım

Nmap Sonuçlarının Yorumlanması

PostgreSQL'de Güvenlik

PostgreSQL ve PL/pgSQL

Oracle 11gR2 Üzerine Dataguard Kurulumu Türkçe

İş Sürekliliği Planı. Merkez Renkli Klavye: Selva KUŞÇULAR BİST : Murat Ziya GİRGİN Nurşen AKBABA

PostgreSQL İstemci Yetkilendirmesi ve Güvenliği

ProFTPD FTP Sunucusu. Devrim GÜNDÜZ. TR.NET Sistem Destek Uzmanı.

Yeni Nesil Arşiv Altyapı Çözümleri

Turquaz Windows kurulum dökümanı. ftp://ftp.mirror.ac.uk/sites/ftp.postgresql.org/binary/v7.3.1/windows/pgsql731wina1.exe

NFS (Network File System) & NIS (Network Information System) H. Coşkun Gündüz cgunduz@cs.bilgi.edu.tr

«BM364» Veritabanı Uygulamaları

PostgreSQL Sunucu ve İstemci Komutları

PostgreSQL ve PL/pgSQL

SİBER SUÇLARA KARŞI SİBER ZEKA

Turquaz Kurulum Dökümani Linux

FreeBSD üzerinde PostgreSQL Temel Kurulum ve Yapılandırması

Yedek Almak ve Yedekten Geri Dönmek

Belge içeriğine ait tüm haklar yazarlara aittir. Kaynak gösterilmek suretiyle alıntı yapılabilir.

Copyright 2012 EMC Corporation. All rights reserved.

PostgreSQL Veritabanı Sunucusu Devrim GÜNDÜZ.

Veri Tabanı-I 5.Hafta

Bellek Yönetimiyle İlgili Notlar ORACLE BELLEK YÖNETĐMĐYLE ĐLGĐLĐ NOTLAR

HP Yazılım Zirvesi - İstanbul 20 May Wyndham Grand Levent Erdem Alaşehir / Finansbank Güvenlik Olay Korelasyonunda Büyük Veri Kullanımı

05 - Veritabanı Sızma Testleri

Ortamınızda A.D. veya LDAP sistemi var ise aşağıdaki linkten KoruMail LDAP-AD isimli dokümanı inceleyebilirsiniz.

Programa giriş MSSQL versiyonuna göre iki ayrı şekilde yapılmaktadır.

Tavsiye Edilen Önhazırlık Veritabanı kavramını öğrenmek

SQL SERVER DATABASE FILE LARINI VE TEMPDB FILE LARINI TAŞIMA OPERASYONU

BIND ile DNS Sunucu Kurulumu

2013 Yıl Sonu İşlemleri

PostgreSQL ile Maliye Bakanlığı Yeni Muhasebe Bilgi Sistemi 28/09/18

DBMAIL KURULUMU BELGESI (Howto Install Dbmail) Yazan: Ozgur Karatas

EVRAK BİLGİ SİSTEMİ, PROGRAM KULLANIM VE VERİ TABANI KURULUM KILAVUZU. Saydam Yazılım

Adli Analiz İşlemlerine Başlamak

Büyük veri ile neler yaptık?

Yerel Disk Üzerinde CentOS 7.0 Kurulumu 17 Red Hat Enterprise Linux 6 Kurulumu 32. Sisteme Giriş ve Çıkış 49 İÇİNDEKİLER 1 LINUX HAKKINDA 1

ANET YAZILIM LOG YÖNETİMİ. Karşılaştırma Tablosu ANET YAZILIM

SQL Uyarı Programı Kurulum ve Kullanımı

Bu sorunlardan herhangi birini yaşıyor musunuz?

İlk Yayın Tarihi:

ANET YAZILIM LOG YÖNETİMİ. Karşılaştırma Tablosu ANET YAZILIM

MailStore tüm şirket e-postalarınızı uzun yıllar güvenle saklayabileceğiniz bir mail arşivleme sistemidir.

VeritabanıSunucusu ve PHP Programlama Dili

Postgresql: Web Programcısı için Gündelik İpuçları Postgres 2014 Türkiye

Veritabanı Yönetim Sistemleri I HAFTA 1

SQL Server 2014 Kurulum Adımları

Kets DocPlace LOGO Entegrasyonu

R J F M Programlarında Kurulumda dikkat edilmesi gereken alanlar

BİLGİ İŞLEM DERS 3. Yrd Doç Dr. Ferhat ÖZOK MSGSU FİZİK BÖLÜMÜ MSGSU FİZİK BÖLÜMÜ

Tavsiye Edilen Önhazırlık Veritabanı kavramınıöğrenmek. Hedefler Shrink yapılmasının amacının kavranması. Shrink yapılma yöntemlerinin öğrenilmesi.

Gitlab ile Web Tabanlı Git Deposu Yönetimi

Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU

Linux Temelli Zararlı Yazılımların Bulaşma Teknikleri, Engellenmesi ve Temizlenmesi

Bunyamin Demir, <bunyamindemir at gmail dot com>, webguvenligi.org, 20/01/2011 ORACLE VERĠTABANI TRAFĠĞĠNĠN GÜVENLĠĞĠ

Eğitim Dokümanı Yerel Okul Sunucusu Uygulama Yazılımları Prototipi (Merkez Yönetim Yazılımı Uygulama Ekranları )

Veritabanı Sızma Testleri Türk Standardları Enstitüsü Yazılım Test ve Belgelendirme Dairesi Başkanlığı

Veritabanına Giriş. Oğuzhan Ceylan. 19 Eylül 2011

CHAPTER 10. DNS Server

İNTERNET PROGRAMCILIĞI DERSİ

Virtualmin'e Yeni Web Sitesi Host Etmek - Domain Eklemek

Kritik Uygulamalar için Yeni Yedekleme ve Arşivleme Stratejileri

Oracle'dan PostgreSQL'e geçiş

1 ORACLE 11G DATABASE SERVER LE

BÖLÜM- 9: KULLANICI ERİŞİMLERİNİ YÖNETMEK

1. Mutabakat.zip dosyası açılır. 2. Mutabakat klasörü içindeki Mutabakat.exe dosyası çalıştırılır.

JasperReports Server ve Ireport raporlama Sistemi Kurulumu / Kullanımı 1. Bölüm 2. Bölüm 1- JasperReports Server ve Ireport Nedir?

POSTGRESQL Veritabanı Sunucusu ve PostgreSQL ile Kurumsal Çözümler

1. MİCROSOFT SQL SERVER 2014'E GİRİŞ

TLOS İş Yöneticisi v 1.0

Kriz Yönetim Yazılımlarında PostgreSQL

DNS. Linux Yaz Kampı Bolu 2012 Eray Aslan

Hybrid Software Veritabanı ve Sistem 7x24 Destek &Danışmanlık Hizmetleri Veritabanı ve Sistem 7x24 Destek & Danışmanlık Hizmetleri

TÜRKSAT A.Ş. 2. PostgreSQL Konferansı. Bilgilendirme Sunumu Faruk Selman Lekesiz

Veritabanı Tasarımı. Kullanıcı Erişimini Kontrol Etme

Temel Linux Sunucusu Kurulumu

VERĐTABANLARINA GĐRĐŞ

BİLGİ & İLETİŞİM TEKNOLOJİLERİ

qmail ile SPAM engelleme Devrim Sipahi Dokuz Eylül Üniversitesi

Bölüm 10: PHP ile Veritabanı Uygulamaları

30 Mayıs ETASQLMNG Programına giriş

LDAP Administrator ile Active Directory Yonetimi

Blog ve WordPress Kavramları 2. WordPress.com a Nasıl Üye Olabilirim? 10. Nelere İhtiyacımız Var? 18

Transkript:

PostgreSQL'de Uygulamalı Gömülü Presentation Replikasyon Title (Streaming Replication Presentation Sub-Title ve Hot Standby) Devrim GÜNDÜZ Principal Systems Engineer EnterpriseDB devrim.gunduz@enterprisedb.com Copyright 2010 EnterpriseDB Corporation. All rights Reserved. Slide: 1

Bu anlatan da kim? Bu anlatan da kim? Zararlı fanatik seviyesinde açık kaynak kod kullanıcısıyım. PostgreSQL'in ana katkıcılarından birisiyim. 1997 yılından beri masaüstünde Linux kullanıyorum. Fedora geliştiricisiyim. Kod yazmıyorum (pek). EnterpriseDB'de çalışıyorum. Eğlenceli bir işim var. İstanbul'da yaşıyorum. Metal dinliyorum (genelde) Bir oğlum var. 2

Ajanda PostgreSQL'de WAL kavramı ve arşivleme temelleri Streaming Replication (SR) kavramı Hot Standby (HS) kavramı SR+HS için ana (master) sunucuda yapılacaklar SR+HS için standby sunucuda yapılacaklar Sorular 3

Ajanda PostgreSQL'de WAL kavramı ve arşivlemesi 4

PostgreSQL'de WAL kavramı postmaster postgres süreçleri Veri veritabanı tamponuna (buffer) yazılır. Transaction log verisi WAL tamponuna yazılır. Commit gerçekleşince wal buffer diske yazılır (flush, pg_xlog) Cache dolu ise group commit postgres postgres Shared (data) Buffers Stable Veritabanı Database postgres WAL Buffer Transaction Log 5

WAL Arşivleme temelleri Postmaster Archiver süreci Xlogların dolmasını bekler Dosya dolunca kopya işlemi başlar postgres postgres Shared (data) Buffers postgres WAL Buffer ARCHIVE COMMAND Veritabanı Transaction Log ARCHIVER 6

Ajanda Streaming Replication (SR) ve Hot Standby (HS) Temelleri 7

SR ve HS temelleri SR ve HS PostgreSQL 9.1'in ana özelliklerinden birisidir. SR, replikasyon yükünü çok azaltan bir yapıdır. HS ise standby sunucuda salt okunur sorgulara izin verir. WAL kayıtları stream edilir, böylece xlog taşımaktan kaynaklanan gecikmeler ortadan kalkar. WAL dosyaları her zaman gereklidir -- o yüzden ayrıca arşivlemek gereklidir. 8

SR ve HS temelleri Ana Sunucu Standby Sunucu Veri dizininin tam arşivi (base backup) pg_xlog pg_xlog Xlog arşivi 9

Ajanda SR ve HS için ana sunucuda yapılması gerekenler 10

Ana sunucuda yapılması gerekenler wal_level=hot_standby wal_level transaction logları içindeki transaction bilgisinin miktarını belirtir. Hot standby için, transaction loglarında en fazla bilgiye gereksinim duyulur. Bu nedenle bu seçeneği hot_standby yapmalıyız. 11

Ana sunucuda yapılması gerekenler max_wal_senders=2 En fazla walsender süreci sayısıdır. Genelde slave sunucu sayısı +1 şeklinde hesaplayabilirsiniz. archive_mode=on xlog arşivlemesini etkinleştirir. archive_command='...' xloglar arşivlenirken çalıştırılacak komut ya da komutlar. Bu komutu doğrudan postgresql.conf'a yazmamak, bizi reload sürecinden kurtarır. %p, %f Bu değişikliklerin etkin olması için PostgreSQL'i restart etmeniz gerekmektedir. 12

Ana sunucuda yapılması gerekenler Replikasyon kullanıcısını yaratmak CREATE ROLE replicauser REPLICATION LOGIN; ALTER ROLE postgres NOREPLICATION; pg_hba.conf içinde replikasyon desteği host replication replicauser 10.1.1.2/32 md5 13

Ajanda Standby sunucusunda yapılması gerekenler 14

Standby sunucuda yapılması gerekenler hot_standby=on HS özelliğini açar max_standby_archive_delay max_standby_streaming_delay Standby sunucu, elindeki veriyi xlog arşivinden ya da streaming replication'dan eşlerken sorguların en uzun süresini belirtir. 15

Ajanda Base backup alma 16

Base backup alma Verinin fiziksel kopyası Bu sürede veritabanını durdurmanıza gerek yoktur. PostgreSQL bu süreçte eksik olacak bilgileri xloglardan tamamlayacaktır. postgres=# SELECT pg_start_backup('test'); pg_start_backup ----------------- 0/2000020 (1 row) 17

Base backup alma Ardından dosyaları uzaktaki sunucuya atalım. İşlem basit olarak şudur: rsync -ave ssh /var/lib/pgsql/9.1/data/* \ replika.sunucusu:/var/lib/pgsql/9.1/data/ xlogları da arşivlediğimiz için, oluşacak veri değişiklikleri bizi etkilemeyecektir. Yedek sürecini şimdi bitirebiliriz: postgres=# SELECT pg_stop_backup(); NOTICE: pg_stop_backup complete, all required WAL segments have been archived pg_stop_backup ---------------- 0/20000D8 (1 row) 18

Ajanda recovery.conf dosyası 19

recovery.conf recovery.conf dosyasının oluşturulması Postgresql.conf ile aynı dizinde olmalıdır. standby_mode = on primary_conninfo = 'host=192.168.100.1 port=5432 user=replicauser password=mypass' restore_command = '/bin/cp /var/lib/pgsql/xlogarchive/%f %p' archive_cleanup_command = '/usr/pgsql- 9.1/bin/pg_archivecleanup /var/lib/pgsql/xlogarchive %r' trigger_file = '/var/lib/pgsql/9.1/data/finish.replication' 20

Sırada ne var? Standby sunucuyu artık başlatabilirsiniz. Hadi uygulayalım! 21

Ajanda Sorular 22

PostgreSQL'de Uygulamalı Gömülü Presentation Replikasyon Title (Streaming Replication Presentation Sub-Title ve Hot Standby) Devrim GÜNDÜZ Principal Systems Engineer EnterpriseDB devrim.gunduz@enterprisedb.com Copyright 2010 EnterpriseDB Corporation. All rights Reserved. Slide: 23