全部产品
Search
文档中心

ApsaraDB RDS:Gunakan fitur Akselerasi I/O dari ESSD umum untuk instance ApsaraDB RDS untuk PostgreSQL

更新时间:Jul 06, 2025

Jika disk I/O menjadi hambatan kinerja pada instance ApsaraDB RDS untuk PostgreSQL Anda, Anda dapat menggunakan fitur Akselerasi I/O untuk mengatasi hambatan tersebut. Topik ini menjelaskan manfaat, skenario, dan implementasi fitur Akselerasi I/O. Fitur ini secara signifikan meningkatkan Kinerja I/O sebuah instance RDS ketika instance tersebut perlu memproses sejumlah besar permintaan baca dan tulis.

Informasi latar belakang

Selama pemrosesan data, ApsaraDB RDS untuk PostgreSQL membaca data dari disk ke memori, memprosesnya di memori, lalu menulis data kembali ke disk. Dibandingkan dengan operasi dalam memori, operasi disk I/O lebih lambat dan membutuhkan waktu lebih lama untuk diselesaikan. Jika sistem database Anda perlu memproses sejumlah besar permintaan baca dan tulis, disk I/O mungkin menjadi hambatan kinerja.

Untuk mengatasi hal ini, ApsaraDB RDS untuk PostgreSQL meluncurkan Enterprise SSD (ESSD) umum. ESSD umum kompatibel dengan semua fitur ESSD, menggunakan arsitektur penyimpanan tiga tingkat untuk mengelola berbagai jenis data secara hierarkis, serta mendukung fitur Lonjakan I/O dan Akselerasi I/O guna meningkatkan Kinerja I/O instance RDS. Untuk informasi lebih lanjut, lihat ESSD Umum.

Deskripsi fitur

Fitur Akselerasi I/O bekerja seperti lapisan cache dari arsitektur penyimpanan tiga tingkat ESSD umum. Fitur ini meningkatkan kinerja baca dan tulis sistem database Anda dengan menggunakan media cache berkecepatan tinggi, sehingga mempercepat kueri SQL. Fitur Akselerasi I/O dari ApsaraDB RDS untuk PostgreSQL menyimpan tabel sementara dan file sementara yang dihasilkan selama kueri di media cache berkecepatan tinggi. Dengan cara ini, mesin database dapat melakukan operasi I/O baca dan tulis pada data sementara dengan cepat, mempercepat kueri hingga 100% dalam skenario kueri kompleks.

Manfaat

Fitur Akselerasi I/O disediakan secara gratis. Fitur ini membantu meningkatkan kinerja queries-per-second (QPS) sistem database Anda dalam skenario yang sesuai tanpa biaya tambahan atau perubahan bisnis. Untuk informasi lebih lanjut, lihat Skenario.

Skenario

Fitur Akselerasi I/O cocok untuk skenario berikut:

  • Operasi kompleks yang menghasilkan data sementara, seperti Pengurutan, pengelompokan, agregasi, dan penggabungan.

  • Kueri rekursif menggunakan ekspresi tabel umum (CTE).

  • Kueri kompleks saat indeks yang diperlukan tidak tersedia.

  • Kueri analitik pada tabel besar atau beberapa tabel.

  • Beban kerja lain yang menggunakan tabel sementara.

Prasyarat

Fitur Akselerasi I/O didukung untuk instance RDS yang memenuhi persyaratan berikut:

  • Instance RDS menggunakan metode penagihan bayar sesuai pemakaian atau langganan.

  • Instance RDS menjalankan PostgreSQL 11 atau versi lebih baru.

  • Instance RDS menjalankan versi mesin minor 20231030 atau lebih baru.

  • Instance RDS menjalankan Edisi Ketersediaan Tinggi RDS.

  • Instance RDS menggunakan tipe produk standar.

  • Instance RDS menggunakan ESSD umum.

  • Instance RDS termasuk dalam keluarga instans tujuan umum.

  • Instance RDS berada di salah satu wilayah dan zona berikut.

    Wilayah

    Zona

    Tiongkok (Chengdu)

    Zona B

    Tiongkok (Beijing)

    Zona I

    Tiongkok (Shanghai)

    Zona M

    Zona N

    Tiongkok (Hangzhou)

    Zona J

    Catatan

    Setelah Anda mengaktifkan fitur Akselerasi I/O di halaman pembelian ApsaraDB RDS, Anda dapat memeriksa apakah fitur tersebut tersedia di bagian Zona dan Jaringan Node Utama.

