PostgreSQL Performance & Query Optimization · Ders

Hot Standby ve Yük Dengelemeyle Okuma Ölçekleme

Okuma trafiğini akışla çoğaltılan bekleme kopyalarına aktarmayı, çoğaltma gecikmesini anlamayı ve yatay okuma ölçekleme için sorguları birincil sunucu ile kopyalar arasında yönlendirmeyi öğrenin.

4. ders / 413 adım

Hot Standby ve Yük Dengelemeyle Okuma Ölçekleme, CoddyKit'te ücretsiz bir PostgreSQL Performance & Query Optimization dersidir. Bu, 4 dersinin 4. 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, PostgreSQL Performance & Query Optimization öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. PostgreSQL Performance & Query Optimization kursu toplamda 4 dersten oluşur.

Bu dersin bazı bölümleri henüz çevrilmemiş olup İngilizce olarak gösterilmektedir.

Why Scale Reads?

A single primary can become a bottleneck when read-heavy traffic grows. By sending SELECTs to read replicas, you free the primary to handle writes and scale reads horizontally by adding more standbys.

Hot Standby Basics

A hot standby is a streaming replica that accepts read-only queries while it continuously applies changes received from the primary. It stays nearly in sync via the write-ahead log (WAL).

Enabling Read Queries on a Standby

On the standby, hot_standby must be on (the default in modern versions) so it answers queries instead of just replaying WAL silently.

SHOW hot_standby;

Detecting Recovery Mode

Your application can ask any node whether it is a read-only standby. A true result means do not send writes here.

SELECT pg_is_in_recovery();

Understanding Replication Lag

Standbys apply WAL slightly behind the primary, so a read may not see the very latest write. This gap is replication lag. For most read traffic it is harmless, but read-after-write flows need care.

Measuring Lag

On a standby, compare how far replay is behind the last received WAL position to estimate lag in time.

SELECT now() - pg_last_xact_replay_timestamp() AS replay_lag;

Routing in the Application

The simplest pattern keeps two connection pools: one to the primary for writes, one to replicas for reads. The app chooses based on the operation.

Read-After-Write Consistency

Right after a user writes data, reading from a lagging replica may show stale results. Mitigations:

  • Route that user's next reads to the primary briefly
  • Wait until the replica catches up to the write's WAL position

Load Balancing Across Replicas

A pooler or proxy such as PgBouncer, Pgpool-II, or HAProxy can distribute read connections across several standbys, spreading load and providing failover if one replica goes down.

Trade-offs and Limits

Read replicas are powerful but not magic:

  • They do not scale write throughput
  • Lag means eventual, not immediate, consistency on replicas
  • Long queries on a standby can conflict with WAL replay

Plan routing around these realities.

Watching Replication from the Primary

The primary exposes every connected standby in a stats view, including how far behind each one is. Watch this to catch a replica falling dangerously behind.

SELECT client_addr, state,
       replay_lag
FROM pg_stat_replication;

Quick Check

Test your read-scaling knowledge.

Recap

You learned read scaling:

  • Hot standbys serve read-only queries while replaying WAL
  • pg_is_in_recovery() identifies a standby
  • Replication lag means replicas can be slightly stale
  • Route writes to primary, reads to replicas; handle read-after-write
  • Use a proxy to load-balance and fail over across replicas
Başlamak ücretsiz

Yapay zeka eğitmeniyle SQL öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
22
Dersler
88

Sıkça Sorulan Sorular

“Hot Standby ve Yük Dengelemeyle Okuma Ölçekleme” dersi ücretsiz mi?

Evet — “Hot Standby ve Yük Dengelemeyle Okuma Ölçekleme” 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 PostgreSQL Performance & Query Optimization kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. PostgreSQL Performance & Query Optimization kursu toplamda 4 dersten oluşur.

“Hot Standby ve Yük Dengelemeyle Okuma Ölçekleme” dersinde ne öğreneceğim?

Okuma trafiğini akışla çoğaltılan bekleme kopyalarına aktarmayı, çoğaltma gecikmesini anlamayı ve yatay okuma ölçekleme için sorguları birincil sunucu ile kopyalar arasında yönlendirmeyi öğrenin. PostgreSQL Performance & Query Optimization 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.

PostgreSQL Performance & Query Optimization öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te PostgreSQL Performance & Query Optimization, 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 4. dersidir.

“Hot Standby ve Yük Dengelemeyle Okuma Ölçekleme” 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 PostgreSQL Performance & Query Optimization dersinde kod yazıp çalıştırabilir miyim?

Evet. Her PostgreSQL Performance & Query Optimization 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. PgBouncer ile Bağlantı Havuzlama
  2. Çoğaltma Stratejileri (Akış Tabanlı, Mantıksal)
  3. Parçalama ve Dağıtık PostgreSQL
  4. Hot Standby ve Yük Dengelemeyle Okuma Ölçekleme
← PostgreSQL Performance & Query Optimization Sayfasına Dön