Tabel global Amazon DynamoDB

Mengapa tabel global Amazon DynamoDB?

Tabel global Amazon DynamoDB adalah basis data terkelola penuh, nirserver, multi-Wilayah, dan multiaktif. Tabel global memberi Anda ketersediaan 99,999%, peningkatan ketahanan aplikasi, dan peningkatan kelangsungan bisnis. Saat tabel global mereplikasi tabel Amazon DynamoDB Anda secara otomatis di seluruh Wilayah AWS yang Anda pilih, Anda dapat mencapai performa baca dan tulis lokal yang cepat.

Dalam kasus kegagalan satu Wilayah yang jarang terjadi, Anda tidak perlu melakukan failover basis data karena arsitektur multiaktif tabel global memungkinkan pelanggan untuk membaca dan menulis ke tabel replika mana pun. Tabel global juga menghilangkan pekerjaan sulit dalam mereplikasi data antar-Wilayah dan menyelesaikan konflik pembaruan untuk beban kerja multiaktif. Selain itu, tabel global memungkinkan aplikasi Anda agar tetap dalam ketersediaan tinggi bahkan dalam kasus isolasi atau degradasi seluruh Wilayah yang jarang terjadi.

Anda dapat mengonfigurasi tabel global di Konsol Manajemen AWS dengan AWS Command Line Interface (AWS CLI) atau dengan AWS CloudFormation. Tidak ada perubahan aplikasi yang diperlukan saat membaca atau menulis ke tabel global karena tabel global menggunakan API DynamoDB yang sama dengan tabel satu Wilayah.

Tidak ada biaya atau komitmen di muka untuk menggunakan tabel global, dan Anda hanya membayar sebesar sumber daya yang digunakan. Pelajari selengkapnya tentang konfigurasi tabel global di Panduan Developer Amazon DynamoDB. Untuk informasi selengkapnya tentang harga tabel global, lihat opsi harga Amazon DynamoDB untuk sesuai permintaan dan yang disediakan.

Cara kerjanya

Tabel global DynamoDB terdiri dari beberapa tabel replika. Setiap tabel replika ada di Wilayah yang berbeda, tetapi semua replika memiliki nama dan kunci primer yang sama. Ketika data ditulis ke tabel replika mana pun, DynamoDB secara otomatis mereplikasi data tersebut ke semua tabel replika lainnya di tabel global.

Misalnya, aplikasi Anda melayani basis pelanggan besar yang tersebar di tiga wilayah geografis, yaitu Pantai Timur AS, Kanada, dan Eropa Barat. Tanpa tabel global, Anda harus membuat tabel di setiap Wilayah AWS dan menulis kode untuk mereplikasi perubahan data di setiap tabel di setiap Wilayah.

Dengan tabel global, Anda dapat membuat tabel global dengan tabel replika di tiga Wilayah terdekat dengan setiap area geografis. DynamoDB akan secara otomatis mereplikasi perubahan dari replika mana pun ke replika di Wilayah lain.

Tabel global memungkinkan pengguna aplikasi Anda untuk memiliki akses latensi rendah ke data di mana pun mereka berada. Jika satu Wilayah AWS tidak tersedia untuk sementara, pelanggan Anda masih dapat mengakses tabel replika di Wilayah lain.

Cara kerjanya

Manfaat tabel global Amazon DynamoDB

Tabel global memungkinkan Anda membaca dan menulis data secara lokal, dengan memberikan latensi satu digit milidetik untuk aplikasi Anda yang didistribusikan secara global pada semua skala. Hal ini dapat meningkatkan performa untuk aplikasi global yang diskalakan secara masif.

Tabel global menghilangkan kompleksitas dan beban operasional deployment serta pengelolaan replikasi multi-Wilayah multiaktif di Amazon DynamoDB. Anda dapat memilih Wilayah tempat data Anda akan direplikasi lalu DynamoDB akan menangani sisanya. Aplikasi mengakses tabel global dengan menggunakan API DynamoDB dan titik akhir yang ada.

Replikasi multi-Wilayah multiaktif memastikan bahwa pembaruan yang dilakukan pada tabel replika di satu Wilayah direplikasi ke tabel replika di Wilayah lain. Replikasi antara replika tabel di seluruh Wilayah pada akhirnya akan konsisten. Hal ini berarti bahwa pembacaan dan penulisan lokal ke tabel replika dalam Wilayah yang sama dengan aplikasi dapat menghasilkan konsistensi yang kuat. Meski demikian, pembacaan item yang ada di tabel replika lain dalam suatu Wilayah pada akhirnya akan konsisten.

Setiap perubahan yang dilakukan pada setiap item di tabel replika mana pun direplikasi ke semua replika lain dalam tabel global yang sama. Dalam tabel global, item yang baru ditulis biasanya dipropagasi ke semua tabel replika dalam satu detik.  Dengan tabel global, setiap tabel replika menyimpan rangkaian item data yang sama. Amazon DynamoDB tidak mendukung replikasi parsial dari hanya beberapa item. Konflik dapat muncul jika aplikasi memperbarui item yang sama di Wilayah yang berbeda pada waktu yang hampir bersamaan.

Untuk menyelesaikan konflik, tabel global Amazon DynamoDB menggunakan rekonsiliasi pemenang penulis terakhir di antara pembaruan yang bersamaan, di mana Amazon DynamoDB akan melakukan upaya terbaik untuk menentukan penulis yang terakhir. Dengan mekanisme resolusi konflik ini, semua replika menyetujui pembaruan terbaru dan melakukan langkah-langkah untuk menyamakan data yang mereka miliki.

