Les arguments en faveur de bases de données sur mesure

Comment a été ce contenu ?

Par Cullen Dejean, architecte de solutions senior chez AWS, et Matthew de Anda, architecte de solutions pour les start-ups chez AWS.

En tant que start-up en phase de démarrage, vous devez prendre de nombreuses décisions techniques tout en recherchant l'adéquation entre le produit et le marché. Certaines de ces décisions techniques sont réversibles, tandis que d'autres constituent des moments critiques ayant des impacts à long terme. Le choix d'une base de données tend à entrer dans cette dernière catégorie. C'est pourquoi une approche universelle avec une base de données relationnelle ne fonctionne plus. Vous devez prendre du recul et passer en revue les cas d'utilisation exacts que vous avez avant de vous lancer dans la sélection d'une base de données. Ne vous attendez plus à ce qu'une seule base de données puisse tout faire, et choisissez plutôt le service de base de données le mieux adapté à la tâche à accomplir. AWS propose un portefeuille vaste et complet de bases de données sur mesure qui prennent en charge divers modèles de données et vous permettent de créer des applications distribuées hautement évolutives et basées sur les données. Dans ce billet de blog, nous aborderons les facteurs qu'une start-up en phase de démarrage doit prendre en compte lors de l'examen des options de base de données sur AWS.

Facteurs à prendre en compte lors du choix d'une base de données

Expérience

Les start-ups en phase de démarrage doivent se concentrer sur la création d'un produit minimum viable et faire preuve de dynamisme et de croissance. Toute décision doit donc être prise en tenant compte de la rapidité de mise sur le marché et des compétences disponibles. Le choix d'une technologie avec laquelle votre équipe n'a pas d'expérience entraîne souvent une augmentation des délais et rend les produits minimums viables plus difficiles à modifier en réponse aux commentaires des utilisateurs. C'est une raison courante pour laquelle l'utilisation d'une base de données relationnelle peut continuer à être la bonne approche au début. Si votre équipe a de l'expérience avec un service de données spécifique (par exemple, relationnel, documentaire, etc.), commencer par ce service peut être le bon choix.

Future mise à l'échelle

La future mise à l'échelle est un autre facteur auquel les jeunes entreprises en phase de démarrage doivent être attentives. Le choix d'une technologie familière pour accélérer la livraison doit être contrebalancé par une nouvelle analyse du cas d'utilisation et la détermination des besoins futurs en matière de mise à l'échelle. Pouvoir tirer parti de solutions qui évoluent automatiquement avec vous tout en continuant à fonctionner comme prévu peut être un multiplicateur de force. Il est toujours possible de migrer vers une autre technologie ultérieurement, mais gardez à l'esprit que les migrations deviendront de plus en plus complexes à mesure que vos données augmenteront. Certaines migrations, comme celles entre Amazon Relational Database Service (Amazon RDS) et Amazon Aurora, sont réversibles, ce que nous appelons des « décisions bidirectionnelles. » Les décisions bidirectionnelles permettent d'accélérer les expérimentations et d'adopter une approche « d'interruption immédiate. » Dans la section suivante, nous aborderons plus en détail les services de base de données comme Amazon RDS et Aurora.

Bases de données sur mesure et leurs cas d'utilisation

Pendant longtemps, les bases de données relationnelles comme MySQL et Postgres ont dominé le paysage des bases de données. Maintenant, il y a beaucoup plus de types de bases de données parmi lesquels choisir. Pour prendre une décision éclairée, il est utile d'évaluer les bases de données en fonction de leurs caractéristiques d'accès et de la forme des données.

Bases de données relationnelles

Une base de données relationnelle est autodescriptive, car elle permet aux développeurs de définir le schéma de la base de données, ainsi que les relations et les contraintes entre les lignes et les tableaux de la base de données. Les développeurs s'appuient sur les fonctionnalités de la base de données relationnelle et non sur le code de l'application pour appliquer le schéma et préserver l'intégrité référentielle des données de la base de données. Parmi les cas d'utilisation typiques d'une base de données relationnelle, citons les applications Web et mobiles. Les start-ups utilisent Amazon RDS et Amazon Aurora pour des applications évolutives et performantes sur AWS. RDS et Aurora sont des bases de données entièrement gérées et évolutives.

