

# Manajemen data
<a name="a-data-management"></a>

# PERF 3. Bagaimana cara menyimpan, mengelola, dan mengakses data dalam beban kerja Anda?
<a name="perf-03"></a>

 Solusi manajemen data yang optimal untuk sistem tertentu bervariasi berdasarkan jenis data (blok, file, atau objek), pola akses (acak atau berurutan), throughput yang diperlukan, frekuensi akses (online, offline, arsip), frekuensi pembaruan (WORM, dinamis), dan ketersediaan serta batasan daya tahan. Beban kerja Well-Architected menggunakan penyimpanan data yang dibuat khusus yang memungkinkan berbagai fitur untuk meningkatkan kinerja. 

**Topics**
+ [PERF03-BP01 Menggunakan penyimpanan data yang dibuat khusus yang paling mendukung persyaratan akses dan penyimpanan data Anda](perf_data_use_purpose_built_data_store.md)
+ [PERF03-BP02 Evaluasi opsi konfigurasi yang tersedia untuk penyimpanan data](perf_data_evaluate_configuration_options_data_store.md)
+ [PERF03-BP03 Mengumpulkan dan merekam metrik kinerja penyimpanan data](perf_data_collect_record_data_store_performance_metrics.md)
+ [PERF03-BP04 Menerapkan strategi untuk meningkatkan kinerja kueri di penyimpanan data](perf_data_implement_strategies_to_improve_query_performance.md)
+ [PERF03-BP05 Mengimplementasikan pola akses data yang memanfaatkan caching](perf_data_access_patterns_caching.md)

# PERF03-BP01 Menggunakan penyimpanan data yang dibuat khusus yang paling mendukung persyaratan akses dan penyimpanan data Anda
<a name="perf_data_use_purpose_built_data_store"></a>

 Pahami karakteristik data (seperti dapat dibagikan, ukuran, ukuran cache, pola akses, latensi, throughput, dan persistensi data) untuk memilih penyimpanan data khusus (penyimpanan atau basis data) yang tepat untuk beban kerja Anda. 

 **Antipola umum:** 
+  Anda bertahan dengan satu solusi basis data disebabkan pengetahuan dan pengalaman internal tentang satu jenis solusi basis data tertentu. 
+  Anda berasumsi bahwa semua beban kerja memiliki persyaratan penyimpanan dan akses data yang serupa. 
+  Anda belum mengimplementasikan katalog data untuk menginventarisasi aset data Anda. 

 **Manfaat menjalankan praktik terbaik ini:** Dengan memahami karakteristik dan persyaratan data, Anda dapat menentukan teknologi penyimpanan yang paling efisien dan berkinerja paling tinggi sesuai dengan kebutuhan beban kerja Anda. 

 **Tingkat risiko yang terjadi jika praktik terbaik ini tidak dijalankan:** Tinggi 

## Panduan implementasi
<a name="implementation-guidance"></a>

 Saat memilih dan menerapkan penyimpanan data, pastikan karakteristik penyimpanan, kueri, dan penskalaan mendukung persyaratan data beban kerja. AWS menyediakan banyak teknologi penyimpanan data dan basis data termasuk penyimpanan blok, penyimpanan objek, penyimpanan streaming, sistem file, relasional, nilai kunci, dokumen, penyimpanan dalam memori, grafik, deret waktu, dan basis data buku besar. Setiap solusi manajemen data memiliki opsi dan konfigurasi yang tersedia bagi Anda untuk mendukung kasus penggunaan dan model data Anda. Dengan memahami karakteristik dan persyaratan data, Anda dapat melepaskan diri dari teknologi penyimpanan monolitik dan pendekatan satu-untuk-semua yang terbatas guna memfokuskan diri pada manajemen data yang tepat. 

### Langkah implementasi
<a name="implementation-steps"></a>
+  Lakukan inventaris berbagai jenis data yang ada dalam beban kerja Anda. 
+  Pahami dan dokumentasikan karakteristik serta persyaratan data, termasuk: 
  +  Tipe data (tidak terstruktur, semi-terstruktur, relasional) 
  +  Volume dan pertumbuhan data 
  +  Ketahanan data: persisten, sementara, transien 
  +  Persyaratan ACID (atomisitas, konsistensi, isolasi, durabilitas) 
  +  Pola akses data (intensif baca atau intensif tulis) 
  +  Latensi 
  +  Throughput 
  +  IOPS (operasi input/output per detik) 
  +  Periode retensi data 
