Mengkonfigurasi Aurora SQL Postgre untuk penerusan tulis Lokal - Amazon Aurora

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

Mengkonfigurasi Aurora SQL Postgre untuk penerusan tulis Lokal

Dengan menggunakan bagian berikut, Anda dapat mengaktifkan penerusan tulis lokal untuk klaster DB Amazon Aurora SQL Postgre Anda, mengonfigurasi tingkat konsistensi, dan mengelola transaksi dengan penerusan tulis.

Mengaktifkan penerusan tulis lokal

Secara default, penerusan tulis lokal tidak diaktifkan untuk klaster DB Aurora Postgre. SQL Anda mengaktifkan penerusan tulis lokal pada tingkat klaster, bukan pada tingkat instans.

Menggunakan AWS Management Console, pilih kotak centang Aktifkan penerusan tulis lokal di bawah Baca replika tulis penerusan saat Anda membuat atau memodifikasi cluster DB.

Untuk mengaktifkan penerusan tulis lokal dengan AWS CLI, gunakan opsi. --enable-local-write-forwarding Opsi ini berfungsi saat Anda membuat klaster DB baru menggunakan perintah create-db-cluster. Opsi ini juga berfungsi saat Anda memodifikasi klaster DB yang ada dengan menggunakan perintah modify-db-cluster. Anda dapat menonaktifkan penerusan tulis lokal dengan menggunakan --no-enable-local-write-forwarding opsi dengan perintah yang sama CLI ini.

Contoh berikut membuat cluster Aurora Postgre SQL DB dengan penerusan tulis lokal diaktifkan.

aws rds create-db-cluster \ --db-cluster-identifier write-forwarding-test-cluster \ --enable-local-write-forwarding \ --engine aurora-postgresql \ --engine-version 16.4 \ --master-username myuser \ --master-user-password mypassword \ --backup-retention 1

Anda kemudian membuat instans DB penulis dan pembaca sehingga Anda dapat menggunakan penerusan tulis. Untuk informasi selengkapnya, lihat Membuat klaster DB Amazon Aurora.

Untuk mengaktifkan penerusan tulis lokal menggunakan Amazon RDSAPI, setel EnableLocalWriteForwarding parameter ke. true Parameter ini berfungsi saat Anda membuat klaster DB baru menggunakan operasi CreateDBCluster. Opsi ini juga berfungsi saat Anda memodifikasi klaster DB yang ada dengan menggunakan operasi ModifyDBCluster. Anda dapat menonaktifkan penerusan tulis lokal dengan mengatur EnableLocalWriteForwarding parameter ke. false

Mengaktifkan penerusan penulisan lokal untuk sesi database

Parameter apg_write_forward.consistency_mode adalah parameter DB dan parameter klaster DB yang memungkinkan penerusan tulis. Anda dapat menentukanSESSION,EVENTUAL,GLOBAL, atau OFF untuk tingkat konsistensi baca. Untuk mempelajari selengkapnya tentang tingkat konsistensi, lihat Konsistensi dan isolasi untuk penerusan tulis lokal di Aurora Postgre SQL.

Aturan berikut berlaku untuk parameter ini:

  • Nilai default-nya adalah SESSION.

  • Penerusan tulis lokal hanya tersedia jika Anda menyetel apg_write_forward.consistency_mode keEVENTUAL,SESSION, atau. GLOBAL Parameter ini hanya relevan dalam instance pembaca cluster DB yang mengaktifkan penerusan tulis lokal.

  • Menyetel nilai untuk OFF menonaktifkan penerusan tulis lokal dalam sesi.

Konsistensi dan isolasi untuk penerusan tulis lokal di Aurora Postgre SQL

