Une base de données NoSQL est utilisée pour stocker des données non structurées. Les données non structurées sont des informations qui ne s’inscrivent pas dans une contrainte. Les bases de données NoSQL stockent les données dans un format non relationnel, ce qui signifie que vous n’avez pas besoin de les placer dans des colonnes prédéfinies. Une base de données NoSQL est souvent utilisée lorsque les développeurs ne connaissent pas la structure de données d’une source, ils stockent donc les données dans une base de données NoSQL sans contraintes relationnelles. Par exemple, au lieu de stocker des données dans des champs, les développeurs peuvent les stocker dans un document JSON.
Les formats non structurés existent dans leurs propres types : document, valeur clé, graphique et famille de colonnes. Le fournisseur NoSQL que vous choisissez stockera les données dans l’un de ces formats, mais ils s’adaptent tous à des silos de stockage d’entreprise capables de gérer de grandes quantités de données. Selon le fournisseur NoSQL, l’interrogation utilise une syntaxe de requête différente de celle des bases de données SQL standard.
Il existe plusieurs bases de données NoSQL dans l’écosystème AWS. Nous en parlerons donc pour vous aider à choisir la solution adaptée à votre projet.
Présentation des bases de données AWS NoSQL
Amazon Web Services (AWS) vous propose plusieurs bases de données NoSQL. Il est important de rechercher chaque fournisseur et ce qu’offre une base de données pour vous assurer qu’elle convient à votre projet commercial, y compris les applications open source. Nous avons inclus plusieurs bases de données AWS NoSQL avec leurs avantages et inconvénients.
Amazon DynamoDB
Amazon DynamoDB est une base de données cloud sans serveur. Dans un environnement sans serveur, le programme de base de données et le matériel s’exécutent entièrement dans le cloud. Cela signifie que votre entreprise n’a pas besoin de gérer une machine virtuelle, un serveur dédié ou toute configuration pour un environnement hybride sur site. Il est avantageux pour les applications open source.
Les développeurs utilisent une API pour envoyer des requêtes à la base de données DynamoDB sans serveur. La base de données envoie ensuite une réponse JSON à l’application du développeur. Les administrateurs peuvent faire évoluer la base de données de manière dynamique et automatique à l’horizontale, ce qui signifie ajouter des serveurs, à mesure que les charges augmentent. Utilisez DynamoDB lorsque vous avez des applications qui doivent stocker de grandes quantités de données et que vous pensez que la base d’utilisateurs et les besoins en stockage de données de l’application augmenteront rapidement.
Amazon DocumentDB
Pour les développeurs connaissant MongoDB, Amazon DocumentDB est similaire et modélisé en fonction de la structure MongoDB. Amazon DocumentDB s’exécute dans un cloud virtuel, il peut donc être séparé des autres serveurs de votre environnement à l’aide de l’abstraction des données. Par exemple, vous pouvez utiliser Amazon DocumentDB pour une application publique où vous avez besoin d’une zone démilitarisée (DMZ) pour vous protéger du trafic Internet. Amazon DocumentDB serait une bonne ressource pour cette architecture.
Amazon DocumentDB stocke les données sous forme d’objet JSON, ce qui facilite l’analyse pour les développeurs. Au lieu de reformater les données à insérer dans la base de données, les développeurs peuvent utiliser l’objet JSON original collecté à partir d’une source. La puissance de calcul est découplée du stockage, ce qui permet aux administrateurs de faire évoluer le stockage sans augmenter la puissance de calcul et de réduire les coûts.
Amazon Neptune
La base de données Amazon Neptune NoSQL fonctionne avec une structure graphique. Une base de données graphique stocke les données dans des nœuds, puis établit des relations entre chaque nœud pour les interroger et les relier ensemble. Les applications de réseaux sociaux utilisent une base de données graphique. Chaque commentaire de profil peut être lié à différents points de données pour déterminer si votre projet est lié d’une manière ou d’une autre à d’autres, y compris à des catégories d’intérêts.
Les entreprises disposant de bases de données mondiales massives peuvent tirer parti d’Amazon Neptune. Il est également avantageux pour les applications d’intelligence artificielle (AI) et d’AI générative (GenAI). Amazon affirme que Neptune peut traiter plus de 100 000 requêtes par seconde et s’adapter à 128TiB par cluster.
Espaces clés Amazon
Comme Amazon Neptune, Amazon Keyspaces est également une base de données graphique. Les entreprises qui collectent des données IoT ou qui collectent des données massives à partir de diverses sources peuvent bénéficier d’Amazon Keyspaces. Par exemple, un fabricant disposant de données IoT collectées pour surveiller les machines peut utiliser Amazon Keyspaces pour stocker, analyser et récupérer plus rapidement des données. Le secteur du jeu utilise également Amazon Keyspaces pour collecter les données des joueurs et gérer les applications nécessaires pour répondre rapidement aux commentaires des joueurs.
Les données chronologiques sont souvent stockées dans les bases de données Amazon Keyspaces, et ce type de données est utilisé dans les applications en temps réel. Chaque solution de base de données AWS offre des temps de réponse rapides, mais Amazon Keyspaces offre la latence la plus faible avec des réponses en une milliseconde. Il évolue également en fonction de la puissance de calcul nécessaire et de la capacité de stockage requise.
Comparaison des bases de données AWS NoSQL
Toutes les bases de données AWS NoSQL prennent en charge le stockage de données volumineux, mais la principale différence réside dans la façon dont les données sont stockées. Une base de données de documents telle que DynamoDB et DocumentDB stocke les informations au format JSON. Les bases de données documentaires sont les plus intuitives pour la plupart des développeurs qui connaissent bien les bases de données relationnelles. Les bases de données graphiques sont avantageuses lorsque vous disposez d’une grande quantité de données associées, et la base de données chronologique Amazon Keyspaces est idéale pour les applications en temps réel.
Les quatre bases de données AWS prennent en charge l’évolutivité et l’exécution dans le cloud, mais DynamoDB sans serveur nécessite moins de frais de gestion du personnel. AWS prend également en charge la sécurité et la surveillance nécessaires pour les bases de données stockant des données sensibles et les réglementations de conformité.
Conclusion
La création d’une application nécessite généralement une base de données, et AWS a une solution pour toutes les exigences de stockage d’entreprise à grande échelle. Parce qu’elles fonctionnent dans le cloud, les entreprises savent que leurs bases de données auront une haute disponibilité avec peu de latence, à condition qu’elles déploient suffisamment de ressources pour gérer les requêtes et le stockage. Pure Storage dispose de la capacité de stockage nécessaire pour n’importe quelle application d’entreprise avec son stockage en mode bloc cloud, et prend en charge les bases de données AWS mentionnées dans cet article.