PERF03-BP01 Menggunakan penyimpanan data yang dibuat khusus yang paling mendukung persyaratan akses dan penyimpanan data Anda - AWS Well-Architected Framework

PERF03-BP01 Menggunakan penyimpanan data yang dibuat khusus yang paling mendukung persyaratan akses dan penyimpanan data Anda

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

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

  • 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 tempat penyimpanan data (layanan penyimpanan dan basis 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. Berikut adalah beberapa contoh teknologi penyimpanan serta karakteristik utamanya:

    Type (Jenis) Layanan AWS Karakteristik utama
    Object storage Amazon S3 Unlimited scalability, high availability, and multiple options for accessibility. Transferring and accessing objects in and out of Amazon S3 can use a service, such as Transfer Acceleration or Access Points, to support your location, security needs, and access patterns.
    Archiving storage Amazon Glacier Built for data archiving.
    Streaming storage

    Amazon Kinesis

    Amazon Managed Streaming for Apache Kafka (Amazon MSK)

    Efficient ingestion and storage of streaming data.
    Shared file system

    Amazon Elastic File System (Amazon EFS)

    Sistem file yang dapat dipasang yang dapat diakses oleh berbagai jenis solusi komputasi.

    Shared file system Amazon FSx Built on the latest AWS compute solutions to support four commonly used file systems: NetApp ONTAP, OpenZFS, Windows File Server, and Lustre. Amazon FSx latensi, throughput, dan IOPS vary per file system and should be considered when selecting the right file system for your workload needs.
    Block storage Amazon Elastic Block Store (Amazon EBS) Scalable, high-performance block-storage service designed for Amazon Elastic Compute Cloud (Amazon EC2). Amazon EBS includes SSD-backed storage for transactional, IOPS-intensive workloads and HDD-backed storage for throughput-intensive workloads.
    Relational database Amazon AuroraAmazon RDSAmazon Redshift. Designed to support ACID (atomicity, consistency, isolation, durability) transactions, and maintain referential integrity and strong data consistency. Many traditional applications, enterprise resource planning (ERP), customer relationship management (CRM), and ecommerce use relational databases to store their data.
    Key-value database Amazon DynamoDB Optimized for common access patterns, typically to store and retrieve large volumes of data. High-traffic web apps, ecommerce systems, and gaming applications are typical use-cases for key-value databases.
    Document database Amazon DocumentDB Designed to store semi-structured data as JSON-like documents. These databases help developers build and update applications such as content management, catalogs, and user profiles quickly. 
    In-memory database Amazon ElastiCache , Amazon MemoryDB for Redis Used for applications that require real-time access to data, lowest latency and highest throughput. You may use in-memory databases for application caching, session management, gaming leaderboards, low latency ML feature store, microservices messaging system, and a high-throughput streaming mechanism
    Graph database Amazon Neptune Used for applications that must navigate and query millions of relationships between highly connected graph datasets with millisecond latency at large scale. Many companies use graph databases for fraud detection, social networking, and recommendation engines.
    Time Series database Amazon Timestream Used to efficiently collect, synthesize, and derive insights from data that changes over time. IoT applications, DevOps, and industrial telemetry can utilize time-series databases.
    Wide column Amazon Keyspaces (untuk Apache Cassandra) Uses tables, rows, and columns, but unlike a relational database, the names and format of the columns can vary from row to row in the same table. You typically see a wide column store in high scale industrial apps for equipment maintenance, fleet management, and route optimization. 
    Ledger Amazon Quantum Ledger Database (Amazon QLDB) Provides a centralized and trusted authority to maintain a scalable, immutable, and cryptographically verifiable record of transactions for every application. We see ledger databases used for systems of record, supply chain, registrations, and even banking transactions.  
  • Jika Anda sedang membangun platform data, manfaatkan arsitektur data modern di AWS untuk mengintegrasikan danau data, gudang data, dan penyimpanan data yang dibuat khusus.

  • Pertanyaan kunci yang perlu Anda pertimbangkan saat memilih penyimpanan data untuk beban kerja Anda adalah sebagai berikut:

    Question Things to consider
    How is the data structured?
    What level of referential integrity is required?
    • Untuk kendala utama asing, basis data relasional seperti Amazon RDS dan Aurora dapat memberikan tingkat integritas ini.

    • Biasanya, dalam model data NoSQL, Anda akan melakukan denormalisasi data menjadi satu dokumen atau kumpulan dokumen untuk diambil dalam satu permintaan dan bukannya digabungkan dalam berbagai dokumen atau tabel. 

    Is ACID (atomicity, consistency, isolation, durability) compliance required?
    • Jika diperlukan sifat ACID yang terkait dengan basis data relasional, pertimbangkan basis data relasional seperti Amazon RDS dan Aurora.

    • Jika diperlukan konsistensi tinggi untuk basis data NoSQL, Anda dapat menggunakan bacaan sangat konsisten dengan DynamoDB.

    How will the storage requirements change over time? How does this impact scalability?
    • Basis data nirserver seperti DynamoDB dan Amazon Quantum Ledger Database (Amazon QLDB) akan menskalakan secara dinamis.

    • Basis data relasional memiliki batas atas terkait penyimpanan yang tersedia, dan sering kali harus dipartisi secara horizontal menggunakan mekanisme seperti serpihan setelah penyimpanan tersebut mencapai batas ini.

    What is the proportion of read queries in relation to write queries? Would caching be likely to improve performance?
    • Beban kerja intensif baca dapat diuntungkan dari lapisan caching, seperti ElastiCache atau DAX jika basis datanya adalah DynamoDB.

    • Bacaan juga dapat dilimpahkan ke replika baca dengan basis data relasional seperti Amazon RDS.

    Does storage and modification (OLTP - Online Transaction Processing) or retrieval and reporting (OLAP - Online Analytical Processing) have a higher priority?
    • Untuk pemrosesan transaksional baca apa adanya throughput tinggi, pertimbangkan basis data NoSQL seperti DynamoDB.

    • Untuk throughput tinggi dan pola baca yang kompleks (seperti join) dengan konsistensi, gunakan Amazon RDS.

    • Untuk kueri analitis, pertimbangkan basis data kolom seperti Amazon Redshift atau mengekspor data ke Amazon S3 dan melakukan analitik menggunakan Athena atau Amazon Quick.

    What level of durability does the data require?
    • Aurora secara otomatis mereplikasi data Anda di tiga Zona Ketersediaan dalam satu Wilayah, yang artinya data Anda sangat tahan lama dengan lebih sedikit kemungkinan hilangnya data.

    • DynamoDB secara otomatis direplikasi di beberapa Zona Ketersediaan, memberikan durabilitas data dan ketersediaan tinggi.

    • Amazon S3 memberikan 11 sembilan durabilitas. Banyak layanan basis data seperti Amazon RDS dan DynamoDB mendukung ekspor data ke Amazon S3 untuk pengarsipan dan retensi jangka panjang.

    Is there a desire to move away from commercial database engines or licensing costs?
    What is the operational expectation for the database? Is moving to managed services a primary concern?
    • Pemanfaatan Amazon RDS sebagai ganti Amazon EC2, dan DynamoDB atau Amazon DocumentDB sebagai ganti hosting mandiri basis data NoSQL dapat mengurangi biaya tambahan operasional.

    How is the database currently accessed? Is it only application access, or are there business intelligence (BI) users and other connected off-the-shelf applications?
    • Jika Anda memiliki ketergantungan pada alat eksternal maka Anda mungkin harus mempertahankan kompatibilitas dengan basis data yang didukungnya. Amazon RDS sepenuhnya kompatibel dengan berbagai versi mesin yang didukungnya, termasuk Microsoft SQL Server, Oracle, MySQL, dan PostgreSQL.

  • 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

Dokumen terkait:

Video terkait:

Contoh terkait: