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 Efficient ingestion and storage of streaming data. Shared file system 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 Aurora , Amazon RDS , Amazon 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? -
Jika data tidak terstruktur, pertimbangkan penyimpanan objek seperti Amazon S3
atau basis data NoSQL seperti Amazon DocumentDB -
Untuk data nilai kunci, pertimbangkan DynamoDB
, Amazon ElastiCache (Redis OSS) atau Amazon MemoryDB
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? -
Pertimbangkan mesin sumber terbuka seperti PostgreSQL dan MySQL di Amazon RDS atau Aurora.
-
Manfaatkan AWS Database Migration Service
dan AWS Schema Conversion Tool untuk melakukan migrasi dari mesin basis data komersial ke sumber terbuka
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:
-
AWS re:Invent 2023: Tingkatkan efisiensi Amazon Elastic Block Store dan menjadi lebih hemat biaya
-
AWS re:Invent 2023: Membangun dan mengoptimalkan danau data di Amazon Simple Storage Service
-
AWS re:Invent 2023: Memahami lebih dalam tentang Amazon Aurora dan inovasinya
-
AWS re:Invent 2023: Pemodelan data lanjutan dengan Amazon DynamoDB
-
AWS re:Invent 2022: Lakukan modernisasi aplikasi dengan basis data yang dibuat khusus
Contoh terkait: