Menggunakan replika baca instans DB - Layanan Basis Data Relasional Amazon

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menggunakan replika baca instans DB

Replika baca adalah salinan hanya baca dari instans DB. Anda dapat mengurangi beban pada instans DB primer dengan merutekan kueri baca dari aplikasi Anda ke replika baca. Dengan cara ini, Anda dapat secara elastis melakukan penskalaan ke luar melampaui batasan kapasitas instans DB tunggal untuk beban kerja basis data yang sarat pembacaan.

Untuk membuat replika baca dari instans DB sumber, Amazon RDS menggunakan fitur replikasi default mesin DB. Untuk informasi tentang menggunakan replika baca dengan mesin tertentu, lihat bagian berikut:

Setelah Anda membuat replika baca dari instans DB sumber, instans DB sumber ini menjadi instans DB primer. Saat Anda membuat pembaruan instans DB primer, Amazon RDS menyalinnya secara asinkron ke replika baca. Diagram berikut menunjukkan instans DB sumber yang mereplikasi ke replika baca di Zona Ketersediaan (AZ) yang berbeda. Klien memiliki akses baca/tulis ke instans DB utama dan akses hanya-baca ke replika.

Konfigurasi replika baca

Replika baca ditagih sebagai instans DB standar dengan tarif yang sama dengan kelas instans DB yang digunakan untuk replika. Anda tidak dikenakan biaya untuk transfer data yang terjadi dalam mereplikasi data antara instans DB sumber dan replika baca dalam hal yang sama. Wilayah AWS Untuk informasi selengkapnya, silakan lihat Biaya replikasi lintas Wilayah dan Penagihan instans DB untuk penagihan instans Amazon RDS untuk Aurora.

Gambaran umum replika baca Amazon RDS

Bagian berikut membahas replika baca instans DB. Untuk informasi tentang replika baca klaster DB Multi-AZ, lihat Bekerja dengan replika baca cluster DB multi-AZ untuk Amazon RDS.

Kasus penggunaan untuk replika baca

Melakukan deployment satu atau beberapa replika baca untuk instans DB sumber tertentu mungkin masuk akal dalam berbagai skenario, termasuk skenario berikut ini:

  • Penskalaan di luar kapasitas komputasi atau I/O dari instans DB tunggal untuk beban kerja basis data yang sarat pembacaan. Anda dapat mengarahkan kelebihan lalu lintas baca ini ke satu atau beberapa replika baca.

  • Melayani lalu lintas baca saat instans DB sumber tidak tersedia. Dalam beberapa kasus, instans DB sumber Anda mungkin tidak dapat menerima permintaan I/O, misalnya karena penangguhan I/O untuk cadangan atau pemeliharaan terjadwal. Dalam hal ini, Anda dapat mengarahkan lalu lintas baca ke replika baca Anda. Untuk kasus penggunaan ini, perlu diingat bahwa data di replika baca mungkin "usang" karena instans DB sumber tidak tersedia.

  • Skenario pelaporan bisnis atau pergudangan data saat Anda mungkin ingin kueri pelaporan bisnis dijalankan terhadap replika baca, bukan instans DB produksi Anda.

  • Menerapkan pemulihan bencana. Anda dapat mempromosikan replika baca menjadi instans mandiri sebagai solusi pemulihan bencana jika instans DB primer mengalami kegagalan.

Cara kerja replika baca

Saat Anda membuat replika baca, Anda menentukan instans DB yang ada sebagai sumbernya. Kemudian, Amazon akan RDS mengambil snapshot dari instans sumber dan membuat Instans hanya baca dari snapshot. Amazon RDS selanjutnya menggunakan metode replikasi asinkron untuk mesin DB untuk memperbarui replika baca setiap kali ada perubahan pada instans DB primer.

Replika baca beroperasi sebagai instans DB yang hanya memungkinkan koneksi hanya baca. Pengecualiannya adalah mesin DB RDS for Oracle, yang mendukung basis data replika dalam mode terpasang. Replika terpasang tidak menerima koneksi pengguna sehingga tidak dapat melayani beban kerja hanya baca. Penggunaan utama untuk replika yang dipasang di RDS untuk Oracle adalah pemulihan bencana lintas wilayah. Untuk informasi selengkapnya, lihat Menggunakan replika baca untuk Amazon RDS for Oracle.

Aplikasi terhubung ke replika baca seperti terhubung ke instans DB apa pun. Amazon RDS mereplikasi semua basis data dari instans DB sumber.

Anda harus membuat replika baca secara manual. RDS tidak mendukung penskalaan otomatis replika baca, yang merupakan penambahan atau penghapusan replika baca otomatis saat permintaan baca berubah.

Replika baca dalam deployment Multi-AZ