+  Pelajari berbagai penyimpanan data yang tersedia untuk beban kerja Anda di AWS yang dapat memenuhi karakteristik data Anda (sebagaimana diuraikan dalam [PERF01-BP01 Mempelajari dan memahami layanan serta fitur cloud yang tersedia](perf_architecture_understand_cloud_services_and_features.md)). Berikut adalah beberapa contoh teknologi penyimpanan AWS serta karakteristik utamanya:     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/wellarchitected/2023-10-03/framework/perf_data_use_purpose_built_data_store.html)
+  Jika Anda membangun platform data, manfaatkan [arsitektur data modern](https://aws.amazon.com/big-data/datalakes-and-analytics/modern-data-architecture/) di AWS untuk mengintegrasikan danau data, gudang data, dan tempat penyimpanan data Anda yang dibuat khusus. 
+  Pertanyaan kunci yang perlu Anda pertimbangkan saat memilih penyimpanan data untuk beban kerja Anda adalah sebagai berikut:     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/wellarchitected/2023-10-03/framework/perf_data_use_purpose_built_data_store.html)
+  Lakukan uji coba dan uji tolok ukur di lingkungan nonproduksi untuk mengidentifikasi penyimpanan data mana yang paling sesuai dengan kebutuhan beban kerja Anda. 

## Sumber daya
<a name="resources"></a>

 **Dokumen terkait:** 
