Tingkatan data - Amazon ElastiCache (Redis OSS)

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

Tingkatan data

Klaster yang terdiri dari grup replikasi dan menggunakan jenis simpul dari keluarga r6gd akan memiliki data yang diberi tingkatan antara penyimpanan memori dan SSD (solid state drive) lokal. Tiering data menyediakan opsi harga-kinerja baru untuk beban kerja Redis OSS dengan memanfaatkan solid state drive (SSD) berbiaya rendah di setiap node cluster selain menyimpan data dalam memori. Hal ini sangat ideal untuk beban kerja yang mengakses hingga 20 persen dari keseluruhan set datanya secara rutin, dan untuk aplikasi yang dapat menoleransi latensi tambahan saat mengakses data di SSD.

Pada cluster dengan tiering data, ElastiCache memantau waktu akses terakhir dari setiap item yang disimpannya. Ketika memori yang tersedia (DRAM) sepenuhnya dikonsumsi, ElastiCache menggunakan algoritma yang paling tidak baru digunakan (LRU) untuk secara otomatis memindahkan item yang jarang diakses dari memori ke SSD. Ketika data pada SSD kemudian diakses, ElastiCache secara otomatis dan asinkron memindahkannya kembali ke memori sebelum memproses permintaan. Jika Anda memiliki beban kerja yang mengakses hanya subset dari datanya secara teratur, tingkatan data adalah cara optimal untuk menskalakan kapasitas Anda dengan hemat biaya.

Perhatikan bahwa saat menggunakan tingkatan data, kunci itu sendiri selalu tetap dalam memori, sedangkan LRU mengatur penempatan nilai pada memori vs disk. Secara umum, sebaiknya buat kunci Anda lebih kecil dari ukuran nilai Anda saat menggunakan tingkatan data.

Tingkatan data dirancang untuk memiliki dampak performa minimal pada beban kerja aplikasi. Misalnya, anggaplah ada nilai String 500-byte, Anda dapat mengalami 300 mikrodetik tambahan latensi rata-rata untuk permintaan terhadap data yang tersimpan di SSD dibandingkan dengan permintaan terhadap data dalam memori.

Dengan ukuran simpul tingkatan data terbesar (cache.r6gd.16xlarge), Anda dapat menyimpan hingga 1 petabyte dalam satu klaster 500 simpul (500 TB saat menggunakan 1 replika baca). Tiering data kompatibel dengan semua perintah Redis OSS dan struktur data yang didukung di. ElastiCache Anda tidak memerlukan perubahan sisi klien untuk menggunakan fitur ini.

Praktik terbaik

Kami merekomendasikan praktik terbaik berikut:

  • Tingkatan data sangat ideal untuk beban kerja yang mengakses hingga 20 persen dari keseluruhan set datanya secara rutin, dan untuk aplikasi yang dapat menoleransi latensi tambahan saat mengakses data di SSD.

  • Saat menggunakan kapasitas SSD yang tersedia pada simpul bertingkatan data, kami menyarankan agar ukuran nilai lebih besar dari ukuran kunci. Ketika item dipindahkan antara DRAM dan SSD, kunci akan selalu tetap dalam memori dan hanya nilai yang dipindahkan ke tingkat SSD.

Batasan

Tingkatan data memiliki batasan berikut:

  • Anda hanya dapat menggunakan tingkatan data pada klaster yang merupakan bagian dari grup replikasi.

  • Jenis simpul yang Anda gunakan harus berasal dari keluarga r6gd, yang tersedia di wilayah berikut: us-east-2, us-east-1, us-west-2, us-west-1, eu-west-1, eu-central-1, eu-north-1, eu-west-3, ap-northeast-1, ap-southeast-1, ap-southeast-2, ap-south-1, ca-central-1, dan sa-east-1.

  • Anda harus menggunakan mesin Redis OSS 6.2 atau yang lebih baru.

  • Anda tidak dapat memulihkan cadangan klaster r6gd ke klaster lain kecuali klaster lain tersebut menggunakan r6gd juga.

  • Anda tidak dapat mengekspor cadangan ke Amazon S3 untuk klaster tingkatan data.

  • Migrasi online tidak didukung untuk klaster yang berjalan pada jenis simpul r6gd.

  • Penskalaan tidak didukung dari klaster tingkatan data (misalnya, sebuah klaster yang menggunakan jenis simpul r6gd) ke klaster yang tidak menggunakan tingkatan data (misalnya, klaster yang menggunakan jenis simpul r6g). Untuk informasi selengkapnya, lihat Penskalaan ElastiCache (Redis OSS) .

  • Penskalaan otomatis didukung pada cluster menggunakan tiering data untuk Redis OSS versi 7.0.7 dan yang lebih baru. Untuk informasi selengkapnya, lihat Cluster Auto Scaling ElastiCache (Redis OSS)

  • Tingkatan data hanya mendukung kebijakan maxmemory volatile-lru, allkeys-lru, volatile-lfu, allkeys-lfu, dan noeviction.

  • Penyimpanan tanpa garpu didukung untuk Redis OSS versi 7.0.7 dan yang lebih baru. Untuk informasi selengkapnya, lihat Cara penerapan sinkronisasi dan pencadangan.

  • Item yang lebih besar dari 128 MiB tidak dipindahkan ke SSD.