Anda dapat mengonfigurasi replika baca untuk instans DB yang juga memiliki replika siaga yang dikonfigurasi untuk ketersediaan tinggi dalam deployment Multi-AZ. Replikasi dengan replika siaga bersifat sinkron. Tidak seperti replika baca, replika siaga tidak dapat melayani lalu lintas baca.

Dalam skenario berikut, klien memiliki akses baca/tulis ke instans DB primer dalam satu AZ. Instans primer menyalin pembaruan secara asinkron ke replika baca di AZ kedua dan juga menyalinnya secara sinkron ke replika siaga di AZ ketiga. Klien hanya memiliki akses baca ke replika baca.

Konfigurasi replika baca dan replika siaga

Untuk informasi selengkapnya tentang replika ketersediaan tinggi dan siaga, lihat Mengonfigurasi dan mengelola penyebaran Multi-AZ untuk Amazon RDS.

Replika baca lintas Wilayah

Dalam beberapa kasus, replika baca berada di tempat yang berbeda Wilayah AWS dari instance DB utamanya. Dalam kasus ini, Amazon RDS menyiapkan saluran komunikasi yang aman antara instans DB primer dan replika baca. Amazon RDS menetapkan konfigurasi AWS keamanan apa pun yang diperlukan untuk mengaktifkan saluran aman, seperti menambahkan entri grup keamanan. Untuk informasi tentang replika baca lintas Wilayah, lihat Membuat replika baca di tempat yang berbeda Wilayah AWS.

Informasi dalam Bab ini berlaku untuk membuat replika baca Amazon RDS baik dalam hal yang Wilayah AWS sama dengan instans DB sumber, atau terpisah. Wilayah AWS Informasi berikut tidak berlaku untuk menyiapkan replikasi dengan instance yang berjalan di EC2 instans Amazon atau lokal.

Perbedaan di antara beberapa replika baca untuk mesin DB

Karena mesin DB Amazon RDS menerapkan replikasi secara berbeda, ada beberapa perbedaan signifikan yang harus Anda ketahui, seperti yang diperlihatkan dalam tabel berikut.

Fitur atau perilaku MySQL dan MariaDB Oracle PostgreSQL SQL Server

Apa itu metode replikasi?

Replikasi logis.

Replikasi fisik.

Replikasi fisik.

Replikasi fisik.

Bagaimana log transaksi di-purging?

RDS for MySQL dan RDS for MariaDB mempertahankan log biner yang belum diterapkan.

Jika instans DB primer tidak memiliki replika baca lintas Wilayah, Amazon RDS for Oracle mempertahankan minimal dua jam log transaksi pada instans DB sumber. Log dihapus dari instans DB sumber setelah dua jam atau setelah pengaturan jam retensi log arsip berlalu, mana saja yang lebih lama. Log dihapus dari replika baca setelah pengaturan jam retensi log arsip telah berlalu hanya jika telah berhasil diterapkan ke basis data.

Dalam beberapa kasus, instans DB primer mungkin memiliki satu atau beberapa replika baca lintas Wilayah. Jika demikian, Amazon RDS for Oracle akan mempertahankan log transaksi pada instans DB sumber sampai log transaksi tersebut dikirim dan diterapkan ke semua replika baca lintas Wilayah.

Untuk informasi tentang mengatur jam retensi log arsip, lihat Mempertahankan log pengulangan yang diarsipkan.

PostgreSQL memiliki parameter wal_keep_segments yang menentukan berapa banyak file write ahead log (WAL) yang dipertahankan untuk menyediakan data ke replika baca. Nilai parameter menentukan jumlah log yang akan dipertahankan.

File Log Virtual (VLF) dari file log transaksi di replika primer dapat dipotong setelah tidak lagi diperlukan untuk replika sekunder.

VLF hanya dapat ditandai sebagai tidak aktif jika catatan log telah di-hardening di replika. Terlepas dari seberapa cepat subsistem disk berada di replika utama, log transaksi akan menyimpan VLFs sampai replika paling lambat mengeraskannya.

Bisakah replika dijadikan dapat ditulis?

Ya. Anda dapat memungkinkan replika baca MySQL atau MariaDB menjadi dapat ditulis.

Tidak. Replika baca Oracle adalah salinan fisik, dan Oracle tidak mengizinkan penulisan di replika baca. Anda dapat mempromosikan replika baca agar menjadikannya dapat ditulis. Replika baca yang dipromosikan memiliki data yang direplikasi hingga titik saat ada permintaan untuk mempromosikannya.

Tidak. Replika baca PostgreSQL adalah salinan fisik, dan PostgreSQL tidak mengizinkan replika baca dijadikan dapat ditulis.

Tidak. Replika baca SQL Server adalah salinan fisik, dan SQL Server tidak mengizinkan penulisan di replika baca. Anda dapat mempromosikan replika baca agar menjadikannya dapat ditulis. Replika baca yang dipromosikan memiliki data yang direplikasi hingga titik saat ada permintaan untuk mempromosikannya.