NoSQL : valeur de clé et bases de données document

À mesure que votre système croît, de grandes quantités de données prennent souvent la forme de données clé-valeur, où une seule ligne correspond à une clé primaire. Les bases de données clé-valeur sont hautement partitionnables et permettent une mise à l'échelle horizontale à des niveaux que les autres types de bases de données ne peuvent pas atteindre. Les cas d'utilisation comme les jeux, la technologie publicitaire et l'Internet des objets se prêtent particulièrement bien au modèle de données clé-valeur, dans lequel les modèles d'accès nécessitent des Gets/Puts à faible latence pour les valeurs clés connues.

Amazon DynamoDB est une base de données NoSQL à clé-valeur entièrement gérée, sans serveur, qui fournit des performances de l'ordre de la milliseconde, quelle que soit l'échelle. Pour les cas d'utilisation clé-valeur très performants, nous proposons également Amazon Keyspaces, un service de base de données évolutif, hautement disponible et géré, compatible avec Apache Cassandra.

Un autre type de base de données pertinent est la base de données document. Les bases de données document sont intuitives pour les développeurs, car les données du niveau application sont généralement représentées sous forme de document JSON. Les bases de données document sont populaires pour des cas d'utilisation comme le stockage et l'interrogation de données du système de gestion de contenu, ainsi que la gestion des profils utilisateurs, des préférences et des demandes afin de générer des recommandations et d'activer les transactions.

Pour les données document, les développeurs peuvent conserver les données en utilisant le même format de modèle de document que celui qu'ils utilisent dans le code de leur application, en utilisant le modèle de schéma flexible d'Amazon DocumentDB (compatible avec MongoDB), une base de données entièrement gérée et durable qui permet aux développeurs de gagner en efficacité et de prendre en charge des millions de lectures de documents par seconde tout en mettant à l'échelle le calcul et le stockage indépendamment.

Entrepôts des données

Lorsque vous déterminez le besoin d'entrepôts de données, il est important de faire la distinction entre les bases de données transactionnelles (OLTP) et analytiques (OLAP). Les bases de données OLAP sont des bases de données plus volumineuses destinées à l'entreposage et à l'archivage des données. Pour de nombreuses start-ups en phase de démarrage, envisager Amazon Athena pour gérer les cas d'utilisation OLAP peut être le bon choix. Amazon Athena est une interface de requête SQL sans serveur qui vous permet d'analyser les données stockées dans Amazon Simple Storage Service (Amazon S3) avec du code SQL standard.

Lorsque vos applications commencent à nécessiter des requêtes plus complexes et des SLA plus stricts, la puissance des entrepôts de données peut vous aider à adapter votre stratégie et vos exigences en matière de données. Amazon Redshift est un service d'entrepôt des données à l'échelle du pétaoctet entièrement géré dans le cloud.

Bases de données en mémoire

Les bases de données en mémoire sont utilisées pour les applications qui nécessitent un accès en temps réel aux données fournies avec une latence de l'ordre de la microseconde. Les applications de services financiers, d'e-commerce, web, mobiles et de jeux ont utilisé des bases de données en mémoire pour créer des classements, des magasins de sessions, des mises en cache et des analyses en temps réel. Les bases de données en mémoire peuvent alléger la charge de vos bases de données relationnelles, fournir des résultats à faible latence ou remplacer la base de données relationnelle et servir de principal magasin de données clé-valeur en mémoire.

Amazon ElastiCache facilite la configuration, la gestion et la mise à l'échelle d'un magasin de données en mémoire ou d'un environnement de cache. Amazon ElastiCache fonctionne à la fois avec les moteurs Redis et Memcached. Amazon MemoryDB for Redis est un service de base de données en mémoire durable, compatible avec Redis, qui offre des performances ultrarapides. Il est spécialement conçu pour les applications modernes dotées d'architectures de microservices. Vous pouvez choisir entre ces offres selon que votre cas d'utilisation est éphémère ou nécessite une plus grande durabilité. Amazon ElastiCache est souvent utilisé comme base de données autonome, mais uniquement pour les applications ne nécessitant pas de durabilité. En revanche, MemoryDB est conçue pour être une base de données principale. L'autre facteur serait la familiarité de votre équipe avec les moteurs Redis ou Memcached.

