Tabel global FAQ - AWS Bimbingan Preskriptif

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

Tabel global FAQ

Bagian ini memberikan jawaban atas pertanyaan yang sering diajukan tentang tabel global DynamoDB.

Berapa harga untuk tabel global?

  • Operasi tulis dalam tabel DynamoDB tradisional diberi harga dalam unit kapasitas tulis () untuk tabel yang disediakan atau unit permintaan tulis WCUs () untuk tabel sesuai permintaan. WRUs Jika Anda menulis item 5 KB, itu dikenakan biaya 5 unit. Tulis ke tabel global diberi harga dalam unit kapasitas tulis yang direplikasi (rWCUs) untuk tabel yang disediakan atau unit permintaan tulis yang direplikasi (rWRUs) untuk tabel sesuai permintaan. r WCUs dan r WRUs dihargai sama dengan dan. WCUs WRUs

  • Biaya RWCu dan RwRU dikenakan di setiap Wilayah di mana item ditulis secara langsung atau ditulis melalui replikasi.

  • Biaya transfer data Lintas Wilayah berlaku.

  • Menulis ke indeks sekunder global (GSI) dianggap sebagai operasi penulisan lokal dan menggunakan unit tulis reguler.

  • Tidak ada kapasitas cadangan yang tersedia untuk r WCUs atau r WRUs saat ini. Membeli kapasitas cadangan WCUs mungkin masih bermanfaat untuk tabel di mana GSIs mengkonsumsi unit tulis.

  • Saat Anda menambahkan Wilayah baru ke tabel global, DynamoDB bootstrap Wilayah baru secara otomatis dan menagih Anda seolah-olah itu adalah pemulihan tabel, berdasarkan ukuran GB tabel. Ini juga membebankan biaya transfer data lintas wilayah.

Wilayah mana yang didukung tabel global?

Tabel global (saat ini, versi 2019) mendukung semua Wilayah AWS tabel MREC dan set Wilayah berikut untuk tabel MRSC:

  • Set Wilayah AS: AS Timur (Virginia N.), AS Timur (Ohio), AS Barat (Oregon)

  • Set Wilayah UE: Eropa (Irlandia), Eropa (London), Eropa (Paris), Eropa (Frankfurt)

  • Set Wilayah AP: Asia Pasifik (Tokyo), Asia Pasifik (Seoul), dan Asia Pasifik (Osaka)

Bagaimana GSIs ditangani dengan tabel global?

Dalam tabel global (saat ini, versi 2019), saat Anda membuat GSI di satu Wilayah, secara otomatis dibuat di Wilayah lain yang berpartisipasi dan secara otomatis diisi ulang.

Bagaimana cara menghentikan replikasi tabel global?

  • Anda dapat menghapus tabel replika seperti Anda menghapus tabel lainnya. Menghapus tabel global akan menghentikan replikasi ke Wilayah tersebut dan menghapus salinan tabel yang disimpan di Wilayah tersebut. Namun, Anda tidak dapat menghentikan replikasi sambil menyimpan salinan tabel sebagai entitas independen, dan Anda juga tidak dapat menjeda replikasi.

  • Tabel MRSC harus ditempatkan tepat di tiga Wilayah. Untuk menghapus replika, Anda harus menghapus semua replika dan saksi sehingga tabel MRSC menjadi tabel lokal.

Bagaimana Amazon DynamoDB Streams berinteraksi dengan tabel global?

  • Setiap tabel global menghasilkan aliran independen berdasarkan semua operasi penulisannya, dari mana pun mereka memulai. Anda dapat menggunakan aliran DynamoDB di satu Wilayah atau di semua Wilayah (secara independen). Jika ingin memproses operasi tulis lokal tetapi tidak direplikasi, Anda dapat menambahkan atribut Wilayah Anda sendiri ke setiap item untuk mengidentifikasi Wilayah penulisan. Anda kemudian dapat menggunakan filter AWS Lambda peristiwa untuk memanggil fungsi Lambda hanya untuk operasi tulis di Wilayah lokal. Ini membantu dengan menyisipkan dan memperbarui operasi, tetapi tidak menghapus operasi.

  • Tabel global yang dikonfigurasi untuk konsistensi akhir Multi-wilayah (tabel MREC) mereplikasi perubahan dengan membaca perubahan tersebut dari aliran DynamoDB pada tabel replika dan menerapkan perubahan itu ke semua tabel replika lainnya. Oleh karena itu, DynamoDB Streams diaktifkan secara default pada semua replika dalam tabel global MREC dan tidak dapat dinonaktifkan pada replika tersebut. Proses replikasi MREC dapat menggabungkan beberapa perubahan dalam waktu singkat menjadi satu operasi tulis yang direplikasi. Akibatnya, setiap aliran replika mungkin berisi catatan yang sedikit berbeda. Catatan DynamoDB Streams pada replika MREC selalu diurutkan berdasarkan per item, tetapi urutan antar item mungkin berbeda antar replika.

  • Tabel global yang dikonfigurasi untuk konsistensi kuat Multi-wilayah (tabel MRSC) tidak menggunakan DynamoDB Streams untuk replikasi, jadi fitur ini tidak diaktifkan secara default pada replika MRSC. Anda dapat mengaktifkan DynamoDB Streams pada replika MRSC. Catatan DynamoDB Streams pada replika MRSC identik untuk setiap replika dan selalu diurutkan berdasarkan per item, tetapi urutan antar item mungkin berbeda antar replika.