Harga

Simpul R6gd memiliki kapasitas total 4,8x lebih banyak (memori + SSD) dan dapat membantu Anda mencapai lebih dari 60 persen penghematan ketika berjalan pada pemanfaatan maksimum dibandingkan dengan simpul R6g (memori saja). Untuk informasi lebih lanjut, lihat ElastiCache harga.

Pemantauan

ElastiCache (Redis OSS) menawarkan metrik yang dirancang khusus untuk memantau cluster kinerja yang menggunakan tingkatan data. Untuk memantau rasio item dalam DRAM dibandingkan dengan SSD, Anda dapat menggunakan CurrItems metrik di Metrik untuk Redis OSS. Anda dapat menghitung persentase sebagai: (CurrItems dengan Dimensi: Tingkat = Memori* 100)/(CurrItems tanpa filter dimensi).

Jika kebijakan penggusuran yang dikonfigurasi memungkinkan, maka ElastiCache (Redis OSS) akan mulai mengusir item ketika persentase item dalam memori berkurang di bawah 5 persen. Pada node yang dikonfigurasi dengan kebijakan noeviction, operasi tulis akan menerima kesalahan kehabisan memori.

Anda tetap disarankan untuk mempertimbangkan penskalaan untuk cluster yang Diaktifkan Mode Cluster atau penskalaan untuk cluster yang dinonaktifkan Mode Cluster ketika persentase item dalam memori berkurang di bawah 5 persen. Untuk informasi lebih lanjut tentang penskalaan lihatPenskalaan cluster di Redis OSS (Mode Cluster Diaktifkan). Untuk informasi selengkapnya tentang metrik untuk kluster Redis OSS yang menggunakan tiering data, lihat. Metrik untuk Redis OSS

Menggunakan tingkatan data

Ketika membuat sebuah klaster sebagai bagian dari grup replikasi, Anda menggunakan tingkatan data dengan memilih jenis simpul dari keluarga r6gd, seperti cache.r6gd.xlarge. Memilih jenis simpul tersebut secara otomatis mengaktifkan tingkatan data.

Untuk informasi tentang cara membuat klaster, lihat Membuat klaster.

Saat membuat grup replikasi menggunakan AWS CLI, Anda menggunakan tiering data dengan memilih tipe node dari keluarga r6gd, seperti cache.r6gd.xlarge dan menyetel parameternya. --data-tiering-enabled

Anda tidak dapat membatalkan penggunaan tingkatan data ketika memilih jenis simpul dari keluarga r6gd. Jika Anda mengatur parameter --no-data-tiering-enabled, operasi akan gagal.

Untuk Linux, macOS, atau Unix:

aws elasticache create-replication-group \ --replication-group-id redis-dt-cluster \ --replication-group-description "Redis OSS cluster with data tiering" \ --num-node-groups 1 \ --replicas-per-node-group 1 \ --cache-node-type cache.r6gd.xlarge \ --engine redis \ --cache-subnet-group-name default \ --automatic-failover-enabled \ --data-tiering-enabled

Untuk Windows:

aws elasticache create-replication-group ^ --replication-group-id redis-dt-cluster ^ --replication-group-description "Redis OSS cluster with data tiering" ^ --num-node-groups 1 ^ --replicas-per-node-group 1 ^ --cache-node-type cache.r6gd.xlarge ^ --engine redis ^ --cache-subnet-group-name default ^ --automatic-failover-enabled ^ --data-tiering-enabled

Setelah menjalankan operasi ini, Anda akan melihat respons seperti yang berikut ini:

{ "ReplicationGroup": { "ReplicationGroupId": "redis-dt-cluster", "Description": "Redis OSS cluster with data tiering", "Status": "creating", "PendingModifiedValues": {}, "MemberClusters": [ "redis-dt-cluster" ], "AutomaticFailover": "enabled", "DataTiering": "enabled", "SnapshotRetentionLimit": 0, "SnapshotWindow": "06:00-07:00", "ClusterEnabled": false, "CacheNodeType": "cache.r6gd.xlarge", "TransitEncryptionEnabled": false, "AtRestEncryptionEnabled": false } }