Recherche

Les bases de données de recherche fournissent des analyses et des recherches en temps quasi réel. Les cas d'utilisation courants des bases de données de recherche incluent l'analyse des journaux, la surveillance en temps réel des applications et l'analyse des flux de clics.

Amazon OpenSearch Service vous permet d'effectuer facilement des analyses interactives des journaux, de surveiller les applications en temps réel, de rechercher des sites Web, etc. Amazon OpenSearch Service prend en charge OpenSearch et l'ancien système d'exploitation Elasticsearch.

Bases de données orientées graphe

L'objectif d'une base de données orientée graphe est de faciliter la création et l'exécution d'applications qui fonctionnent avec des jeux de données hautement connectés. Les cas d'utilisation typiques d'une base de données orientée graphe incluent les réseaux sociaux, les moteurs de recommandation, la détection des fraudes et les graphes de connaissances. Pour déterminer si une base de données orientée graphe est le bon choix, il faut d'abord déterminer si les données peuvent être mieux représentées sous forme de structure graphe. L'étendue et la profondeur des relations augmentent-elles ? Les requêtes pour les bases de données relationnelles ralentiront à mesure que les relations deviendront plus complexes. Les modèles eux-mêmes évoluent-ils suffisamment pour que les modifications de schéma deviennent une charge pour votre équipe ? Enfin, devrez-vous répondre à des questions sur les relations entre vos données ? Les bases de données orientées graphe offrent ce type de flexibilité tout en fournissant des requêtes complexes sur ces relations. Amazon Neptune est un service de base de données orientée graphe rapide, fiable et entièrement géré.

Base de données de registre

Les bases de données de registre peuvent aider à suivre l'intégralité de la lignée des données. Amazon Quantum Ledger Database (QLDB) est une base de données de registre entièrement gérée qui fournit un journal des transactions transparent, immuable et vérifiable par cryptographie, appartenant à une autorité centrale de confiance.

Base de données série chronologique

Les bases de données séries chronologiques gèrent les cas d'utilisation dans lesquels les applications traitent des données de séries chronologiques et doivent analyser rapidement ces données à l'aide de fonctions analytiques intégrées. Amazon Timestream est un service de base de données série chronologique rapide, évolutif et sans serveur pour l'IoT et les applications opérationnelles.

Type de base de donnéesCas d'utilisation Service AWS  
RelationnelleApplications traditionnelles, e-commerce, transactions OLTPAmazon Aurora Amazon RDS
Clé-valeurApplications web à trafic élevé, systèmes d'e-commerce, applications de jeux, transactions financièresAmazon DynamoDB Amazon Keyspaces
DocumentGestion de contenu, catalogues, profils utilisateursAmazon DocumentDB Amazon Athena Amazon Elasticache
En mémoireMise en cache, gestion des sessions, tableaux des scores de jeux, applications géospatialesAmazon MemoryDB for Redis
RechercheJournalisation consolidée, recherche personnaliséeAmazon OpenSearch
GrapheDétection des fraudes, réseaux sociaux, profils d'utilisateursAmazon Neptune
RegistreSystèmes d'enregistrement, chaînes logistiques, inscriptions, transactions bancairesAmazon QLDB
Série chronologiqueIoT, DevOps, télémétrie industrielleAmazon Timestream

Conclusion

En tant que start-up, l'une des décisions les plus critiques que vous allez prendre est le type de technologie de base de données à utiliser. Lorsque vous passez en revue les bases de données sur mesure proposées par AWS, commencez par le cas d'utilisation et définissez les exigences nécessaires pour vous aider à filtrer les services de base de données les mieux adaptés. Ajoutez ensuite la rapidité de mise sur le marché et les compétences disponibles de votre équipe, mais veillez à trouver un équilibre entre ces facteurs et vos besoins futurs. Il est important de prendre le temps d'examiner ces facteurs et de sélectionner le service de base de données le mieux adapté à la tâche.

AWS Editorial Team

AWS Editorial Team

L'équipe de marketing de contenu d'AWS Startups collabore avec des startups de toutes tailles et de tous secteurs pour proposer un contenu exceptionnel qui éduque, divertit et inspire.

Comment a été ce contenu ?