Dapatkah pencadangan dilakukan pada replika?

Ya. Pencadangan otomatis dan snapshot manual didukung di replika baca RDS for MySQL atau RDS for MariaDB.

Ya. Pencadangan otomatis dan snapshot manual didukung di replika baca RDS for Oracle.

Ya, Anda dapat membuat snapshot manual replika baca RDS for PostgreSQL. Pencadangan otomatis untuk replika baca didukung untuk RDS for PostgreSQL 14.1 dan versi yang lebih tinggi saja. Anda tidak dapat mengaktifkan pencadangan otomatis untuk replika baca PostgreSQL untuk versi RDS for PostgreSQL yang lebih lama dari 14.1. Untuk RDS for PostgreSQL 13 dan versi yang lebih lama, buat snapshot dari replika baca jika Anda menginginkan cadangannya.

Tidak. Pencadangan otomatis dan snapshot manual tidak didukung di replika baca RDS for SQL Server.

Bisakah Anda menggunakan replikasi paralel?

Ya. Semua versi MariaDB dan MySQL yang didukung memungkinkan thread replikasi paralel.

Ya. Data log redo selalu dikirim secara paralel dari basis data primer ke semua replika bacanya.

Tidak. PostgreSQL memiliki satu replikasi penanganan proses.

Ya. Data log redo selalu dikirim secara paralel dari basis data primer ke semua replika bacanya.

Dapatkah Anda mempertahankan replika dalam mode terpasang alih-alih mode hanya baca?

Tidak.

Ya. Penggunaan primer untuk replika yang terpasang adalah pemulihan bencana lintas Wilayah. Lisensi Active Data Guard tidak diperlukan untuk replika yang terpasang. Untuk informasi selengkapnya, lihat Menggunakan replika baca untuk Amazon RDS for Oracle.

Tidak.

Tidak.

Jenis penyimpanan replika baca

Secara default, replika baca dibuat dengan jenis penyimpanan yang sama dengan instans DB sumber. Namun, Anda dapat membuat replika baca yang memiliki jenis penyimpanan berbeda dari instans DB sumber berdasarkan opsi yang tercantum di tabel berikut.

Jenis penyimpanan instans DB sumber Alokasi penyimpanan instans DB sumber Opsi jenis penyimpanan replika baca
IOPS yang Tersedia 100 GiB–64 TiB IOPS yang Tersedia, Tujuan Umum, Magnetik
Tujuan Umum 100 GiB–64 TiB IOPS yang Tersedia, Tujuan Umum, Magnetik
Tujuan Umum <100 GiB Tujuan Umum, Magnetik
Magnetik 100 GiB–6 TiB IOPS yang Tersedia, Tujuan Umum, Magnetik
Magnetik <100 GiB Tujuan Umum, Magnetik
catatan

Saat Anda meningkatkan alokasi penyimpanan replika baca, jumlahnya minimal harus 10 persen. Jika Anda mencoba meningkatkan nilai sebesar kurang dari 10 persen, Anda akan mendapat kesalahan.

Batasan untuk membuat replika dari replika

Amazon RDS tidak mendukung replikasi sirkular. Anda tidak dapat mengonfigurasi instans DB agar berfungsi sebagai sumber replikasi untuk instans DB yang ada. Anda hanya dapat membuat replika baca baru dari instans DB yang ada. Misalnya, jika MySourceDBInstance mereplikasi ke ReadReplica1, Anda tidak dapat mengonfigurasi ReadReplica1 untuk mereplikasi kembali ke MySourceDBInstance.

Untuk RDS for MariaDB dan RDS for MySQL, dan untuk versi RDS for PostgreSQL tertentu, Anda dapat membuat replika baca dari replika baca yang sudah ada. Misalnya, Anda dapat membuat replika baca baru ReadReplica2 dari replika ReadReplica1 yang sudah ada. Untuk RDS for Oracle dan RDS for SQL Server, Anda tidak dapat membuat replika baca dari replika baca yang sudah ada.

Pertimbangan saat menghapus replika

RDS tidak mendukung penskalaan otomatis replika baca. Dengan demikian, RDS tidak akan menambah jumlah replika saat permintaan atau menambah atau mengurangi jumlah replika saat permintaan menurun. Jika Anda tidak lagi membutuhkan replika baca, hapus secara manual menggunakan mekanisme yang sama untuk menghapus instance DB. Jika Anda menghapus instans DB sumber tanpa menghapus replika bacanya dalam hal yang sama Wilayah AWS, setiap replika dipromosikan ke instans DB mandiri.

Untuk informasi tentang menghapus instans DB, lihat Menghapus instans DB. Untuk informasi tentang promosi replika baca, lihat Mempromosikan replika baca menjadi instans DB mandiri. Untuk informasi yang terkait dengan menghapus instans DB sumber untuk replika baca lintas wilayah, lihat. Pertimbangan replikasi lintas Wilayah