Memulihkan data dari cadangan ke dalam klaster dengan tingkatan data diaktifkan

Anda dapat memulihkan cadangan ke klaster baru dengan tiering data yang diaktifkan menggunakan (Console), (AWS CLI) atau (ElastiCache API). Ketika Anda membuat sebuah klaster menggunakan jenis simpul dalam keluarga r6gd, tingkatan data diaktifkan.

Untuk memulihkan cadangan ke klaster baru dengan tingkatan data diaktifkan (konsol)
  1. Masuk ke AWS Management Console dan buka ElastiCache konsol di https://console.aws.amazon.com/elasticache/.

  2. Dari panel navigasi, pilih Cadangan.

  3. Di daftar cadangan, pilih kotak di sebelah kiri nama cadangan yang ingin Anda pulihkan.

  4. Pilih Pulihkan.

  5. Lengkapi kotak dialog Pulihkan Klaster. Pastikan untuk melengkapi semua bidang Wajib dan semua bidang yang ingin Anda ubah dari default.

    1. ID Klaster – Wajib. Nama klaster baru.

    2. Mode cluster diaktifkan (skala keluar) - Pilih ini untuk cluster Redis OSS (mode cluster diaktifkan).

    3. Jenis Simpul – Tentukan cache.r6gd.xlarge atau jenis simpul lainnya dari keluarga r6gd.

    4. Jumlah Serpihan – Memilih jumlah serpihan yang Anda inginkan di klaster baru (API/CLI: grup simpul).

    5. Replika per Serpihan – Pilih jumlah simpul replika baca yang Anda inginkan di setiap serpihan.

    6. Slot dan ruang kunci – Pilih cara yang Anda inginkan untuk mendistribusikan kunci di antara serpihan. Jika Anda memilih untuk menentukan distribusi kunci, lengkapi tabel yang menentukan rentang kunci untuk setiap serpihan.

    7. Zona ketersediaan – Tentukan cara yang Anda inginkan untuk memilih Zona Ketersediaan dari klaster.

    8. Port – Ubah ini hanya jika Anda menginginkan klaster baru menggunakan port yang berbeda.

    9. Pilih VPC – Pilih VPC tempat klaster ini akan dibuat.

    10. Grup Parameter — Pilih grup parameter yang menyimpan memori yang cukup untuk overhead Redis OSS untuk jenis node yang Anda pilih.

  6. Jika pengaturan sudah sesuai keinginan Anda, pilih Buat.

Untuk informasi tentang cara membuat klaster, lihat Membuat klaster.

Saat membuat grup replikasi menggunakan AWS CLI, tiering data secara default digunakan dengan memilih tipe node dari keluarga r6gd, seperti cache.r6gd.xlarge dan mengatur parameter. --data-tiering-enabled

Anda tidak dapat membatalkan penggunaan tingkatan data ketika memilih jenis simpul dari keluarga r6gd. Jika Anda mengatur parameter --no-data-tiering-enabled, operasi akan gagal.

Untuk Linux, macOS, atau Unix:

aws elasticache create-replication-group \ --replication-group-id redis-dt-cluster \ --replication-group-description "Redis OSS cluster with data tiering" \ --num-node-groups 1 \ --replicas-per-node-group 1 \ --cache-node-type cache.r6gd.xlarge \ --engine redis \ --cache-subnet-group-name default \ --automatic-failover-enabled \ --data-tiering-enabled \ --snapshot-name my-snapshot

Untuk Linux, macOS, atau Unix:

aws elasticache create-replication-group ^ --replication-group-id redis-dt-cluster ^ --replication-group-description "Redis OSS cluster with data tiering" ^ --num-node-groups 1 ^ --replicas-per-node-group 1 ^ --cache-node-type cache.r6gd.xlarge ^ --engine redis ^ --cache-subnet-group-name default ^ --automatic-failover-enabled ^ --data-tiering-enabled ^ --snapshot-name my-snapshot

Setelah menjalankan operasi ini, Anda akan melihat respons seperti yang berikut ini:

{ "ReplicationGroup": { "ReplicationGroupId": "redis-dt-cluster", "Description": "Redis OSS cluster with data tiering", "Status": "creating", "PendingModifiedValues": {}, "MemberClusters": [ "redis-dt-cluster" ], "AutomaticFailover": "enabled", "DataTiering": "enabled", "SnapshotRetentionLimit": 0, "SnapshotWindow": "06:00-07:00", "ClusterEnabled": false, "CacheNodeType": "cache.r6gd.xlarge", "TransitEncryptionEnabled": false, "AtRestEncryptionEnabled": false } }