Parçalama için Mantıksal Kopyalama
Tabloları kümeler arasında taşımak ve ana sürüm yükseltmelerini desteklemek için PUBLICATION/SUBSCRIPTION mantıksal kopyalamasını kullanın.
Parçalama için Mantıksal Kopyalama, CoddyKit'te ücretsiz bir SQL Academy dersidir. Bu, 4 dersinin 2. 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.
Mantıksal ve Fiziksel Replikasyon
Fiziksel replikasyon WAL BYTES değerlerini, yani tüm kümeyi ve aynı sürümü replikasyona dahil eder. Mantıksal replikasyon ROWS değerlerini, yani seçilen tabloları replikasyona dahil eder ve farklı PG sürümleri arasında çalışabilir:
- Belirli tablolara abone olun
- PG 14 → PG 16 arasında replikasyon yapın (yükseltmeler!)
- Dikkatli biçimde iki yönlü veya çoklu ana sunuculu yapı kullanın
- Farklı şemalara izin verilir
Kurulum: Yayıncı
Birincil sunucuyu yayıncı olarak işaretleyin:
-- postgresql.conf
wal_level = logical
-- Create a publication:
CREATE PUBLICATION pub_orders FOR TABLE orders, order_items;
-- Or all tables in the database:
CREATE PUBLICATION pub_all FOR ALL TABLES;Kurulum: Abone
Hedef veritabanında:
CREATE SUBSCRIPTION sub_orders
CONNECTION 'host=primary port=5432 user=repl dbname=mydb'
PUBLICATION pub_orders;İlk Eşitleme
Abonelik, eşleşen tüm tabloların ilk kopyasını oluşturur ve ardından değişiklikleri aktarır. Hedef şema kaynakla eşleşmelidir.
Kullanım Alanı: Büyük Sürüm Yükseltmesi
Minimum kesinti süresiyle PostgreSQL yükseltmenin modern yolu mantıksal replikasyondur:
- PG16 kümesini oluşturun
- PG14'ten PG16'ya mantıksal replikasyon yapın
- PG16 güncel duruma geldiğinde uygulamaları aktarın
- PG14'ü kapatın
Kullanım Alanı: Veritabanını Bölme
Büyük bir veritabanını daha küçük veritabanlarına ayırmak için:
- Yalnızca yeni bir hizmetin ihtiyaç duyduğu tabloları yayınlayın
- Yeni veritabanına abone olun
- Eşitleme tamamlandıktan sonra yazma işlemlerini taşıyın
Kullanım Alanı: Farklı Yapıdaki Replikalar
Farklı indekslere sahip bir okuma replikasına veya raporlama için ek sütunları bulunan bir veri ambarı PostgreSQL veritabanına replikasyon yapın.
Çakışmalar
Mantıksal replikasyon çakışmaları otomatik olarak çözmez. Aynı satır her iki tarafta da güncellenirse abone bir hatayla durur. Şunları yaparak bundan kaçının:
- Yalnızca tek bir tarafa yazın
- Daha iyi tanılama için REPLICA IDENTITY FULL kullanın
- Çakışmaları elle çözün ve aboneliği yeniden başlatın
Şema Değişiklikleri
DDL replikasyona dahil DEĞİLDİR. Şema değişikliklerini her iki tarafta da elle uygulayın; genellikle önce aboneye, ardından yayıncıya uygulayın. Alternatif olarak DDL'yi replikasyona dahil edebilen pglogical eklentisini kullanın.
Kısmi Replikasyon
Modern PG, her yayın için satır filtrelerine ve sütun listelerine izin verir:
CREATE PUBLICATION us_only FOR TABLE customers
WHERE (country = 'US');
CREATE PUBLICATION compact FOR TABLE users (id, email);Mantıksal Replikasyonla Parçalama
Kiracıları özel bir parçaya taşıyın:
- Kaynakta tek bir kiracıya göre filtrelenmiş yayın oluşturun
- Hedeften abone olun
- Uygulamayı yeni parçaya yönlendirin
- Kiracının kaynak verilerini silin
Performans ve Gecikme
Mantıksal replikasyon, çoğunlukla her abonelik için tek iş parçacığı kullanır. Yüksek hacimli kaynaklar birden fazla yayın ve abonelikten veya pglogical / Debezium gibi üçüncü taraf araçlardan yararlanabilir.
Özet
Mantıksal replikasyon satır düzeyinde akış sağlar.
- Sürümler arası ve kısmi tablo replikasyonu
- Minimum kesinti süresiyle büyük sürüm yükseltmeleri
- Çakışma çözümü YOUR sorununuzdur
- DDL replikasyona dahil değildir
Hızlı Kontrol
Minimum kesinti süresiyle PostgreSQL 14'ten 16'ya yükseltme yapmanız gerekiyor. Hangi replikasyon yardımcı olur?
Sıkça Sorulan Sorular
“Parçalama için Mantıksal Kopyalama” dersi ücretsiz mi?
Evet — “Parçalama için Mantıksal Kopyalama” 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.
“Parçalama için Mantıksal Kopyalama” dersinde ne öğreneceğim?
Tabloları kümeler arasında taşımak ve ana sürüm yükseltmelerini desteklemek için PUBLICATION/SUBSCRIPTION mantıksal kopyalamasını kullanın. 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 2. dersidir.
“Parçalama için Mantıksal Kopyalama” 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