Cara kerja fitur Akselerasi I/O

  • Disk cache adalah media caching berkecepatan tinggi yang bertindak sebagai perantara kinerja baca dan tulis antara memori dan ESSD umum. Disk cache cocok untuk menyimpan data sementara dalam sistem database karena memberikan kinerja baca dan tulis yang lebih tinggi dibandingkan ESSD umum.

  • Setelah server tempat instance RDS Anda berada menerima Pernyataan SQL yang dikirimkan oleh pengguna, pelaksana kueri melakukan kueri. Dalam proses ini, pelaksana kueri menentukan lokasi penyimpanan data berdasarkan tablespace dari data yang akan diakses.

    • Sebelum Anda mengaktifkan fitur Akselerasi I/O, semua data hanya dapat disimpan di cloud disk.

    • Setelah Anda mengaktifkan fitur Akselerasi I/O, skenario berikut terjadi:

      • Jika data yang akan diakses adalah data non-sementara, seperti tabel normal dan Tampilan, pelaksana kueri membaca data dari cloud disk ke memori untuk pemrosesan data.

      • Jika data yang akan diakses adalah data sementara, seperti tabel sementara dan file, pelaksana kueri membaca dan menulis data dari disk cache.

Objek sementara, seperti tabel sementara yang dibuat pada instance RDS dan file sementara yang dihasilkan selama eksekusi pernyataan, disimpan di disk cache. Ini mempercepat operasi baca dan tulis pada data sementara dalam periode waktu tertentu. Tablespace objek sementara tidak ditentukan secara eksplisit.

Catatan

ApsaraDB RDS untuk PostgreSQL menggunakan tablespace untuk mengonfigurasi lokasi penyimpanan objek database guna memisahkan data panas dan dingin. Oleh karena itu, tablespace rds_temp_tablespace digunakan untuk menggantikan disk cache. Anda dapat melihat tablespace setelah mengaktifkan fitur Akselerasi I/O untuk instance RDS Anda. Untuk menggunakan tablespace, Anda harus mengatur parameter temp_tablespaces ke nilai yang valid. Untuk informasi lebih lanjut, lihat Aktifkan fitur Akselerasi I/O.

Catatan penggunaan

  • Disk cache hanya dapat digunakan untuk menyimpan data cache sementara. ApsaraDB RDS untuk PostgreSQL tidak menjamin durabilitas data yang disimpan di tablespace rds_temp_tablespace. Jika Anda melakukan operasi migrasi data seperti perubahan spesifikasi pada instance RDS Anda, data yang disimpan di tablespace rds_temp_tablespace akan hilang. Oleh karena itu, jangan menyimpan objek database non-sementara di tablespace rds_temp_tablespace.

  • Setelah Anda mengaktifkan fitur Akselerasi I/O untuk instance RDS, ruang cache berkecepatan tinggi dalam jumlah tertentu disediakan berdasarkan tipe instance dari instance RDS. Jika ruang cache penuh, pesan kesalahan No space left on device dilaporkan. Kesalahan ini tidak memengaruhi eksekusi Pernyataan SQL pada data non-sementara.

  • Setelah Anda mengaktifkan atau menonaktifkan fitur Akselerasi I/O untuk instance RDS Anda, gangguan layanan yang berlangsung sekitar 30 detik terjadi. Kami menyarankan Anda untuk mengaktifkan atau menonaktifkan fitur tersebut selama jam-jam sepi.