+  [Jenis Volume Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) 
+  [Penyimpanan Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Storage.html) 
+  [Amazon EFS: Performa Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/performance.html) 
+  [Performa Amazon FSx for Lustre](https://docs.aws.amazon.com/fsx/latest/LustreGuide/performance.html) 
+  [Performa Amazon FSx for Windows File Server](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html) 
+  [Amazon Glacier: Dokumentasi Amazon Glacier](https://docs.aws.amazon.com/amazonglacier/latest/dev/introduction.html) 
+  [Amazon S3: Pertimbangan Tingkat Permintaan dan Performa](https://docs.aws.amazon.com/AmazonS3/latest/dev/request-rate-perf-considerations.html) 
+  [Penyimpanan Cloud dengan AWS](https://aws.amazon.com/products/storage/) 
+  [Karakteristik I/O Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-io-characteristics.html) 
+  [Basis Data Cloud dengan AWS ](https://aws.amazon.com/products/databases/?ref=wellarchitected) 
+  [Caching Basis Data AWS ](https://aws.amazon.com/caching/database-caching/?ref=wellarchitected) 
+  [DynamoDB Accelerator](https://aws.amazon.com/dynamodb/dax/?ref=wellarchitected) 
+  [Praktik terbaik Amazon Aurora ](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.BestPractices.html?ref=wellarchitected) 
+  [Performa Amazon Redshift ](https://docs.aws.amazon.com/redshift/latest/dg/c_challenges_achieving_high_performance_queries.html?ref=wellarchitected) 
+  [10 kiat performa terbaik Amazon Athena ](https://aws.amazon.com/blogs/big-data/top-10-performance-tuning-tips-for-amazon-athena/?ref=wellarchitected) 
+  [Praktik terbaik Amazon Redshift Spectrum ](https://aws.amazon.com/blogs/big-data/10-best-practices-for-amazon-redshift-spectrum/?ref=wellarchitected) 
+  [Praktik terbaik Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/BestPractices.html?ref=wellarchitected) 
+  [Pilih antara Amazon EC2 dan Amazon RDS](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-sql-server/comparison.html) 
+ [ Praktik Terbaik untuk Mengimplementasikan Amazon ElastiCache ](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/BestPractices.html)

 **Video terkait:** 
+  [Pendalaman tentang Amazon EBS](https://www.youtube.com/watch?v=wsMWANWNoqQ) 
+  [Mengoptimalkan kinerja penyimpanan Anda dengan Amazon S3](https://www.youtube.com/watch?v=54AhwfME6wI) 
+ [Lakukan modernisasi aplikasi dengan basis data yang dibuat khusus](https://www.youtube.com/watch?v=V-DiplATdi0)
+ [ Penjelasan penyimpanan Amazon Aurora: Cara kerjanya ](https://www.youtube.com/watch?v=uaQEGLKtw54)
+ [ Pendalaman Amazon DynamoDB: Pola desain lanjutan ](https://www.youtube.com/watch?v=6yqfmXiZTlM)

 **Contoh terkait:** 
+  [Driver CSI Amazon EFS](https://github.com/kubernetes-sigs/aws-efs-csi-driver) 
+  [Driver CSI Amazon EBS](https://github.com/kubernetes-sigs/aws-ebs-csi-driver) 
+  [Utilitas Amazon EFS](https://github.com/aws/efs-utils) 
+  [Penskalaan Otomatis Amazon EBS](https://github.com/awslabs/amazon-ebs-autoscale) 
+  [Contoh Amazon S3](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/s3-examples.html) 
+  [Optimalkan Pola Data menggunakan Pembagian Data Amazon Redshift](https://wellarchitectedlabs.com/sustainability/300_labs/300_optimize_data_pattern_using_redshift_data_sharing/) 
+  [Migrasi Basis Data](https://github.com/aws-samples/aws-database-migration-samples) 
+  [MS SQL Server - Demo Replikasi AWS Database Migration Service (AWS DMS)](https://github.com/aws-samples/aws-dms-sql-server) 
+  [Lokakarya Praktik Langsung Modernisasi Basis Data](https://github.com/aws-samples/amazon-rds-purpose-built-workshop) 
+  [Sampel Amazon Neptune](https://github.com/aws-samples/amazon-neptune-samples) 

# PERF03-BP02 Evaluasi opsi konfigurasi yang tersedia untuk penyimpanan data
<a name="perf_data_evaluate_configuration_options_data_store"></a>

 Pahami dan evaluasi berbagai fitur dan opsi konfigurasi yang tersedia untuk penyimpanan data Anda guna mengoptimalkan ruang penyimpanan dan kinerja untuk beban kerja Anda. 

 **Antipola umum:** 
+  Anda hanya menggunakan satu jenis penyimpanan, seperti Amazon EBS, untuk semua beban kerja. 
+  Anda menggunakan IOPS yang tersedia untuk semua beban kerja tanpa pengujian dunia nyata terhadap semua tingkat penyimpanan. 
+  Anda tidak memahami opsi konfigurasi pada solusi manajemen data yang Anda pilih. 
+  Anda hanya mengandalkan peningkatan ukuran instans tanpa mempertimbangkan opsi konfigurasi lain yang tersedia. 
+  Anda tidak menguji karakteristik penskalaan penyimpanan data Anda. 

 **Manfaat menjalankan praktik terbaik ini:** Dengan menjelajahi dan melakukan eksperimen dengan konfigurasi penyimpanan data, Anda mungkin dapat mengurangi biaya infrastruktur, meningkatkan performa, serta mengurangi upaya pengelolaan beban kerja. 

 **Tingkat risiko yang terjadi jika praktik terbaik ini tidak dijalankan:** Sedang 

## Panduan implementasi
<a name="implementation-guidance"></a>

 Beban kerja dapat memiliki satu atau beberapa penyimpanan data yang digunakan berdasarkan persyaratan penyimpanan dan akses data. Untuk mengoptimalkan biaya dan efisiensi kinerja, Anda harus mengevaluasi pola akses data guna menentukan konfigurasi penyimpanan data yang sesuai. Saat mencoba opsi-opsi penyimpanan data, pertimbangkan beberapa aspek seperti opsi penyimpanan, memori, komputasi, replika baca, persyaratan konsistensi, pooling koneksi, dan opsi cache. Coba beberapa opsi konfigurasi ini untuk meningkatkan metrik efisiensi kinerja. 

### Langkah implementasi
<a name="implementation-steps"></a>
+  Pahami konfigurasi saat ini (seperti tipe instans, ukuran penyimpanan, atau versi mesin basis data) penyimpanan data Anda. 
+  Tinjau dokumentasi dan praktik terbaik AWS untuk mempelajari rekomendasi opsi konfigurasi yang dapat membantu meningkatkan kinerja penyimpanan data Anda. Berikut ini adalah opsi-opsi penyimpanan data utama yang perlu dipertimbangkan:     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/wellarchitected/2023-10-03/framework/perf_data_evaluate_configuration_options_data_store.html)
+  Lakukan uji coba dan uji tolok ukur di lingkungan nonproduksi untuk mengidentifikasi opsi konfigurasi mana yang dapat memenuhi persyaratan beban kerja Anda. 
+  Setelah bereksperimen, rencanakan migrasi dan validasikan metrik kinerja Anda. 
+  Gunakan alat pemantauan AWS (seperti [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/)) dan optimisasi (seperti [Lensa Penyimpanan Amazon S3](https://aws.amazon.com/s3/storage-lens/)) untuk terus mengoptimalkan penyimpanan data Anda menggunakan pola penggunaan dunia nyata. 

## Sumber daya
<a name="resources"></a>

 **Dokumen terkait:** 
+  [Penyimpanan Cloud dengan AWS](https://aws.amazon.com/products/storage/?ref=wellarchitected) 
+  [Jenis Volume Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) 
+  [Penyimpanan Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Storage.html) 
+  [Amazon EFS: Performa Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/performance.html) 
+  [Performa Amazon FSx for Lustre](https://docs.aws.amazon.com/fsx/latest/LustreGuide/performance.html) 
+  [Performa Amazon FSx for Windows File Server](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html) 
+  [Amazon Glacier: Dokumentasi Amazon Glacier](https://docs.aws.amazon.com/amazonglacier/latest/dev/introduction.html) 
+  [Amazon S3: Pertimbangan Tingkat Permintaan dan Performa](https://docs.aws.amazon.com/AmazonS3/latest/dev/request-rate-perf-considerations.html) 
+  [Penyimpanan Cloud dengan AWS](https://aws.amazon.com/products/storage/) 
+  [Penyimpanan Cloud dengan AWS](https://aws.amazon.com/products/storage/?ref=wellarchitected) 
+  [Karakteristik I/O Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-io-characteristics.html) 
+  [Basis Data Cloud dengan AWS ](https://aws.amazon.com/products/databases/?ref=wellarchitected) 
+  [Caching Basis Data AWS ](https://aws.amazon.com/caching/database-caching/?ref=wellarchitected) 
+  [DynamoDB Accelerator](https://aws.amazon.com/dynamodb/dax/?ref=wellarchitected) 
+  [Praktik terbaik Amazon Aurora ](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.BestPractices.html?ref=wellarchitected) 
+  [Performa Amazon Redshift ](https://docs.aws.amazon.com/redshift/latest/dg/c_challenges_achieving_high_performance_queries.html?ref=wellarchitected) 
+  [10 kiat performa terbaik Amazon Athena ](https://aws.amazon.com/blogs/big-data/top-10-performance-tuning-tips-for-amazon-athena/?ref=wellarchitected) 
+  [Praktik terbaik Amazon Redshift Spectrum ](https://aws.amazon.com/blogs/big-data/10-best-practices-for-amazon-redshift-spectrum/?ref=wellarchitected) 
+  [Praktik terbaik Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/BestPractices.html?ref=wellarchitected) 

 **Video terkait:** 
+  [Pendalaman tentang Amazon EBS](https://www.youtube.com/watch?v=wsMWANWNoqQ) 
+  [Mengoptimalkan kinerja penyimpanan Anda dengan Amazon S3](https://www.youtube.com/watch?v=54AhwfME6wI) 
+ [Lakukan modernisasi aplikasi dengan basis data yang dibuat khusus](https://www.youtube.com/watch?v=V-DiplATdi0)
+ [ Penjelasan penyimpanan Amazon Aurora: Cara kerjanya ](https://www.youtube.com/watch?v=uaQEGLKtw54)
+ [ Pendalaman Amazon DynamoDB: Pola desain lanjutan ](https://www.youtube.com/watch?v=6yqfmXiZTlM)

 **Contoh terkait:** 
+  [Driver CSI Amazon EFS](https://github.com/kubernetes-sigs/aws-efs-csi-driver) 
+  [Driver CSI Amazon EBS](https://github.com/kubernetes-sigs/aws-ebs-csi-driver) 
+  [Utilitas Amazon EFS](https://github.com/aws/efs-utils) 
+  [Penskalaan Otomatis Amazon EBS](https://github.com/awslabs/amazon-ebs-autoscale) 
+  [Contoh Amazon S3](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/s3-examples.html) 
+  [Contoh Amazon DynamoDB](https://github.com/aws-samples/aws-dynamodb-examples) 
+  [Sampel migrasi Basis Data AWS](https://github.com/aws-samples/aws-database-migration-samples) 
+  [Lokakarya Modernisasi Basis Data](https://github.com/aws-samples/amazon-rds-purpose-built-workshop) 
+  [Menggunakan parameter di Amazon RDS for Postgress DB](https://github.com/awsdocs/amazon-rds-user-guide/blob/main/doc_source/Appendix.PostgreSQL.CommonDBATasks.Parameters.md) 

# PERF03-BP03 Mengumpulkan dan merekam metrik kinerja penyimpanan data
<a name="perf_data_collect_record_data_store_performance_metrics"></a>

 Lacak dan rekam metrik kinerja yang relevan untuk penyimpanan data Anda guna memahami kinerja solusi manajemen data Anda. Metrik-metrik ini dapat membantu Anda mengoptimalkan penyimpanan data Anda, memastikan terpenuhinya persyaratan beban kerja Anda, dan memberikan gambaran umum yang jelas tentang kinerja beban kerja. 

 **Antipola umum:** 
+  Anda hanya menggunakan pencarian file log manual untuk metrik. 
+  Anda hanya memublikasikan metrik ke alat-alat internal yang digunakan tim Anda dan tidak memiliki gambaran yang komprehensif tentang beban kerja Anda. 
+  Anda hanya menggunakan metrik default yang dicatat oleh perangkat lunak pemantauan Anda yang dipilih. 
+  Anda hanya meninjau metrik ketika terdapat masalah. 
+  Anda hanya memantau metrik tingkat sistem dan tidak merekam metrik akses atau penggunaan data. 

 **Manfaat menjalankan praktik terbaik ini:** Memiliki dasar acuan kinerja membantu Anda memahami perilaku normal dan persyaratan beban kerja. Pola abnormal dapat diidentifikasi dan diperbaiki lebih cepat sehingga meningkatkan kinerja dan keandalan penyimpanan data. 

 **Tingkat risiko yang terjadi jika praktik terbaik ini tidak dijalankan:** Tinggi 

## Panduan implementasi
<a name="implementation-guidance"></a>

 Untuk memantau kinerja penyimpanan data, Anda harus merekam beberapa metrik kinerja secara berkala. Dengan begitu Anda dapat mendeteksi anomali serta mengukur kinerja berdasarkan metrik bisnis untuk memastikan kebutuhan beban kerja Anda terpenuhi. 

 Metrik harus menyertakan metrik sistem dasar yang mendukung penyimpanan data serta metrik basis data. Metrik sistem dasar dapat meliputi metrik pemanfaatan CPU, memori, penyimpanan disk yang tersedia, I/O disk, rasio cache hit, dan jaringan masuk serta keluar, sedangkan metrik basis data dapat meliputi transaksi per detik, kueri teratas, rata-rata laju kueri, waktu respons, penggunaan indeks, penguncian tabel, batas waktu kueri, dan jumlah koneksi yang terbuka. Data ini sangat penting untuk mengetahui kinerja beban kerja dan bagaimana solusi manajemen data digunakan. Gunakan metrik ini sebagai bagian dari pendekatan berbasis data yang digunakan untuk mengatur dan mengoptimalkan sumber daya beban kerja Anda.  

 Gunakan alat, pustaka, dan sistem yang merekam pengukuran kinerja terkait kinerja basis data. 

## Langkah implementasi
<a name="implementation-steps"></a>

1.  Identifikasi metrik kinerja utama yang perlu dilacak oleh penyimpanan data Anda. 

   1.  [Metrik dan dimensi Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/metrics-dimensions.html) 

   1.  [Memantau metrik untuk instans Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Monitoring.html) 

   1.  [Memantau beban DB dengan Wawasan Performa di Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html) 

   1.  [Ikhtisar Pemantauan yang Ditingkatkan](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.overview.html) 

   1.  [Metrik dan dimensi DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/metrics-dimensions.html) 

   1.  [Memantau DynamoDB Accelerator](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DAX.Monitoring.html) 

   1.  [Memantau Amazon MemoryDB dengan Amazon CloudWatch](https://docs.aws.amazon.com/memorydb/latest/devguide/monitoring-cloudwatch.html) 

   1.  [Metrik Mana yang Harus Saya Pantau?](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheMetrics.WhichShouldIMonitor.html) 

   1.  [Memantau kinerja klaster Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/metrics.html) 

   1.  [Metrik dan dimensi Timestream](https://docs.aws.amazon.com/timestream/latest/developerguide/metrics-dimensions.html) 

   1.  [Metrik Amazon CloudWatch untuk Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraMonitoring.Metrics.html) 

   1.  [Pencatatan log dan pemantauan di Amazon Keyspaces (for Apache Cassandra)](https://docs.aws.amazon.com/keyspaces/latest/devguide/monitoring.html) 

   1.  [Memantau Sumber Daya Amazon Neptune](https://docs.aws.amazon.com/neptune/latest/userguide/monitoring.html) 

1.  Gunakan solusi pencatatan log dan pemantauan yang disetujui untuk mengumpulkan metrik ini. [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) dapat mengumpulkan metrik di seluruh sumber daya dalam arsitektur Anda. Anda juga dapat mengumpulkan dan memublikasikan metrik kustom untuk memunculkan metrik turunan (derived metric) atau bisnis. Gunakan CloudWatch atau solusi pihak ketiga untuk menetapkan alarm yang memberikan indikasi saat ambang batas terlampaui. 

1.  Periksa apakah pemantauan penyimpanan data dapat terbantu dengan solusi machine learning yang mendeteksi anomali kinerja. 

   1.  [Amazon DevOps Guru untuk Amazon RDS](https://docs.aws.amazon.com/devops-guru/latest/userguide/working-with-rds.overview.how-it-works.html) menyediakan visibilitas masalah kinerja dan memberikan saran tindakan perbaikan. 

1.  Konfigurasikan retensi data dalam solusi pemantauan dan pencatatan log Anda agar sesuai dengan tujuan keamanan dan operasional Anda. 

   1.  [Retensi data default untuk metrik CloudWatch](https://aws.amazon.com/cloudwatch/faqs/#AWS_resource_.26_custom_metrics_monitoring) 

   1.  [Retensi data default untuk CloudWatch Logs](https://aws.amazon.com/cloudwatch/faqs/#Log_management) 

## Sumber daya
<a name="resources"></a>

 **Dokumen terkait:** 
+  [Caching Basis Data AWS](https://aws.amazon.com/caching/database-caching/) 
+  [10 kiat performa terbaik Amazon Athena](https://aws.amazon.com/blogs/big-data/top-10-performance-tuning-tips-for-amazon-athena/) 
+  [Praktik terbaik Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.BestPractices.html) 
+  [DynamoDB Accelerator](https://aws.amazon.com/dynamodb/dax/) 
+  [Praktik terbaik Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/BestPractices.html) 
+  [Praktik terbaik Amazon Redshift Spectrum](https://aws.amazon.com/blogs/big-data/10-best-practices-for-amazon-redshift-spectrum/) 
+  [Performa Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/c_challenges_achieving_high_performance_queries.html) 
+  [Basis Data Cloud dengan AWS](https://aws.amazon.com/products/databases/) 
+  [Wawasan Kinerja Amazon RDS](https://aws.amazon.com/rds/performance-insights/) 

 **Video terkait:** 
+  [Basis data yang dibuat khusus AWS](https://www.youtube.com/watch?v=q81TVuV5u28) 
+  [Penjelasan penyimpanan Amazon Aurora: Cara kerjanya](https://www.youtube.com/watch?v=uaQEGLKtw54) 
+  [Pendalaman Amazon DynamoDB: Pola desain lanjutan](https://www.youtube.com/watch?v=6yqfmXiZTlM) 
+  [Praktik Terbaik untuk Memantau Beban Kerja Redis di Amazon ElastiCache](https://www.youtube.com/watch?v=c-hTMLN35BY&ab_channel=AWSOnlineTechTalks) 

 **Contoh terkait:** 
+  [Tingkat 100: Pemantauan dengan Dasbor CloudWatch](https://wellarchitectedlabs.com/performance-efficiency/100_labs/100_monitoring_with_cloudwatch_dashboards/) 
+  [Kerangka Kerja Pengumpulan Metrik Penyerapan Set Data AWS](https://github.com/awslabs/aws-dataset-ingestion-metrics-collection-framework) 
+  [Lokakarya Pemantauan Amazon RDS](https://www.workshops.aws/?tag=Enhanced%20Monitoring) 

# PERF03-BP04 Menerapkan strategi untuk meningkatkan kinerja kueri di penyimpanan data
<a name="perf_data_implement_strategies_to_improve_query_performance"></a>

 Terapkan strategi untuk mengoptimalkan data dan meningkatkan kueri data untuk memungkinkan skalabilitas yang lebih besar dan kinerja yang efisien untuk beban kerja Anda. 

 **Antipola umum:** 
+  Anda tidak mempartisi data di penyimpanan data Anda. 
+  Anda menyimpan data hanya dalam satu format file di penyimpanan data Anda. 
+  Anda tidak menggunakan indeks di penyimpanan data Anda. 

 **Manfaat menjalankan praktik terbaik ini:** Optimisasi data dan performa kueri menghasilkan efisiensi yang lebih tinggi, biaya lebih rendah, dan pengalaman pengguna yang lebih baik. 

 **Tingkat risiko yang terjadi jika praktik terbaik ini tidak dijalankan:** Sedang 

## Panduan implementasi
<a name="implementation-guidance"></a>

Pengoptimalan data dan penyetelan kueri adalah aspek penting efisiensi kinerja di penyimpanan data, karena berdampak pada kinerja dan responsivitas seluruh beban kerja cloud. Kueri yang tidak dioptimalkan dapat menghasilkan penggunaan dan kemacetan sumber daya yang lebih besar, yang mengurangi keseluruhan efisiensi sebuah penyimpanan data. 

Pengoptimalan data mencakup beberapa teknik untuk memastikan penyimpanan dan akses data yang efisien. Hal ini juga membantu meningkatkan performa kueri di penyimpanan data. Strategi utama mencakup partisi data, kompresi data, dan denormalisasi data, yang membantu data dioptimalkan untuk penyimpanan dan akses.

### Langkah implementasi
<a name="implementation-steps"></a>
+  Pahami dan analisis kueri data penting yang dilakukan di penyimpanan data Anda. 
+  Identifikasi kueri lambat di penyimpanan data Anda dan gunakan rencana kueri untuk memahami statusnya saat ini. 
  +  [Menganalisis rencana kueri di Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/c-analyzing-the-query-plan.html) 
  +  [Menggunakan EXPLAIN dan EXPLAIN ANALYZE di Athena](https://docs.aws.amazon.com/athena/latest/ug/athena-explain-statement.html) 
+  Terapkan strategi untuk meningkatkan kinerja kueri. Beberapa strategi utamanya meliputi: 
  +  Menggunakan [format file kolom](https://docs.aws.amazon.com/athena/latest/ug/columnar-storage.html) (seperti Parquet atau ORC). 
  + Mengompresi data di penyimpanan data untuk mengurangi ruang penyimpanan dan operasi I/O.
  +  Partisi data untuk membagi data menjadi bagian-bagian yang lebih kecil dan mengurangi waktu pemindaian data. 
    + [ Mempartisi data di Athena ](https://docs.aws.amazon.com/athena/latest/ug/partitions.html)
    + [ Partisi dan distribusi data ](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.Partitions.html)
  +  Pengindeksan data pada kolom umum dalam kueri. 
  +  Pilih operasi gabungan yang tepat untuk kueri. Saat Anda menggabungkan dua tabel, tentukan tabel yang lebih besar di sisi kiri gabungan dan tabel yang lebih kecil di sisi kanan gabungan. 
  +  Solusi caching terdistribusi untuk meningkatkan latensi dan mengurangi jumlah operasi I/O basis data. 
  +  Pemeliharaan rutin seperti mengeksekusi statistik. 
+  Lakukan eksperimen dan uji strategi di lingkungan nonproduksi. 

## Sumber daya
<a name="resources"></a>

 **Dokumen terkait:** 
+  [Praktik terbaik Amazon Aurora ](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.BestPractices.html?ref=wellarchitected) 
+  [Performa Amazon Redshift ](https://docs.aws.amazon.com/redshift/latest/dg/c_challenges_achieving_high_performance_queries.html?ref=wellarchitected) 
+  [10 kiat performa terbaik Amazon Athena](https://aws.amazon.com/blogs/big-data/top-10-performance-tuning-tips-for-amazon-athena/?ref=wellarchitected) 
+  [Caching Basis Data AWS ](https://aws.amazon.com/caching/database-caching/?ref=wellarchitected) 
+  [Praktik Terbaik untuk Mengimplementasikan Amazon ElastiCache](https://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/BestPractices.html) 
+  [Mempartisi data di Athena](https://docs.aws.amazon.com/athena/latest/ug/partitions.html) 

 **Video terkait:** 
+  [Optimalkan Pola Data menggunakan Pembagian Data Amazon Redshift](https://wellarchitectedlabs.com/sustainability/300_labs/300_optimize_data_pattern_using_redshift_data_sharing/) 
+  [Mengoptimalkan Kueri Amazon Athena dengan Alat Analisis Kueri Baru ](https://www.youtube.com/watch?v=7JUyTqglmNU&ab_channel=AmazonWebServices) 

 **Contoh terkait:** 
+  [Driver CSI Amazon EFS](https://github.com/kubernetes-sigs/aws-efs-csi-driver) 

# PERF03-BP05 Mengimplementasikan pola akses data yang memanfaatkan caching
<a name="perf_data_access_patterns_caching"></a>

 Implementasikan pola akses yang dapat memanfaatkan caching data untuk pengambilan cepat data yang sering diakses. 

 **Antipola umum:** 
+  Anda menyimpan cache data yang sering berubah. 
+  Anda mengandalkan data dalam cache seolah-olah data tersebut disimpan dengan durabilitas tinggi dan selalu tersedia. 
+  Anda tidak mempertimbangkan konsistensi data cache Anda. 
+  Anda tidak memantau efisiensi implementasi caching Anda. 

 **Manfaat menjalankan praktik terbaik ini:** Menyimpan data dalam cache dapat meningkatkan latensi baca, throughput baca, pengalaman pengguna, dan efisiensi secara keseluruhan, serta mengurangi biaya. 

 **Tingkat risiko yang terjadi jika praktik terbaik ini tidak dijalankan**: Sedang 

## Panduan implementasi
<a name="implementation-guidance"></a>

 Cache adalah komponen perangkat lunak atau perangkat keras yang dimaksudkan untuk menyimpan data sehingga permintaan di masa mendatang untuk data yang sama dapat dilayani lebih cepat atau lebih efisien. Data yang disimpan dalam cache dapat direkonstruksi jika hilang dengan mengulangi perhitungan sebelumnya atau mengambilnya dari tempat penyimpanan data lain. 

 Caching data dapat menjadi salah satu strategi paling efektif untuk meningkatkan performa aplikasi Anda secara keseluruhan dan mengurangi beban pada sumber data primer yang mendasarinya. Data dapat di-cache di berbagai tingkatan dalam aplikasi, seperti di dalam aplikasi yang membuat panggilan jarak jauh, yang dikenal sebagai *caching sisi klien*, atau dengan menggunakan layanan sekunder cepat untuk menyimpan data, yang dikenal sebagai *caching jarak jauh*. 

 **Caching sisi klien** 

 Dengan caching sisi klien, setiap klien (aplikasi atau layanan yang mengkueri penyimpanan data backend) dapat menyimpan hasil kueri unik mereka secara lokal selama jangka waktu tertentu. Hal ini dapat mengurangi jumlah permintaan di seluruh jaringan ke sebuah penyimpanan data dengan memeriksa cache klien lokal terlebih dahulu. Jika hasilnya tidak ada, aplikasi kemudian dapat mengkueri penyimpanan data tersebut dan menyimpan hasilnya secara lokal. Dengan pola ini, setiap klien dapat menyimpan data di lokasi terdekat (klien itu sendiri), sehingga menghasilkan latensi serendah mungkin. Klien juga dapat terus melayani beberapa kueri ketika penyimpanan data backend tidak tersedia, sehingga meningkatkan ketersediaan sistem secara keseluruhan. 

 Salah satu kelemahan pendekatan ini adalah ketika ada beberapa klien yang dilibatkan, semuanya dapat menyimpan data cache yang sama secara lokal. Hal ini mengakibatkan penggunaan penyimpanan duplikat dan inkonsistensi data antara klien-klien tersebut. Salah satu klien mungkin melakukan caching hasil kueri, dan satu menit kemudian klien lainnya dapat menjalankan kueri yang sama dan mendapatkan hasil yang berbeda. 

 **Caching jarak jauh** 

 Untuk mengatasi masalah duplikat data antarklien, layanan eksternal yang cepat, atau *cache jarak jauh*, dapat digunakan untuk menyimpan data yang dikueri. Alih-alih memeriksa penyimpanan data lokal, setiap klien akan memeriksa cache jarak jauh sebelum mengkueri penyimpanan data backend. Strategi ini memungkinkan respons yang lebih konsisten antarklien, efisiensi yang lebih baik pada data yang disimpan, dan volume data cache yang lebih tinggi karena ruang penyimpanannya diskalakan tanpa terikat klien. 

 Kelemahan cache jarak jauh adalah keseluruhan sistem mungkin mengalami latensi yang lebih tinggi karena diperlukan lompatan jaringan tambahan untuk memeriksa cache jarak jauh. Caching sisi klien dapat digunakan bersama caching jarak jauh untuk caching multitingkat sehingga dapat memperbaiki latensi. 

### Langkah implementasi
<a name="implementation-steps"></a>

1.  Identifikasikan basis data, API, dan layanan jaringan yang dapat memanfaatkan caching. Layanan yang memiliki beban kerja baca yang berat, memiliki rasio baca-tulis yang tinggi, atau mahal untuk diskalakan dapat memanfaatkan caching. 
   +  [Caching Basis Data](https://aws.amazon.com/caching/database-caching/) 
   +  [Mengaktifkan caching API untuk meningkatkan responsivitas](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html) 

1.  Identifikasikan jenis strategi caching yang tepat yang paling sesuai dengan pola akses Anda. 
   +  [Strategi caching](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Strategies.html) 
   +  [Solusi Caching AWS](https://aws.amazon.com/caching/aws-caching/) 

1.  Ikuti [Praktik Terbaik Caching](https://aws.amazon.com/caching/best-practices/) untuk penyimpanan data Anda. 

1.  Konfigurasikan strategi pembatalan cache, seperti time-to-live (TTL), untuk semua data yang menyeimbangkan kesegaran data dan mengurangi tekanan pada penyimpanan data backend. 

1.  Aktifkan fitur seperti percobaan ulang koneksi otomatis, mundur eksponensial, batas waktu sisi klien, dan pooling koneksi di dalam klien, jika tersedia, karena fitur-fitur tersebut dapat meningkatkan performa dan keandalan. 
   +  [Praktik terbaik: Klien Redis dan Amazon ElastiCache (Redis OSS)](https://aws.amazon.com/blogs/database/best-practices-redis-clients-and-amazon-elasticache-for-redis/) 

1.  Pantau laju hit cache dengan target 80% atau lebih tinggi. Nilai yang lebih rendah mungkin menunjukkan ukuran cache yang tidak mencukupi atau pola akses yang tidak diuntungkan dengan caching. 
   +  [Metrik mana yang harus saya pantau?](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheMetrics.WhichShouldIMonitor.html) 
   +  [Praktik terbaik untuk memantau beban kerja Redis di Amazon ElastiCache](https://www.youtube.com/watch?v=c-hTMLN35BY) 
   +  [Praktik terbaik pemantauan dengan Amazon ElastiCache (Redis OSS) menggunakan Amazon CloudWatch](https://aws.amazon.com/blogs/database/monitoring-best-practices-with-amazon-elasticache-for-redis-using-amazon-cloudwatch/) 

1.  Implementasikan [replikasi data](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Replication.Redis.Groups.html) untuk melimpahkan baca ke beberapa instans dan meningkatkan performa dan ketersediaan pembacaan data. 

## Sumber daya
<a name="resources"></a>

 **Dokumen terkait:** 
+  [Menggunakan Amazon ElastiCache Well-Architected Lens](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/WellArchitechtedLens.html) 
+  [Praktik terbaik pemantauan dengan Amazon ElastiCache (Redis OSS) menggunakan Amazon CloudWatch](https://aws.amazon.com/blogs/database/monitoring-best-practices-with-amazon-elasticache-for-redis-using-amazon-cloudwatch/) 
+  [Metrik Mana yang Harus Saya Pantau?](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheMetrics.WhichShouldIMonitor.html) 
+  [Laporan resmi Performa pada Skala Besar dengan Amazon ElastiCache](https://docs.aws.amazon.com/whitepapers/latest/scale-performance-elasticache/scale-performance-elasticache.html) 
+  [Tantangan dan strategi caching](https://aws.amazon.com/builders-library/caching-challenges-and-strategies/) 

 **Video terkait:** 
+  [Jalur Pembelajaran Amazon ElastiCache](https://pages.awscloud.com/GLB-WBNR-AWS-OTT-2021_LP_0003-DAT_AmazonElastiCache.html) 
+  [Desain untuk keberhasilan dengan praktik terbaik Amazon ElastiCache](https://youtu.be/_4SkEy6r-C4) 

 **Contoh terkait:** 
+  [Meningkatkan performa basis data MySQL dengan strategi pemberian tag Amazon ElastiCache (Redis OSS)](https://aws.amazon.com/getting-started/hands-on/boosting-mysql-database-performance-with-amazon-elasticache-for-redis/) 