0Pricing
SQL Academy · Ders

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 md5

Kurulum: 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.signal

Senkron 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

  1. Akış Kopyalama ve WAL
  2. Parçalama için Mantıksal Kopyalama
  3. Yük Devretme ve Lider Seçimi (Patroni, Stolon)
  4. Okuma Kopyaları ve Bağlantı Yönlendirme
← SQL Academy Sayfasına Dön