Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Akselerasi dalam memori dengan DynamoDB Accelerator (DAX)
Amazon DynamoDB dirancang untuk skala dan performa. Dalam sebagian besar kasus, waktu respons DynamoDB dapat diukur dalam milidetik satu digit. Namun, ada kasus penggunaan tertentu yang memerlukan waktu respons dalam mikrodetik. Untuk kasus penggunaan ini, DynamoDB Accelerator (DAX) memberikan waktu respons yang cepat guna mengakses data akhir konsisten.
DAX adalah layanan caching yang kompatibel dengan DynamoDB yang memungkinkan Anda mendapatkan manfaat dari performa dalam memori yang cepat untuk aplikasi yang menuntut. DAX membahas tiga skenario inti:
-
Sebagai cache dalam memori, DAX mengurangi waktu respons beban kerja bacaan akhir konsisten berdasarkan urutan besarnya dari milidetik satu digit hingga mikrodetik.
-
DAX mengurangi kompleksitas operasional dan aplikasi dengan menyediakan layanan terkelola yang kompatibel dengan API DynamoDB. Oleh karena itu, DAX hanya memerlukan perubahan fungsional minimal untuk digunakan dengan aplikasi yang ada.
-
Untuk beban kerja baca berat atau melonjak, DAX menyediakan peningkatan throughput dan potensi penghematan biaya operasional dengan mengurangi kebutuhan penyediaan unit kapasitas baca yang berlebihan. Hal ini bermanfaat untuk aplikasi yang memerlukan pembacaan berulang untuk kunci individu.
DAX mendukung enkripsi sisi server. Dengan enkripsi saat diam, data yang disimpan oleh DAX pada disk akan dienkripsi. DAX menulis data ke disk sebagai bagian dari penyebaran perubahan dari simpul primer ke replika baca. Untuk informasi selengkapnya, lihat Enkripsi DAX saat diam.
DAX juga mendukung enkripsi saat bergerak untuk memastikan bahwa semua permintaan dan respons antara aplikasi dan klaster dienkripsi oleh keamanan lapisan pengangkutan (TLS), dan koneksi ke klaster dapat diautentikasi dengan verifikasi sertifikat klaster x509. Untuk informasi selengkapnya, lihat Enkripsi bergerak DAX.
Kasus penggunaan untuk DAX
DAX menyediakan akses ke data akhir konsisten dari tabel DynamoDB dengan latensi mikrodetik. Klaster DAX Multi-AZ dapat melayani jutaan permintaan per detik.
DAX ideal untuk jenis aplikasi berikut:
-
Aplikasi yang membutuhkan waktu respons secepat mungkin untuk pembacaan. Beberapa contohnya termasuk penawaran waktu nyata, game sosial, dan aplikasi perdagangan. DAX memberikan performa baca dalam memori yang cepat untuk kasus penggunaan tersebut.
-
Aplikasi yang membaca sejumlah kecil item yang lebih sering dibanding yang lain. Misalnya, pertimbangkan sistem e-commerce yang mengadakan obral satu hari untuk produk populer. Selama obral, permintaan untuk produk tersebut (dan datanya di DynamoDB) akan meningkat tajam dibandingkan dengan semua produk lainnya. Untuk mengurangi dampak kunci "hot" dan distribusi lalu lintas yang tidak seragam, Anda dapat memindahkan aktivitas baca ke cache DAX hingga obral satu hari berakhir.
-
Aplikasi dengan pembacaan intensif, tetapi juga sensitif terhadap biaya. Dengan DynamoDB, Anda menyediakan jumlah pembacaan per detik yang dibutuhkan oleh aplikasi Anda. Jika aktivitas baca meningkat, Anda dapat meningkatkan throughput baca yang disediakan tabel (dengan biaya tambahan). Selain itu, Anda juga dapat memindahkan aktivitas dari aplikasi Anda ke klaster DAX dan mengurangi jumlah unit kapasitas baca yang perlu dibeli.
-
Aplikasi yang memerlukan pembacaan berulang untuk satu set besar data. Aplikasi semacam itu berpotensi mengalihkan sumber daya basis data dari aplikasi lain. Sebagai contoh, analisis jangka panjang cuaca regional data dapat menggunakan sementara semua kapasitas baca dalam tabel DynamoDB. Situasi ini akan berdampak negatif terhadap aplikasi lain yang perlu mengakses data yang sama. Dengan DAX, analisis cuaca dapat dilakukan terhadap data cache sebagai gantinya.
DAX tidak ideal untuk jenis aplikasi berikut:
-
Aplikasi yang memerlukan bacaan sangat konsisten (atau yang tidak dapat menoleransi bacaan akhir konsisten).
-
Aplikasi yang tidak memerlukan waktu respons mikrodetik untuk pembacaan atau yang tidak memerlukan pemindahan aktivitas pembacaan berulang dari tabel dasar.
-
Aplikasi yang intensif menulis. Volume penulisan yang tinggi menyebabkan peningkatan replikasi di seluruh node DAX dalam sebuah cluster. Hal ini menyebabkan peningkatan konsumsi sumber daya dan risiko masalah ketersediaan.
-
Aplikasi tanpa banyak pembacaan berulang. DAX berkinerja terbaik ketika tingkat hit cache melebihi 90%. Tingkat hit cache yang lebih rendah meningkatkan kesalahan cache, yang menghabiskan lebih banyak sumber daya di seluruh cluster DAX.
Catatan penggunaan DAX
-
Untuk daftar AWS Wilayah di mana DAX tersedia, lihat harga Amazon DynamoDB
. -
DAX mendukung aplikasi yang ditulis dalam Go, Java, Node.js, Python, dan .NET, AWS menggunakan klien yang disediakan untuk bahasa pemrograman tersebut.
-
DAX hanya tersedia untuk platform EC2 -VPC.
-
Kebijakan peran layanan klaster DAX harus mengizinkan tindakan
dynamodb:DescribeTable
untuk mempertahankan metadata tentang tabel DynamoDB. -
Klaster DAX mempertahankan metadata tentang nama atribut item yang disimpan. Metadata tersebut dipertahankan tanpa batas waktu (bahkan setelah item kedaluwarsa atau telah dihapus dari cache). Aplikasi yang menggunakan sejumlah nama atribut tidak terbatas, dapat menyebabkan kehabisan memori di klaster DAX dari waktu ke waktu. Batasan ini hanya berlaku untuk nama atribut tingkat atas, bukan nama atribut bersarang. Contoh nama atribut tingkat atas yang bermasalah termasuk cap waktu, UUIDs, dan sesi. IDs
Keterbatasan ini hanya berlaku untuk nama atribut, bukan nilainya. Item seperti berikut bukan masalah.
{ "Id": 123, "Title": "Bicycle 123", "CreationDate": "2017-10-24T01:02:03+00:00" }
Namun, item seperti berikut menjadi masalah jika jumlahnya cukup dan masing-masing memiliki timestamp yang berbeda.
{ "Id": 123, "Title": "Bicycle 123", "2017-10-24T01:02:03+00:00": "created" }