Tüm Ürünler
Search
Belge Merkezi

ApsaraDB RDS:What is read/write splitting?

Son Güncelleme:Oct 03, 2026

Okuma/yazma ayrımı, tek bir veritabanı proxy'si uç noktası üzerinden yazma isteklerini birincil örneğe ve okuma isteklerini salt okunur örneklere yönlendirir. İş yükünüzde yazmalara kıyasla okumalar önemli ölçüde daha fazlaysa ve birincil örnek okuma yükünü tek başına karşılayamıyorsa bu özelliği kullanın.

Uygulamanızı, birincil ve her bir salt okunur örnek için ayrı uç noktaları yönetmek yerine tek bir veritabanı proxy uç noktasına bağlayın. Proxy tüm yönlendirmeyi otomatik olarak yönetir.

image

Okuma/yazma ayrımını ne zaman kullanmalısınız?

Aşağıdaki durumlardan herhangi biriyle karşılaşıyorsanız okuma/yazma ayrımı iyi bir seçimdir:

  • Yoğun okuma iş yükleri: Uygulamanız INSERT, UPDATE veya DELETE işlemlerine kıyasla çok daha fazla SELECT sorgusu çalıştırır.

  • Birincil örnek darboğazı: Yazma hacmi yönetilebilir olsa bile birincil örnek CPU veya G/Ç kaynakları okuma trafiği nedeniyle tükenmiştir.

  • Bağlantı değişikliği olmadan okuma ölçeklendirme: Uygulamanızın bağlantı mantığını değiştirmeden okuma kapasitesini artırmak istersiniz.

Avantajlar

  • Tek uç nokta, yönlendirme kodu gerekmez: Veritabanı proxy uç noktasına yalnızca bir kez bağlanın. Proxy, yazmaları birincil örneğe iletir ve okumaları salt okunur örnekler arasında otomatik olarak dağıtır; örnek başına ayrı bağlantı dizeleri tutmanıza gerek kalmaz.

  • Kendi oluşturduğunuz proxy'ye göre daha düşük gecikme süresi: Okuma/yazma ayrımı, ApsaraDB RDS ekosistemine gömülüdür. Veriler ek ara katmanlardan geçmez, bu da cloud ortamında kendi proxy'nizi oluşturmanıza kıyasla yanıt gecikme süresini azaltır.

  • Yapılandırılabilir okuma ağırlıkları ve gecikme eşiği: Okuma isteklerinin nasıl dağıtılacağını kontrol etmek için her örnek için bir okuma ağırlığı belirtin. Geciken salt okunur örneklerin okuma havuzundan otomatik olarak çıkarılması için bir çoğaltma gecikme eşiği ayarlayın.

  • Otomatik sağlık kontrolü ve yük devretme: Proxy her örneği sürekli izler. Bir salt okunur örnek başarısız olursa veya çoğaltma gecikmesi eşiği aşarsa proxy bu örneğe okuma yönlendirmeyi durdurur ve bu istekleri sağlıklı örneklere yeniden dağıtır. Örnek kurtarıldıktan sonra yönlendirme otomatik olarak devam eder.

Tek hata noktasından (SPOF) kaçınmak için en az iki salt okunur örnek oluşturun.

Ön koşullar

Okuma/yazma ayrımını etkinleştirmeden önce aşağıdakilere sahip olduğunuzdan emin olun:

  • RDS High-availability Edition veya RDS Cluster Edition çalışan bir ApsaraDB RDS for MySQL örneği

  • RDS High-availability Edition için: en az bir salt okunur örnek oluşturulmuş olmalıdır (iki veya daha fazla önerilir)

  • RDS Cluster Edition için: salt okunur örnek gerekmez; ikincil düğüme erişilebilir ve yalnızca okuma isteklerini işler

Okuma/yazma ayrımı RDS Basic Edition üzerinde desteklenmez.

Nasıl çalışır?

Veritabanı proxy özelliğini etkinleştirdikten sonra okuma/yazma ayrımı otomatik olarak aktif hale gelir; ek yapılandırma gerekmez. instance details sayfasının sol gezinme bölmesinde Database Proxy seçeneğine gidin ve veritabanı proxy uç noktasını (eskiden proxy terminal olarak adlandırılırdı) edinin, ardından uygulama bağlantı dizenizi bunu kullanacak şekilde güncelleyin.