Tabel global dirancang untuk ketersediaan 99,999%. Jika satu Wilayah menjadi terisolasi atau terdegradasi, aplikasi Anda dapat mengarahkan ke Wilayah yang berbeda dan melakukan pembacaan serta penulisan pada tabel replika yang berbeda. Anda dapat menerapkan logika bisnis kustom untuk menentukan waktu guna mengalihkan permintaan ke Wilayah lain. 

Selain itu, Amazon DynamoDB melacak setiap penulisan yang telah dilakukan tetapi belum dipropagasi ke semua tabel replika. Saat Wilayah kembali online, Amazon DynamoDB melanjutkan propagasi penulisan apa pun yang tertunda dari Wilayah tersebut ke tabel replika di Wilayah lain dan sebaliknya.

Topik halaman

Umum

Umum

Tabel global adalah kumpulan satu atau beberapa tabel replika, yang semuanya dimiliki oleh satu akun AWS. Satu tabel global Amazon DynamoDB hanya dapat memiliki satu tabel replika per Wilayah AWS.

Tabel replika adalah satu tabel DynamoDB. Setiap tabel replika menyimpan rangkaian item data yang sama, memiliki nama tabel yang sama, dan skema kunci primer yang sama. Saat aplikasi menulis data ke tabel replika di satu Wilayah, Amazon DynamoDB secara otomatis mereplikasi penulisan ke tabel replika lain di Wilayah AWS lainnya.

Ya, tabel global Amazon Dynamo mendukung kontinuitas bisnis karena Amazon Dynamo meningkatkan ketahanan aplikasi dan memberikan konsistensi yang kuat untuk satu Wilayah. Karena tabel global bersifat multiaktif, aplikasi dapat membaca atau menulis ke tabel replika mana pun. Dalam kasus peristiwa Wilayah tak terduga yang jarang terjadi, aplikasi dapat mengarahkan ke replika lain.

Anda dapat membuat tabel global menggunakan konsol Amazon DynamoDB, AWS CLI, atau AWS CloudFormation dengan panduan langkah demi langkah ini.

Sebelum menambahkan replika tambahan di wilayah yang berbeda ke tabel global Amazon DynamoDB, tabel tersebut harus mengaktifkan DynamoDB Streams, memiliki nama yang sama dengan semua replika lainnya, memiliki kunci partisi yang sama dengan semua replika lainnya, serta menentukan pengaturan kapasitas tulis yang sama.

Semua tabel replika dalam tabel global Amazon DynamoDB harus memiliki nama yang sama.

Mirip dengan basis data lainnya, Amazon DynamoDB menyimpan data dalam tabel. Tabel adalah kumpulan item, dan setiap item adalah kumpulan atribut. Amazon DynamoDB menggunakan kunci primer untuk secara unik mengidentifikasi setiap item dalam tabel dan memiliki indeks sekunder guna memberikan lebih banyak fleksibilitas kueri.

Sebaliknya, tabel global Amazon DynamoDB adalah kumpulan satu atau beberapa tabel replika yang dimiliki oleh satu akun AWS. Setiap tabel replika secara struktural sama dengan tabel Amazon DynamoDB biasa.

Ya, Anda dapat mengaktifkan pemulihan titik waktu pada setiap replika tabel global.

  • Zoom

    Ketika pandemi COVID-19 bermula, terdapat banyak sekali permintaan untuk layanan suara dan video kami. Pada awal tahun 2020, kami mengalami peningkatan penggunaan yang belum pernah terjadi sebelumnya dari 10 Juta menjadi 300 Juta Peserta Rapat Harian dari pelanggan baru dan lama yang perlu terhubung secara virtual. Di backend, kami dapat mengelola lonjakan ini dengan Amazon DynamoDB untuk Zoom Meetings. Dengan menggunakan tabel global DynamoDB dikombinasikan dengan mode sesuai permintaan, kami dapat menskalakan secara hampir tak terbatas dan tanpa masalah performa, bahkan dengan lonjakan penggunaan yang tiba-tiba.

    Yasin Mohammed, Engineering Manager, Cloud Operations di Zoom Video Communications, Inc.
  • Disney

    Disney+ menggunakan Amazon DynamoDB untuk menyerap konten, metadata, dan miliaran tindakan pelanggan setiap harinya, yang memungkinkan pemirsa menambahkan konten ke Daftar Tonton mereka, mulai menonton video dan melanjutkannya di perangkat lain, serta mendapatkan rekomendasi untuk tontonan berikutnya.

    Miliaran bookmark diserap dalam sehari melalui Amazon Kinesis dan ke Amazon DynamoDB.

    Attilio Giue, Director of Content Discovery, Disney+
    Baca siaran pers »
  • Snap Inc.

    Snap Inc. menghemat biaya infrastruktur tahunan secara signifikan dan memungkinkan infrastruktur cepat serta andal untuk aplikasi pesan multimedia Snapchat dengan menggunakan Amazon DynamoDB.

    Kemampuan yang ditawarkan oleh Amazon DynamoDB dan inovasi berkelanjutan di dalamnya memberi kami keyakinan bahwa kami dapat terus mengandalkannya serta berinovasi di atasnya.

    Saral Jain, Director of Engineering and Head of Infrastructure, Snap Inc.
    Baca studi kasus »