Menggunakan Indeks Sekunder Global untuk kueri agregasi yang terwujud - Amazon DynamoDB

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

Menggunakan Indeks Sekunder Global untuk kueri agregasi yang terwujud

Mempertahankan metrik kunci dan agregasi yang mendekati waktu nyata selain data yang berubah dengan cepat menjadi semakin berharga bagi bisnis untuk mengambil keputusan dengan cepat. Misalnya, pustaka musik mungkin ingin menampilkan lagu-lagu yang paling banyak diunduh mendekati waktu nyata.

Pertimbangkan tata letak tabel pustaka musik berikut:

Contoh tata letak tabel pustaka musik.

Tabel dalam contoh ini menyimpan lagu dengan songID sebagai kunci partisi. Anda dapat mengaktifkan Amazon DynamoDB Streams pada tabel ini dan melampirkan fungsi Lambda ke alirannya sehingga saat setiap lagu diunduh, entri ditambahkan ke tabel dengan Partition-Key=SongID dan Sort-Key=DownloadID. Saat dilakukan, pembaruan ini memicu fungsi Lambda di DynamoDB Streams. Fungsi Lambda dapat mengagregasi dan mengelompokkan unduhan menurut songID dan memperbarui item tingkat atas, Partition-Key=songID, dan Sort-Key=Month. Perlu diingat bahwa jika eksekusi Lambda gagal tepat setelah menulis nilai agregat baru, eksekusi tersebut mungkin akan dicoba ulang dan mengagregasi nilai lebih dari sekali, sehingga Anda mendapatkan nilai perkiraan.

Untuk membaca pembaruan mendekati waktu nyata, dengan latensi milidetik satu digit, gunakan indeks sekunder global dengan ketentuan kueri Month=2018-01, ScanIndexForward=False, Limit=1.

Optimasi kunci lain yang digunakan di sini adalah bahwa indeks sekunder global merupakan indeks jarang dan tersedia hanya pada item yang perlu dikueri untuk mengambil data secara waktu nyata. Indeks sekunder global dapat melayani alur kerja tambahan yang memerlukan informasi tentang 10 lagu teratas yang populer, atau lagu apa pun yang diunduh pada bulan itu.