Tüm Ürünler
Search
Belge Merkezi

ApsaraDB RDS:RDS PostgreSQL Buffer Pool Extension (BPE)

Son Güncelleme:Oct 03, 2026

ApsaraDB RDS for PostgreSQL örneğinizde disk G/Ç'si bir darboğaz haline geldiğinde, G/Ç hızlandırma özelliği geçici tabloları ve dosyaları yüksek hızlı önbellek disklere yönlendirerek karmaşık sorgu performansını %100'e kadar artırır. Bu özellik ücretsizdir ve uygulama değişikliği gerektirmez.

Nasıl çalışır?

image

Genel ESSD'ler (Enterprise SSD), bellek ile ESSD depolama arasında ara katman olarak yüksek hızlı önbellek diskleri kullanan üç katmanlı bir depolama mimarisine sahiptir. G/Ç hızlandırma özelliği, geçici verileri bu önbellek katmanına yönlendirir.

G/Ç hızlandırma olmadan, sorgu yürütme sırasında oluşturulan geçici tablolar ve dosyalar dahil tüm veriler bulut disklerde saklanır. G/Ç hızlandırma etkinleştirildiğinde, sorgu yürütücüsü verileri türlerine göre ayırır:

  • Geçici olmayan veriler (normal tablolar, görünümler): işleme için her zamanki gibi bulut disklerden belleğe okunur.

  • Geçici veriler (geçici tablolar ve dosyalar): doğrudan önbellek disklerde okunur ve yazılır.

ApsaraDB RDS for PostgreSQL, önbellek disk katmanını temsil etmek için rds_temp_tablespace tablespace alanını kullanır. Açık bir tablespace ataması olmadan oluşturulan geçici nesneler, temp_tablespaces parametresini ayarladığınızda otomatik olarak rds_temp_tablespace içine yerleştirilir.

Not

Önbellek disk içeriği kalıcı değildir. rds_temp_tablespace içinde saklanan veriler, örnek teknik özellikleri değişiklikleri veya diğer veri geçiş işlemleri sırasında kaybolur. Geçici olmayan veritabanı nesnelerini bu tablespace alanında saklamayın.

Kullanım senaryoları

G/Ç hızlandırma, sorguların mevcut belleği aşan büyük hacimli geçici veriler oluşturduğu durumlarda en etkilidir:

  • Sıralama, gruplama, toplama ve birleştirme işlemleri: ara sonuçların diske taşındığı işlemler.

  • Ortak tablo ifadeleri (CTE) kullanan özyinelemeli sorgular: büyük ara sonuç kümelerini somutlaştıran CTE'ler.

  • Destekleyici dizinleri olmayan ad hoc sorgular: tam tarama gerektiren karmaşık filtreler veya toplamalar.

  • Büyük tablolar veya birden fazla tablo üzerindeki analitik sorgular: yüksek G/Ç talepleri olan raporlama ve analitik iş yükleri.

  • Geçici tablolar kullanan iş yükleri: açıkça geçici tablolar oluşturan herhangi bir uygulama mantığı.

Ön koşullar

G/Ç hızlandırmayı etkinleştirmeden önce örneğinizin aşağıdaki tüm gereksinimleri karşıladığından emin olun:


Gereksinim


Değer


Faturalama yöntemi


Abonelik veya kullandıkça öde


PostgreSQL sürümü


11 veya üzeri


Küçük motor sürümü


20231030 veya üzeri


Edition


RDS High-availability Edition


Ürün tipi


Standart ürün tipi


Depolama tipi


Genel ESSD'ler


Örnek ailesi


Genel amaçlı örnek ailesi

Örnek ayrıca aşağıdaki bölgelerden ve alanlardan birinde bulunmalıdır:

Bölge

Alan

China (Chengdu)

Zone B

China (Beijing)

Zone I

China (Shanghai)

Zone M

Zone N

China (Hangzhou)

Zone J

Not

Satın alma sayfasında I/O Acceleration seçeneğini etkinleştirdikten sonra, kullanılabilirliği Zone and Network of Primary Node bölümünde onaylayın.

G/Ç hızlandırmayı etkinleştirme

Önemli

G/Ç hızlandırmayı etkinleştirmek veya devre dışı bırakmak yaklaşık 30 saniyelik bir hizmet kesintisine neden olur. Bu işlemi yoğun olmayan saatlerde gerçekleştirin.