Aktifkan fitur Akselerasi I/O

  1. Aktifkan Akselerasi I/O.

    Anda dapat mengaktifkan fitur Akselerasi I/O untuk instance RDS saat membuat instance RDS. Anda juga dapat mengaktifkan fitur Akselerasi I/O untuk instance RDS yang sudah ada yang memenuhi semua persyaratan yang dijelaskan di Prasyarat.

    • Aktifkan fitur Akselerasi I/O saat membuat instance RDS.

      Saat membuat instance RDS, Anda dapat mengonfigurasi parameter berdasarkan persyaratan yang dijelaskan di Prasyarat dan mengaktifkan fitur Akselerasi I/O untuk instance RDS. image

    • Aktifkan fitur Akselerasi I/O untuk instance RDS yang sudah ada yang memenuhi persyaratan yang dijelaskan di Prasyarat.

      1. Buka halaman Instances. Di bilah navigasi atas, pilih wilayah tempat instance RDS berada. Kemudian, temukan instance RDS dan klik ID instance tersebut.

      2. Di bagian Basic Information, klik Configure General ESSD di sebelah kanan Storage Type. Di kotak dialog yang muncul, aktifkan I/O Acceleration. image

  2. Ubah pengaturan parameter.

    Setelah Anda mengaktifkan fitur Akselerasi I/O untuk instance RDS, tablespace bernama rds_temp_tablespace secara otomatis dibuat. Tablespace ini menggunakan disk cache yang mendukung fitur Akselerasi I/O. Jika Anda ingin menggunakan tablespace ini sebagai tablespace sementara default, Anda harus mengatur parameter temp_tablespaces ke rds_temp_tablespace. Untuk informasi lebih lanjut, lihat Ubah parameter instance ApsaraDB RDS untuk PostgreSQL.

    Catatan
    • Anda dapat menjalankan pernyataan SET berikut untuk mengonfigurasi parameter pada tingkat sesi:

      SET temp_tablespace TO 'rds_temp_tablespace';
    • Jika Anda ingin tablespace menggunakan cloud disk, Anda dapat mengatur parameter temp_tablespaces ke ''.

  3. Gunakan fitur percepatan cache.

    Setelah Anda mengaktifkan fitur Akselerasi I/O dan mengubah parameter yang diperlukan, tablespace rds_temp_tablespace secara otomatis digunakan saat Anda membuat tabel sementara.

    1. Hubungkan ke instance RDS. Untuk informasi lebih lanjut, lihat Hubungkan ke instance ApsaraDB RDS untuk PostgreSQL.

    2. Jalankan pernyataan berikut untuk membuat tabel uji:

      -- Buat tabel non-sementara bernama test_table.
      CREATE TABLE test_table (di INT);
      
      -- Buat tabel sementara bernama test_temp_table.
      CREATE TEMPORARY TABLE test_temp_table (id INT);
    3. Kueri tablespace dari tabel uji.

      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');

      Contoh output:

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

Referensi

  • Untuk informasi lebih lanjut tentang tipe penyimpanan lain yang didukung oleh ApsaraDB RDS untuk PostgreSQL, lihat Tipe Penyimpanan.

  • Untuk informasi lebih lanjut tentang tipe penyimpanan ESSD umum, lihat ESSD Umum.

  • Jika beban kerja Anda berfluktuasi secara signifikan dan jam puncak sering berubah, Anda dapat mengaktifkan fitur Lonjakan I/O untuk ESSD umum dari instance RDS. Dengan cara ini, IOPS dari ESSD umum tidak dibatasi oleh IOPS maksimum dari instance RDS. Ini membantu memenuhi kebutuhan bisnis untuk IOPS burstable selama jam puncak. Untuk informasi lebih lanjut, lihat Gunakan fitur Lonjakan I/O.

FAQ

Apa yang harus saya lakukan jika pesan kesalahan ERROR: could not write to file "pg_tblspc/xxxx": No space left on device ditampilkan saat saya menjalankan pernyataan SQL?

Kesalahan ini terjadi karena tablespace rds_temp_tablespace yang menggunakan disk cache penuh. Anda dapat menghentikan tugas sesi saat ini, menyambung kembali ke instance RDS Anda, dan kemudian menjalankan kembali pernyataan SQL yang gagal. Setelah Anda menghentikan sesi saat ini, sistem akan membersihkan file sementara di tablespce pada instance RDS Anda.

Catatan

Jika kesalahan tetap ada, Anda dapat mengubah nilai parameter temp_tablespaces ke ''. Dengan cara ini, tablespace dapat menggunakan cloud disk seperti yang diharapkan.