Bagaimana tabel global menangani transaksi?

  • Operasi transaksional pada tabel MRSC akan menghasilkan kesalahan.

  • Operasi transaksional pada tabel MREC memberikan jaminan atomisitas, konsistensi, isolasi, daya tahan (ACID) hanya di Wilayah tempat operasi penulisan awalnya terjadi. Transaksi tidak didukung di seluruh Wilayah dalam tabel global. Misalnya, jika Anda memiliki tabel global MREC dengan replika di Wilayah AS Timur (Ohio) dan AS Barat (Oregon) dan melakukan TransactWriteItems operasi di Wilayah Timur AS (Ohio), Anda mungkin mengamati transaksi yang diselesaikan sebagian di Wilayah Barat AS (Oregon) saat perubahan direplikasi. Perubahan direplikasi ke Wilayah lain hanya setelah diterapkan di Wilayah sumber.

Bagaimana tabel global berinteraksi dengan cache DynamoDB Accelerator (DAX)?

Tabel global melewati DAX dengan memperbarui DynamoDB secara langsung, sehingga DAX tidak mengetahui jika menyimpan data yang sudah usang. Cache DAX disegarkan hanya ketika TTL cache kedaluwarsa.

Apakah tanda pada tabel disebarkan?

Tidak, tanda tidak disebarkan secara otomatis.

Haruskah saya membuat cadangan tabel di semua Wilayah atau hanya satu?

Jawabannya tergantung pada tujuan pencadangan.

  • Jika Anda ingin memastikan ketahanan data, DynamoDB sudah menyediakan perlindungan itu. Layanan ini memastikan ketahanan.

  • Jika Anda ingin menyimpan snapshot untuk catatan historis (misalnya, untuk memenuhi persyaratan peraturan), membuat cadangan di satu Wilayah sudah cukup. Anda dapat menyalin cadangan ke Wilayah tambahan menggunakan AWS Backup.

  • Jika Anda ingin memulihkan data yang dihapus atau dimodifikasi secara keliru, gunakan DynamoDB point-in-time recovery (PITR) di satu Wilayah.

Bagaimana cara menerapkan tabel global dengan menggunakan? AWS CloudFormation

  • CloudFormation merupakan tabel DynamoDB dan tabel global sebagai dua sumber daya terpisah: dan. AWS::DynamoDB::Table AWS::DynamoDB::GlobalTable Salah satu pendekatannya adalah membuat semua tabel yang berpotensi bersifat global dengan menggunakan GlobalTable konstruksi, menyimpannya sebagai tabel mandiri pada awalnya, dan menambahkan Wilayah nanti, jika perlu.

  • Dalam CloudFormation, setiap tabel global dikendalikan oleh satu tumpukan, dalam satu Wilayah, terlepas dari jumlah replika. Saat Anda menerapkan template Anda, CloudFormation membuat dan memperbarui semua replika sebagai bagian dari operasi tumpukan tunggal. Jangan men-deploy sumber daya AWS::DynamoDB::GlobalTable yang sama di beberapa Wilayah. Tindakan tersebut tidak didukung dan akan mengakibatkan kesalahan. Jika men-deploy templat aplikasi di beberapa Wilayah, Anda dapat menggunakan ketentuan untuk membuat sumber daya AWS::DynamoDB::GlobalTable di satu Wilayah. Alternatifnya, Anda dapat memilih untuk menentukan sumber daya AWS::DynamoDB::GlobalTable Anda dalam tumpukan yang terpisah dari tumpukan aplikasi Anda, dan memastikan bahwa sumber daya tersebut disebarkan ke satu Wilayah.

  • Jika Anda memiliki tabel reguler dan ingin mengonversinya menjadi tabel global sambil menjaganya tetap dikelola oleh CloudFormation: Setel kebijakan penghapusan keRetain, hapus tabel dari tumpukan, ubah tabel menjadi tabel global di konsol, lalu impor tabel global sebagai sumber daya baru ke tumpukan. Untuk informasi lebih lanjut, lihat AWS GitHub repositori amazon-dynamodb-table-to -. global-table-cdk

  • Replikasi lintas akun tidak didukung saat ini.