Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Amazon DynamoDB Accelerator DAX () dirancang untuk berjalan dalam lingkungan Amazon Virtual Private Cloud (Amazon). VPC VPCLayanan Amazon mendefinisikan jaringan virtual yang sangat mirip dengan pusat data tradisional. Dengan aVPC, Anda memiliki kontrol atas rentang alamat IP, subnet, tabel routing, gateway jaringan, dan pengaturan keamanan. Anda dapat meluncurkan DAX cluster di jaringan virtual Anda dan mengontrol akses ke cluster dengan menggunakan grup VPC keamanan Amazon.
catatan
Jika Anda membuat AWS akun setelah 4 Desember 2013, Anda sudah memiliki default VPC di setiap AWS Wilayah. VPCSiap untuk Anda gunakan segera—tanpa harus melakukan langkah konfigurasi tambahan apa pun.
Untuk informasi selengkapnya, lihat Subnet default VPC dan default di Panduan VPC Pengguna Amazon.
Diagram berikut menunjukkan ikhtisar tingkat tinggi. DAX

Untuk membuat DAX cluster, Anda menggunakan file AWS Management Console. Kecuali Anda menentukan sebaliknya, DAX cluster Anda berjalan dalam default AndaVPC. Untuk menjalankan aplikasi Anda, Anda meluncurkan EC2 instans Amazon ke Amazon AndaVPC. Anda kemudian menerapkan aplikasi Anda (dengan DAX klien) pada EC2 instance.
Saat runtime, DAX klien mengarahkan semua permintaan DynamoDB aplikasi Anda ke clusterAPI. DAX Jika DAX dapat memproses salah satu API permintaan ini secara langsung, ia melakukannya. Jika tidak, DAX akan meneruskan permintaan ke DynamoDB.
Akhirnya, DAX cluster mengembalikan hasil ke aplikasi Anda.
Bagaimana DAX memproses permintaan
Sebuah DAX cluster terdiri dari satu atau lebih node. Setiap node menjalankan instance sendiri dari perangkat lunak DAX caching. Salah satu simpul berfungsi sebagai simpul primer untuk klaster. Simpul tambahan (jika ada) berfungsi sebagai replika baca. Untuk informasi selengkapnya, lihat Simpul.
Aplikasi Anda dapat mengakses DAX dengan menentukan titik akhir untuk cluster. DAX Perangkat lunak DAX klien bekerja dengan titik akhir cluster untuk melakukan penyeimbangan beban dan perutean cerdas.
Operasi baca
DAXdapat menanggapi API panggilan berikut:
-
GetItem
-
BatchGetItem
-
Query
-
Scan
Jika permintaan menentukan pembacaan yang konsisten pada akhirnya (perilaku default), ia mencoba membaca item dariDAX:
-
Jika DAX memiliki item yang tersedia (cache hit), DAX mengembalikan item ke aplikasi tanpa mengakses DynamoDB.
-
Jika DAX tidak memiliki item yang tersedia (cache hilang), DAX meneruskan permintaan melalui DynamoDB. Ketika menerima respon dari DynamoDBDAX, mengembalikan hasil ke aplikasi. Namun, DAX juga menulis hasil ke cache pada simpul primer.
catatan
Jika ada replika baca di cluster, DAX secara otomatis menjaga replika tetap sinkron dengan simpul utama. Untuk informasi selengkapnya, lihat Klaster.
Jika permintaan menentukan pembacaan yang sangat konsisten, DAX meneruskan permintaan tersebut ke DynamoDB. Hasil dari DynamoDB tidak di-cache. DAX Sebaliknya, hasil akan kembali ke aplikasi.
Operasi tulis
DAXAPIOperasi berikut dianggap “write-through”:
-
BatchWriteItem
-
UpdateItem
-
DeleteItem
-
PutItem
Dengan operasi ini, data pertama ditulis ke tabel DynamoDB, dan kemudian ke cluster. DAX Operasi ini berhasil hanya jika data berhasil ditulis ke tabel dan keDAX.
Operasi lainnya
DAXtidak mengenali operasi DynamoDB untuk mengelola tabel (CreateTable
sepertiUpdateTable
,, dan sebagainya). Jika aplikasi Anda perlu melakukan operasi ini, itu harus mengakses DynamoDB secara langsung daripada menggunakan. DAX
Untuk informasi rinci tentang DAX dan konsistensi DynamoDB, lihat. DAXdan model konsistensi DynamoDB
Untuk informasi tentang cara kerja transaksiDAX, lihatMenggunakan transaksional di APIs DynamoDB Accelerator (DAX).
Pembatasan laju permintaan
Jika jumlah permintaan yang dikirim DAX melebihi kapasitas node, DAX batasi tingkat di mana ia menerima permintaan tambahan dengan mengembalikan file. ThrottlingException DAXterus mengevaluasi CPU pemanfaatan Anda untuk menentukan volume permintaan yang dapat diproses sambil mempertahankan status cluster yang sehat.
Anda dapat memantau ThrottledRequestCount metrik yang DAX diterbitkan ke Amazon CloudWatch. Jika melihat pengecualian ini secara rutin, Anda harus mempertimbangkan untuk menaikkan skala klaster.
Cache item
DAXmemelihara cache item untuk menyimpan hasil dari GetItem
dan BatchGetItem
operasi. Item dalam cache mewakili data akhir konsisten dari DynamoDB dan disimpan berdasarkan nilai kunci primer.
Saat aplikasi mengirim BatchGetItem
permintaan GetItem
atau, DAX mencoba membaca item langsung dari cache item menggunakan nilai kunci yang ditentukan. Jika item ditemukan (cache hit), segera DAX mengembalikannya ke aplikasi. Jika item tidak ditemukan (cache miss), DAX mengirimkan permintaan ke DynamoDB. DynamoDB memproses permintaan menggunakan pembacaan yang konsisten dan mengembalikan item ke. DAX DAXmenyimpannya di cache item dan kemudian mengembalikannya ke aplikasi.
Cache item memiliki pengaturan Time to Live (TTL), yaitu 5 menit secara default. DAXmenetapkan stempel waktu untuk setiap item yang ditulisnya ke cache item. Item kedaluwarsa jika tetap berada di cache lebih lama dari TTL pengaturan. Jika Anda mengeluarkan GetItem
permintaan pada item yang kedaluwarsa, ini dianggap sebagai cache yang hilang, dan DAX mengirimkan GetItem
permintaan ke DynamoDB.
catatan
Anda dapat menentukan TTL pengaturan untuk cache item saat Anda membuat DAX cluster baru. Untuk informasi selengkapnya, lihat Mengelola DAX cluster .
DAXjuga memelihara daftar (LRU) yang paling tidak baru digunakan untuk cache item. LRUDaftar melacak kapan item pertama kali ditulis ke cache, dan kapan item terakhir dibaca dari cache. Jika cache item menjadi penuh, DAX mengusir item yang lebih lama (meskipun belum kedaluwarsa) untuk memberi ruang bagi item baru. LRUAlgoritma selalu diaktifkan untuk cache item dan tidak dapat dikonfigurasi pengguna.
Jika Anda menentukan nol sebagai TTL pengaturan cache item, item dalam cache item hanya akan disegarkan karena LRU penggusuran atau operasi “tulis”.
Untuk informasi rinci tentang konsistensi cache item diDAX, lihatDAXperilaku cache item.
Cache kueri
DAXjuga memelihara cache kueri untuk menyimpan hasil dari Query
dan Scan
operasi. Item dalam cache ini mewakili set hasil dari kueri dan pemindaian pada tabel DynamoDB. Set hasil ini disimpan berdasarkan nilai parameter.
Saat aplikasi mengirim Scan
permintaan Query
atau, DAX mencoba membaca set hasil yang cocok dari cache kueri menggunakan nilai parameter yang ditentukan. Jika set hasil ditemukan (cache hit), segera DAX kembalikan ke aplikasi. Jika hasil set tidak ditemukan (cache miss), DAX mengirimkan permintaan ke DynamoDB. DynamoDB memproses permintaan menggunakan pembacaan yang konsisten dan mengembalikan hasil yang disetel ke. DAX DAXmenyimpannya di cache kueri dan kemudian mengembalikannya ke aplikasi.
catatan
Anda dapat menentukan TTL pengaturan untuk cache kueri saat Anda membuat DAX cluster baru. Untuk informasi selengkapnya, lihat Mengelola DAX cluster .
DAXjuga memelihara LRU daftar untuk cache kueri. Daftar tersebut melacak saat set hasil pertama kali ditulis ke cache dan saat hasil terakhir dibaca dari cache. Jika cache kueri menjadi penuh, DAX mengusir kumpulan hasil yang lebih lama (meskipun belum kedaluwarsa) untuk memberi ruang bagi set hasil baru. LRUAlgoritma selalu diaktifkan untuk cache kueri, dan tidak dapat dikonfigurasi pengguna.
Jika Anda menentukan nol sebagai TTL pengaturan cache kueri, respons kueri tidak akan di-cache.
Untuk informasi rinci tentang konsistensi cache kueriDAX, lihatDAXperilaku cache kueri.