İstek yönlendirme

Adanmış proxy, her isteği türüne göre yönlendirir:

Birincil RDS örneği

  • Yazma deyimleri: INSERT, UPDATE, DELETE, SELECT FOR UPDATE

  • Tüm DDL işlemleri (veritabanı/tablo oluşturma veya silme, şema ve izin değişiklikleri)

  • İşlem içindeki tüm istekler (işlem bölme özelliği etkinleştirilmedikçe)

  • Repeatable Read (RR) yalıtım düzeyinde ve üzerindeki salt okunur olmayan işlemler

  • Kullanıcı tanımlı işlevler ve saklı yordamlar

  • Çoklu deyim sorguları

  • Açıkça oluşturulan geçici tablolar

  • SELECT last_insert_id()

  • Kullanıcı değişkeni sorguları ve güncellemeleri

  • SQL'deki KILL deyimleri (KILL komutlarından farklıdır), LOCK TABLE, UNLOCK TABLE

  • FLUSH deyimleri dahil FLUSH TABLES WITH READ LOCK (FTWRL)

  • SAVEPOINT

Birincil RDS örneği veya salt okunur RDS örneği

  • İşlem dışındaki SELECT deyimleri

  • START TRANSACTION READ ONLY

Tüm RDS örnekleri

  • Sistem değişkeni güncellemeleri

  • USE deyimleri

  • SHOW PROCESSLIST — adanmış proxy, tüm örneklerden gelen işlemleri toplar ve döndürür

  • NAMED PREPARE

  • COM_CHANGE_USER, COM_QUIT, COM_SET_OPTION

Okuma/yazma özniteliği davranışı

Veritabanı proxy uç noktası iki okuma/yazma özniteliği modunu destekler. Aşağıdaki tabloda her modun normal koşullarda ve salt okunur örnekler kullanılamadığında nasıl davrandığı gösterilmektedir.

Okuma/yazma öznitelikleri Okuma ağırlığı yöntemi Birincil örnek ağırlığı Normal Son salt okunur örnek silindikten sonra Tüm salt okunur örnekler arızalı olduktan sonra
Read-only Otomatik veya Özel Belirtilemez Birincil: istek yok. Proxy: yalnızca okuma istekleri. Birincil: istek yok. Proxy: bağlantı hatası. Birincil: istek yok. Proxy: bağlantı hatası.
Read and write Otomatik 0 (bkz. Sistem tarafından okuma ağırlığı tahsis kuralları) Birincil: yalnızca yazma istekleri. Proxy: okuma ve yazma istekleri. Birincil: okuma ve yazma istekleri. Proxy: okuma ve yazma istekleri. Birincil: okuma ve yazma istekleri. Proxy: okuma ve yazma istekleri.
Özel 0'dan büyük Birincil: okuma ve yazma istekleri. Proxy: okuma ve yazma istekleri. Birincil: okuma ve yazma istekleri. Proxy: okuma ve yazma istekleri. Birincil: okuma ve yazma istekleri. Proxy: okuma ve yazma istekleri.
0 Birincil: yalnızca yazma istekleri. Proxy: okuma ve yazma istekleri. Birincil: okuma ve yazma istekleri. Proxy: okuma ve yazma istekleri. Birincil: okuma ve yazma istekleri. Proxy: okuma ve yazma istekleri.
Birincil üzerinde istek yok : Birincil örnek, salt okunur istek iletimine dahil değildir.
Bağlantı hatası : Proxy uç noktasının yönlendirme yapabileceği kullanılabilir örnek olmadığında bir bağlantı hatası döndürülür.
Birincil ağırlığın 0 olarak ayarlandığı Read and write modunda, okuma istekleri varsayılan olarak salt okunur örneklere gider. İstisnalar: tüm salt okunur örnekler arızalıysa, zorlayıcı bir ipucu belirtilmişse veya işlem bölme etkinleştirilmişse.
Yapılandırma ayrıntıları için bkz. Okuma/yazma özniteliklerini ve okuma ağırlıklarını yapılandırma .

Sonraki adımlar

Okuma/yazma ayrımını etkinleştirdikten sonra şunları yapabilirsiniz:

İlgili bilgiler