Akış Kopyalama ve WAL
WAL tabanlı fiziksel akış kopyalamasını yapılandırın, gecikmeyi izleyin ve veri kaybı olmadan yazma işlemleri için eşzamanlı kopyalar kurun.
Akış Kopyalama ve WAL, CoddyKit'te ücretsiz bir SQL Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, SQL Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. SQL Academy kursu toplamda 4 dersten oluşur.
Neden Replikasyon?
Replikasyon aynı anda çeşitli amaçlara hizmet eder:
- HA — birincil sunucu arızasından kurtulma
- Okuma ölçekleme — SELECT sorgularını replikalara aktarma
- Yedekleme / PITR — sürekli arşivleme
- Coğrafi dağıtım — kullanıcılara yakın replikalar
WAL: Yazma Öncesi Günlüğü
Her yazma işlemi önce WAL'a gider. WAL, kalıcılığı garanti eder ve replikasyonun temelini oluşturur: WAL bir replikaya aktarılır → replika WAL'ı yeniden oynatır → replika güncel duruma gelir.
Fiziksel Akış Replikasyonu
Birincil sunucudan replikaya bayt bazında WAL akışı:
- Replika, birincil sunucunun ikili kopyasıdır
- Aynı PostgreSQL sürümü
- Üzerinde bulunan tüm veritabanları ve tablolarla birlikte tüm küme replikasyona dahil edilir
- Salt okunurdur
Kurulum: Birincil Sunucu
Birincil sunucuyu postgresql.conf içinde yapılandırın:
wal_level = replica
max_wal_senders = 10
wal_keep_size = 1GB
-- pg_hba.conf: allow replication connections
host replication replicator 10.0.0.0/24 md5Kurulum: Replika
Temel yedeği oluşturun ve primary_conninfo ile başlatın:
pg_basebackup -h primary -D /var/lib/postgresql/data -U replicator -W -X stream -P
-- postgresql.conf on replica:
primary_conninfo = 'host=primary port=5432 user=replicator password=...'
-- Touch standby.signal file and start:
touch /var/lib/postgresql/data/standby.signalSenkron ve Asenkron
- Asenkron (varsayılan) — birincil sunucu beklemeden işlemi onaylar; replika geride kalabilir
- Senkron — birincil sunucu COMMIT işleminden önce replikadan onay bekler; veri kaybı olmaz ancak işlem daha yavaştır
-- Synchronous configuration on primary:
synchronous_commit = on
synchronous_standby_names = 'replica1, replica2'Replikasyon Gecikmesi
Asenkron replikalar birincil sunucunun gerisinde kalır. Şunları izleyin:
SELECT client_addr, state, sent_lsn, write_lsn, replay_lsn,
pg_wal_lsn_diff(sent_lsn, replay_lsn) AS replay_lag_bytes
FROM pg_stat_replication;Replikasyon Yuvaları
Yuvalar, replika WAL'ı tüketene kadar birincil sunucunun WAL'ı korumasını sağlar:
SELECT pg_create_physical_replication_slot('replica1');
-- On replica:
primary_slot_name = 'replica1'Yuva Sorunu
Bir replika bağlantısını keser ve bir daha bağlanmazsa yuvası WAL temizliğini engeller; disk dolar. Kullanılmayan yuvaları silin:
SELECT pg_drop_replication_slot('replica1');Zincirleme Replikalar
Bir replika kendisi de WAL'ı diğer replikalara aktarabilir; bu, birincil sunucudaki yükü azaltır.
Sıcak Bekleme
Varsayılan olarak replikalar salt okunur sorguları kabul eder (hot_standby = on). Replikada uzun süren okuma sorguları WAL'ın yeniden oynatılmasını geciktirebilir; max_standby_streaming_delay ayarını düzenleyin.
Yükseltme
Bir replikayı yeni birincil sunucu yapmak için:
pg_ctl promote -D /var/lib/postgresql/data
-- Or in SQL:
SELECT pg_promote();Özet
Akış replikasyonu = WAL'ı aktarma + yeniden oynatma.
- Fiziksel ve ikili olarak aynıdır
- Varsayılan olarak asenkron; veri kaybını önlemek için senkron
- Yuvalar WAL'ı korur ancak dikkatli yönetilmelidir
- Yükseltme, replikayı birincil sunucuya dönüştürür
Hızlı Kontrol
Akış replikası için replikasyon yuvası KULLANMAMANIN temel riski nedir?
Sıkça Sorulan Sorular
“Akış Kopyalama ve WAL” dersi ücretsiz mi?
Evet — “Akış Kopyalama ve WAL” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve SQL Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. SQL Academy kursu toplamda 4 dersten oluşur.
“Akış Kopyalama ve WAL” dersinde ne öğreneceğim?
WAL tabanlı fiziksel akış kopyalamasını yapılandırın, gecikmeyi izleyin ve veri kaybı olmadan yazma işlemleri için eşzamanlı kopyalar kurun. SQL Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
SQL Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te SQL Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“Akış Kopyalama ve WAL” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu SQL Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her SQL Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Akış Kopyalama ve WAL
- Parçalama için Mantıksal Kopyalama
- Yük Devretme ve Lider Seçimi (Patroni, Stolon)
- Okuma Kopyaları ve Bağlantı Yönlendirme