Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Praktik terbaik untuk penanganan data deret waktu di DynamoDB
Prinsip desain umum di Amazon DynamoDB merekomendasikan agar Anda meminimalkan jumlah tabel yang Anda gunakan. Untuk sebagian besar aplikasi, hanya satu tabel yang Anda butuhkan. Namun, untuk data deret waktu, Anda sering kali dapat menanganinya menggunakan satu tabel per aplikasi per periode.
Pola desain untuk data deret waktu
Pertimbangkan skenario deret waktu yang umum, yaitu Anda ingin melacak peristiwa dalam jumlah besar. Pola akses tulis Anda adalah semua peristiwa yang direkam memiliki tanggal hari ini. Pola akses baca Anda mungkin membaca peristiwa hari ini paling sering, peristiwa kemarin lebih jarang, dan peristiwa lama sangat sedikit. Salah satu cara untuk mengatasinya adalah dengan memasukkan tanggal dan waktu saat ini ke dalam kunci primer.
Pola desain berikut sering kali menangani skenario semacam ini dengan efektif:
-
Buat satu tabel per periode, dilengkapi dengan kapasitas baca dan tulis yang diperlukan serta indeks yang diperlukan.
-
Sebelum akhir setiap periode, buat tabel untuk periode berikutnya. Setelah periode saat ini berakhir, arahkan lalu lintas peristiwa ke tabel baru. Anda dapat memberikan nama pada tabel-tabel ini yang menentukan periode yang telah dicatatnya.
-
Segera setelah tabel tidak lagi digunakan untuk menulis, kurangi kapasitas tulis yang disediakan ke nilai yang lebih rendah (misalnya, 1 WCU), dan sediakan kapasitas baca berapa pun yang sesuai. Kurangi kapasitas baca yang disediakan pada tabel sebelumnya seiring bertambahnya usia. Anda dapat mengarsipkan atau menghapus tabel yang isinya jarang atau tidak pernah diperlukan.
Tujuannya adalah untuk mengalokasikan sumber daya yang diperlukan untuk periode saat ini yang akan mengalami volume lalu lintas tertinggi dan mengurangi penyediaan tabel lama yang tidak digunakan secara aktif, sehingga menghemat biaya. Bergantung pada kebutuhan bisnis Anda, Anda dapat mempertimbangkan pembagian tulis untuk mendistribusikan lalu lintas secara merata ke kunci partisi logis. Untuk informasi selengkapnya, lihat Menggunakan sharding tulis untuk mendistribusikan beban kerja secara merata di tabel DynamoDB Anda.
Optimalkan biaya penyimpanan dengan kelas Standard-IA tabel
DynamoDB menawarkan dua kelas tabel: DynamoDB Standard dan DynamoDB Access (DynamoDB). Standard-Infrequent Standard-IA Kelas Standard-IA tabel menurunkan biaya penyimpanan Anda sekaligus meningkatkan biaya throughput baca dan tulis. Ini cocok ketika penyimpanan adalah bagian dominan dari biaya meja dan tabel jarang diakses.
Trade-off ini memetakan secara alami ke pola deret waktu. Tabel periode saat ini menerima sebagian besar lalu lintas baca dan tulis, jadi simpan di kelas tabel Standar DynamoDB, di mana throughputnya lebih murah. Seiring bertambahnya usia tabel karena penggunaan aktif, tabel ditulis jarang (atau tidak sama sekali) dan jarang dibaca, sementara Anda terus menyimpan datanya. Untuk tabel yang lebih tua ini, penyimpanan biasanya menjadi biaya terbesar, jadi mengalihkannya ke kelas Standard-IA tabel dapat menurunkan biaya keseluruhan Anda.
Pertimbangkan hal berikut ketika Anda menerapkan kelas tabel ke tabel deret waktu:
-
Pertahankan periode saat ini (aktif) pada kelas tabel DynamoDB Standard. Biaya throughput yang lebih tinggi Standard-IA akan lebih besar daripada penghematan penyimpanannya untuk tabel yang menyajikan volume baca dan tulis yang tinggi.
-
Ganti tabel periode Standard-IA setelah tidak lagi ditulis secara aktif dan jarang diakses, tetapi Anda masih perlu menyimpan datanya (misalnya, untuk kepatuhan atau kueri historis sesekali).
-
Anda dapat mengatur kelas tabel saat Anda membuat tabel atau mengubahnya nanti. Evaluasi rasio biaya penyimpanan terhadap throughput setiap tabel sebelum beralih, dan pantau biaya setelah perubahan.
Untuk informasi lebih lanjut tentang kelas tabel dan cara memilih di antara mereka, lihat Kelas tabel DynamoDB danEvaluasi pilihan kelas tabel DynamoDB Anda.
Contoh tabel deret waktu
Berikut ini adalah contoh data deret waktu di mana tabel saat ini disediakan pada read/write kapasitas yang lebih tinggi dan tabel yang lebih lama diperkecil karena jarang diakses.