Seçenek 1: Örnek oluştururken etkinleştirme (önerilen)

Bir RDS örneği oluştururken, yukarıda listelenen ön koşulları karşılamak üzere parametreleri yapılandırın ve ardından I/O Acceleration seçeneğini açın.

image

Seçenek 2: Mevcut bir örnekte etkinleştirme

  1. Instances sayfasına gidin. Üst gezinme çubuğunda örneğin bulunduğu bölgeyi seçin, ardından örnek ID'sine tıklayın.

  2. Basic Information bölümünde, Storage Type öğesinin sağındaki Configure General ESSD seçeneğine tıklayın.

  3. İletişim kutusunda I/O Acceleration seçeneğini açın.

    image

temp_tablespaces parametresini ayarlama

G/Ç hızlandırmayı etkinleştirdikten sonra rds_temp_tablespace tablespace alanı otomatik olarak oluşturulur. Geçici nesnelerin varsayılan olarak önbellek diskleri kullanması için temp_tablespaces parametresini rds_temp_tablespace olarak ayarlayın.

Parametreleri değiştirme talimatları için bkz. ApsaraDB RDS for PostgreSQL örneğinin parametrelerini değiştirme.

Ayarı yalnızca geçerli oturum için uygulamak üzere aşağıdaki komutu çalıştırın:

SET temp_tablespace TO 'rds_temp_tablespace';

Bulut disklere geri dönmek için temp_tablespaces değerini '' olarak ayarlayın.

Yapılandırmayı doğrulama

Örneğe bağlanın (bkz. ApsaraDB RDS for PostgreSQL örneğine bağlanma), ardından aşağıdaki deyimleri çalıştırın:

-- Create a regular table
CREATE TABLE test_table (di INT);

-- Create a temporary table
CREATE TEMPORARY TABLE test_temp_table (id INT);

-- Query which tablespace each table uses
SELECT
    c.relname AS table_name,
    COALESCE(t.spcname, 'pg_default') AS tablespace_name
FROM
    pg_class c
JOIN
    pg_namespace n ON c.relnamespace = n.oid
LEFT JOIN
    pg_tablespace t ON c.reltablespace = t.oid
WHERE
    c.relkind = 'r'
    AND c.relname IN ('test_table', 'test_temp_table');

Beklenen çıktı:

    table_name    |   tablespace_name
------------------+---------------------
 test_table       | pg_default
 test_temp_table  | rds_temp_tablespace
(2 rows)

test_temp_table öğesinin rds_temp_tablespace içinde görünmesi, G/Ç hızlandırmanın etkin olduğunu gösterir.

Kullanım notları

  • Önbellek disk alanı, örnek tipinize göre tahsis edilir. Önbellek dolduğunda, geçici veri yazan deyimler için ERROR: could not write to file "pg_tblspc/xxxx": No space left on device hatası bildirilir. Geçici olmayan veriler üzerinde çalışan SQL deyimleri etkilenmez.

  • rds_temp_tablespace içindeki veriler kalıcı değildir. Örnek teknik özellikleri değişiklikleri veya diğer veri geçiş işlemleri sırasında kaybolur.

Sorun giderme

ERROR: No space left on device

Bu hata, rds_temp_tablespace tablespace alanının dolu olduğu anlamına gelir. Aşağıdaki sırayla ele alın:

  1. Geçerli oturumu sonlandırın ve yeniden bağlanın. Örnek, bir oturum sonlandığında geçici dosyaları temizler. Yeniden bağlandıktan sonra deyimi tekrar çalıştırın.

  2. temp_tablespaces değerini '' olarak ayarlayarak bulut disklere geri dönün. Bu işlem önbellek disk sınırını kaldırır ancak G/Ç hızlandırmanın performans avantajını da ortadan kaldırır.

Sırada ne var?

  • ApsaraDB RDS for PostgreSQL tarafından desteklenen tüm depolama türleri için bkz. Depolama türleri.

  • Genel ESSD'lerin ve üç katmanlı mimarilerinin genel bir bakışı için bkz. Genel ESSD'ler.

  • İş yükleriniz öngörülemez zirve IOPS taleplerine sahipse, G/Ç hızlandırmaya ek olarak G/Ç patlamasını etkinleştirmeyi düşünün.