Anda dapat mengontrol tingkat konsistensi baca pada replika baca. Anda dapat menyesuaikan tingkat konsistensi baca untuk memastikan bahwa semua operasi penulisan yang diteruskan dari sesi Anda terlihat di replika baca sebelum kueri berikutnya. Anda juga dapat menggunakan pengaturan ini untuk memastikan bahwa kueri pada replika baca selalu melihat pembaruan terbaru dari instans DB penulis. Hal ini bahkan berlaku untuk yang dikirimkan oleh sesi lain atau klaster lainnya. Untuk menentukan jenis perilaku ini untuk aplikasi Anda, Anda memilih nilai yang sesuai untuk parameter tingkat sesi apg_write_forward.consistency_mode. apg_write_forward.consistency_modeParameter hanya berpengaruh pada replika baca yang mengaktifkan penerusan tulis lokal.

catatan

Untuk parameter apg_write_forward.consistency_mode, Anda dapat menentukan nilai SESSION, EVENTUAL, GLOBAL, atau OFF. Secara default, nilainya diatur ke SESSION. Mengatur nilai untuk OFF menonaktifkan penerusan tulis.

Saat Anda meningkatkan tingkat konsistensi, aplikasi Anda menghabiskan lebih banyak waktu menunggu perubahan disebarkan untuk membaca replika. Anda dapat memilih keseimbangan antara latensi yang lebih rendah dan memastikan bahwa perubahan yang dibuat di lokasi lain sepenuhnya tersedia sebelum kueri dijalankan.

Dengan setiap pengaturan mode konsistensi yang tersedia, efeknya adalah sebagai berikut:

  • SESSION— Sesi pada replika baca yang menggunakan penerusan tulis lokal melihat hasil dari semua perubahan yang dibuat dalam sesi itu. Perubahan dapat dilihat terlepas dari apakah transaksi dilakukan. Jika perlu, kueri menunggu hasil operasi penulisan yang diteruskan untuk direplikasi ke instance DB pembaca saat ini. Itu tidak menunggu hasil yang diperbarui dari operasi penulisan yang dilakukan di sesi lain dalam cluster DB saat ini.

  • EVENTUAL— Sesi pada replika baca yang menggunakan penerusan tulis lokal mungkin melihat data yang sedikit basi karena kelambatan replikasi. Hasil operasi penulisan dalam sesi yang sama tidak terlihat sampai operasi penulisan dilakukan pada instance DB penulis dan direplikasi ke replika baca. Kueri tidak menunggu hasil yang diperbarui untuk tersedia. Dengan demikian, kueri dapat mengambil data yang lebih lama atau data yang diperbarui, bergantung pada waktu pernyataan dan jumlah lag replikasi.

  • GLOBAL— Sesi pada replika baca melihat perubahan yang dibuat oleh sesi itu. Ini juga melihat semua perubahan yang dilakukan dari instance DB penulis dan replika baca lainnya. Setiap kueri mungkin akan menunggu selama periode yang berbeda-beda tergantung jumlah lag sesi. Kueri berlanjut ketika replika baca up-to-date dengan semua data yang dikomit dari instance DB penulis, pada saat kueri dimulai.

    catatan

    Mode konsistensi global memengaruhi latensi kueri yang dijalankan dalam satu sesi. Ini akan melakukan menunggu bahkan ketika sesi belum mengirim kueri tulis apa pun.

  • OFF— Penerusan tulis lokal dinonaktifkan.

Dalam sesi yang menggunakan penerusan tulis, Anda dapat menggunakan tingkat isolasi REPEATABLE READ dan READ COMMITTED. Namun, tingkat isolasi SERIALIZABLE tidak didukung.

Untuk informasi selengkapnya tentang semua parameter yang terlibat dalam penerusan tulis, lihat Pengaturan parameter default untuk penerusan tulis.

Mode akses transaksi dengan penerusan tulis

Jika mode akses transaksi disetel ke hanya baca, penerusan tulis lokal tidak digunakan. Anda dapat mengatur mode akses untuk membaca tulis hanya saat Anda terhubung ke cluster DB dan sesi yang mengaktifkan penerusan tulis lokal.

Untuk informasi selengkapnya tentang mode akses transaksi, lihat SETTRANSACTION.