PERF03-BP01 Utiliser un magasin de données dédié le mieux adapté à vos besoins en matière de stockage des données et d’accès aux données
Comprenez les caractéristiques des données (telles que la possibilité de partage, la taille, la taille du cache, les modèles d’accès, la latence, le débit et la persistance des données) afin de sélectionner les magasins de données dédiés (stockage ou base de données) adaptés à votre charge de travail.
Anti-modèles courants :
-
Vous vous en tenez à un magasin de données, car l’équipe interne sait comment tirer parti de ce type de solution en particulier.
-
Vous partez du principe que toutes les charges de travail ont des exigences similaires en termes de stockage de données et d’accès aux données.
-
Vous n’avez pas implémentée de catalogue de données pour inventorier vos ressources de données.
Avantages liés au respect de cette bonne pratique : comprendre les caractéristiques des données et les exigences vous permet de déterminer la technologie de stockage la plus efficace et la plus performante pour répondre à vos besoins en matière de charge de travail.
Niveau de risque exposé si cette bonne pratique n’est pas établie : élevé
Directives d’implémentation
Lors de la sélection et de la mise en œuvre du stockage des données, assurez-vous que les caractéristiques d’interrogation, de mise à l’échelle et de stockage répondent aux exigences en matière de données de charge de travail. AWS fournit de nombreuses technologies de stockage de données et de base de données, notamment le stockage par blocs, le stockage d’objets, le stockage en continu, le système de fichiers et les bases de données relationnelles, clé-valeur, document, en mémoire, orientées graphe, de séries chronologiques et de registre. Chaque solution de gestion de données propose des options et des configurations pour prendre en charge vos cas d’utilisation et vos modèles de données. En comprenant les caractéristiques et les exigences des données, vous pouvez vous affranchir de la technologie de stockage monolithique et des approches restrictives et universelles pour vous concentrer sur la gestion appropriée des données.
Étapes d’implémentation
-
Procédez à l’inventaire des différents types de données qui existent dans votre charge de travail.
-
Comprenez et documentez les caractéristiques et les exigences des données, notamment :
-
Type de données (non structurées, semi-structurées, relationnelles)
-
Volume et croissance des données
-
Durabilité des données : persistantes, éphémères, temporaires
-
Exigences ACID (atomicité, cohérence, isolement, durabilité)
-
Modèles d’accès aux données (à lecture intensive ou à écriture intensive)
-
Latence
-
débit
-
IOPS (opérations d’entrée/sortie par seconde)
-
Durée de conservation des données
-
-
Découvrez les différents magasins de données disponibles (services de stockage et de base de données) disponibles pour votre charge de travail AWS qui peuvent répondre aux caractéristiques de vos données, telles qu’elles sont décrites dans PERF01-BP01 Découvrir et se familiariser avec les services et fonctionnalités cloud disponibles. Voici quelques exemples de technologies de stockage AWS et leurs principales caractéristiques :
Type Services AWS Principales caractéristiques 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 Points d’accès , 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 Système de fichiers montable auquel plusieurs types de solutions informatiques peuvent accéder.
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 La latence, le débit et les 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 (pour 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. -
Si vous créez une plateforme de données, tirez parti de l’architecture de données moderne
sur AWS pour intégrer votre lac de données, votre entrepôt des données et vos magasins de données dédiés. -
Les principales questions que vous devez vous poser lors du choix d’un magasin de données pour votre charge de travail sont les suivantes :
Question Things to consider How is the data structured? -
Si les données ne sont pas structurées, envisagez d’utiliser un magasin d’objets tel que Amazon S3
ou une base de données NoSQL telle que Amazon DocumentDB -
Pour les données clé-valeur, envisagez d’utiliser DynamoDB
, Amazon ElastiCache (Redis OSS) ou Amazon MemoryDB
What level of referential integrity is required? -
Pour les contraintes de clé étrangère, les bases de données relationnelles telles que Amazon RDS
et Aurora peuvent fournir ce niveau d’intégrité. -
En règle générale, dans un modèle de données NoSQL, vous dénormalisez les données en un seul document ou en une collection de documents à récupérer en une seule requête au lieu de joindre des documents ou des tables.
Is ACID (atomicity, consistency, isolation, durability) compliance required? -
Si les propriétés ACID associées aux bases de données relationnelles sont requises, envisagez d’utiliser une base de données relationnelle telle que Amazon RDS
et Aurora . -
Si une forte cohérence est requise pour la base de données NoSQL
, vous pouvez utiliser des lectures fortement cohérentes avec DynamoDB .
How will the storage requirements change over time? How does this impact scalability? -
Les bases de données sans serveur telles que DynamoDB
et Amazon Quantum Ledger Database (Amazon QLDB) seront mises à l’échelle de manière dynamique. -
Les bases de données relationnelles ont des limites supérieures sur le stockage alloué et doivent souvent être partitionnées horizontalement à l’aide de mécanismes tels que le partitionnement une fois qu’elles atteignent ces limites.
What is the proportion of read queries in relation to write queries? Would caching be likely to improve performance? -
Les charges de travail à lecture intensive peuvent bénéficier d’une couche de mise en cache, comme ElastiCache
ou DAX si la base de données est DynamoDB. -
Les lectures peuvent également être déchargées pour lire des réplicas avec des bases de données relationnelles comme Amazon RDS
.
Does storage and modification (OLTP - Online Transaction Processing) or retrieval and reporting (OLAP - Online Analytical Processing) have a higher priority? -
Pour un traitement transactionnel des lectures en l’état à haut débit, envisagez d’utiliser une base de données NoSQL comme DynamoDB.
-
Pour des modèles de lecture complexes à haut débit (tels que la jointure) avec cohérence, utilisez Amazon RDS.
-
Pour les requêtes analytiques, envisagez d’utiliser une base de données orientée colonnes, telle que Amazon Redshift
, ou d’exporter les données vers Amazon S3 et d’effectuer une analyse à l’aide d’Athena ou d’Amazon Quick .
What level of durability does the data require? -
Aurora réplique automatiquement vos données sur trois zones de disponibilité au sein d’une région. Autrement dit, vos données sont très durables avec moins de risque de perte de données.
-
DynamoDB est automatiquement répliqué sur plusieurs zones de disponibilité, assurant ainsi la haute disponibilité et la durabilité des données.
-
Amazon S3 offre une durabilité de 99,999999999 %. De nombreux services de base de données, tels que Amazon RDS et DynamoDB, prennent en charge l’exportation des données vers Amazon S3 pour une conservation et un archivage à long terme.
Is there a desire to move away from commercial database engines or licensing costs? -
Envisagez d’utiliser des moteurs open source tels que PostgreSQL et MySQL sur Amazon RDS ou Aurora.
-
Tirez parti d’AWS Database Migration Service
et d’AWS Schema Conversion Tool pour migrer des moteurs de bases de données commerciaux vers des moteurs open source.
What is the operational expectation for the database? Is moving to managed services a primary concern? -
L’utilisation d’Amazon RDS au lieu d’Amazon EC2 et de DynamoDB ou d’Amazon DocumentDB au lieu de l’auto-hébergement d’une base de données NoSQL contribue à réduire les frais généraux opérationnels.
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? -
Si vous dépendez d’outils externes, vous devrez peut-être préserver la compatibilité avec les bases de données qu’ils prennent en charge. Amazon RDS est entièrement compatible avec les différentes versions de moteur qu’il prend en charge, notamment Microsoft SQL Server, Oracle, MySQL et PostgreSQL.
-
-
Réalisez des tests et procédez au benchmarking dans un environnement hors production afin d’identifier le magasin de données qui peut répondre à vos exigences en termes de charge de travail.
Ressources
Documents connexes :
-
Amazon EFS : performances d’Amazon EFS (langue française non garantie)
-
Performances d’Amazon FSx for Lustre (langue française non garantie)
-
Performances d’Amazon FSx for Windows File Server (langue française non garantie)
-
Schémas de conception des bonnes pratiques : optimisation des performances Amazon S3
-
Caractéristiques d’E/S d’Amazon EBS (langue française non garantie)
-
Mise en cache de bases de données AWS
(langue française non garantie) -
Performances d’Amazon Redshift (langue française non garantie)
-
Les 10 meilleures techniques pour améliorer les performances d’Amazon Athena
(langue française non garantie) -
Bonnes pratiques Amazon Redshift Spectrum
(langue française non garantie) -
Bonnes pratiques Amazon DynamoDB (langue française non garantie)
-
Choisir entre Amazon EC2 et Amazon RDS (langue française non garantie)
Vidéos connexes :
-
AWS re:Invent 2023: Improve Amazon Elastic Block Store efficiency and be more cost-efficient
-
AWS re:Invent 2023: Optimizing storage price and performance with Amazon Simple Storage Service
-
AWS re:Invent 2023: Building and optimizing a data lake on Amazon Simple Storage Service
-
AWS re:Invent 2022: Building modern data architectures on AWS
-
AWS re:Invent 2023: Deep dive into Amazon Aurora and its innovations
-
AWS re:Invent 2023: Advanced data modeling with Amazon DynamoDB
-
AWS re:Invent 2022: Modernize apps with purpose-built databases
Exemples connexes :
-
Exemples Amazon S3 (langue française non garantie)
-
Optimiser le modèle de données à l’aide du partage de données Amazon Redshift
(langue française non garantie) -
MS SQL Server - Démonstration de réplication AWS Database Migration Service (AWS DMS)
(langue française non garantie) -
Exemples Amazon Neptune
(langue française non garantie)