Les bases de données NoSQL vous permettent de stocker des données avec un schéma flexible et divers modèles de données. Ces bases de données sont relativement faciles à utiliser pour les développeurs et offrent les hautes performances et la fonctionnalité nécessaires aux applications modernes. Les bases de données NoSQL AWS peuvent contenir de grands volumes de données tout en offrant une faible latence.
Dans le cadre des offres de bases de données AWS, vous pouvez choisir parmi six types de bases de données NoSQL ainsi qu'une variété de services de bases de données gérés et autogérés. Ces services de bases de données sont conçus pour prendre en charge vos charges de travail natives du cloud et s'intégrer facilement aux ressources AWS existantes.
Dans cet article, vous apprendrez :
NoSQL est un terme inventé à l'origine par Carlo Strozzi en 1998 pour désigner une base de données relationnelle open source qui n'utilisait pas le langage SQL. Ensuite, en 2009, le terme a été utilisé à nouveau pour désigner de façon générale les bases de données non relationnelles. Ce terme peut signifier soit « pas de SQL », soit « pas seulement SQL », selon la structure de la base de données à laquelle il s'applique.
Le développement des bases de données NoSQL découle de la croissance des données web, qui a créé un besoin de traitement plus rapide et de traitement des données non structurées. Ces systèmes peuvent être construits sur une architecture distribuée, permettant l'évolutivité et le traitement au plus près de la source de données ou de l'utilisateur, ce qui signifie une plus grande rapidité. Cela s'est avéré particulièrement important pour le développement du big data et a conduit à l'adoption des systèmes NoSQL par de nombreuses entreprises technologiques, notamment Google, Facebook et Twitter.
Il existe six types de modèles de base de données NoSQL parmi lesquels vous pouvez choisir dans AWS.
Les bases de données clé-valeur vous permettent de stocker des données par paires contenant un identifiant unique et une valeur de données. Cela offre une structure de stockage flexible puisque les valeurs ne sont pas affectées à une table et peuvent contenir n'importe quelle quantité ou structure de données. Ces bases de données peuvent gérer de grands volumes de données ou de requêtes. Les bases de données clé-valeur sont notamment utilisées dans les applications de jeux, les systèmes de commerce électronique et les applications à fort trafic.
Service AWS: Amazon DynamoDB
Les bases de données documentaires sont structurées de manière similaire aux bases de données clé-valeur, à l'exception que les clés et les valeurs sont stockées dans des documents écrits dans un langage de balisage tel que JSON, XML ou YAML. Vous pouvez utiliser ces bases de données pour stocker des hiérarchies de données en reliant des documents. Les bases de données documentaires peuvent notamment être utilisées pour les profils utilisateur, les catalogues et la gestion de contenu.
Service AWS : Amazon DocumentDB, DynamoDB
Les bases de données à colonnes larges sont basées sur des tables, mais sans format de colonne strict. Les lignes n'ont pas besoin d'une valeur dans chaque colonne et des segments de lignes et de colonnes contenant différents formats de données peuvent être combinés. Les cas d'utilisation des bases de données à colonnes larges comprennent l'optimisation des itinéraires, la gestion de flotte et les applications de maintenance industrielle.
Service AWS: Amazon Keyspaces (pour Apache Cassandra)
Les bases de données orientées graphe sont structurées comme des collections d'arêtes et de nœuds. Les nœuds sont les valeurs de données individuelles et les arêtes sont les relations entre ces valeurs. Ces bases de données permettent de suivre des données étroitement liées dans un réseau organique plutôt que dans une table structurée. Les bases de données orientées graphe peuvent notamment être utilisées dans les moteurs de recommandation, les réseaux sociaux et la détection des fraudes.
Service AWS: Amazon Neptune
Les bases de données chronologiques stockent les données dans des flux ordonnés chronologiquement. Les données ne sont pas triées par valeur ou identifiant mais par le moment de la collecte, de l'ingestion ou d'autres horodatages inclus dans les métadonnées. Ces bases de données permettent de gérer et d'interroger des données en fonction d'intervalles de temps. Les bases de données chronologiques sont utilisées notamment dans les domaines de la télémétrie industrielle, du DevOps et des applications Internet des objets (IoT).
Service AWS: Amazon Timestream
Les bases de données de type grand livre sont basées sur des journaux qui enregistrent les événements liés aux valeurs des données. Ces journaux sont transparents, immuables et peuvent être vérifiés cryptographiquement pour prouver l'authenticité et l'intégrité des données. Les cas d'utilisation des bases de données de registres comprennent les systèmes bancaires, les enregistrements, les chaînes d'approvisionnement et les systèmes d'archivage.
Service AWS: Amazon Quantum Ledger Database (QLDB)
Vous pouvez choisir un service de base de données en fonction uniquement du type de base de données dont vous avez besoin. Cependant, il est utile de comprendre les fonctionnalités des services proposés par AWS avant de faire votre choix. Si ces services ne fournissent pas les fonctionnalités ou capacités dont vous avez besoin, vous pouvez rechercher des options tierces à la place.
Amazon DynamoDB est une base de données de documents et de valeurs-clés. Il s'agit d'un service entièrement géré qui inclut des fonctionnalités de sauvegarde et restauration, de mise en cache en mémoire, de sécurité et de distribution multirégion et multimaître. DynamoDB prend en charge par défaut les transactions ACID (atomicité, cohérence, isolation, durabilité) et le chiffrement.
Amazon ElastiCache est un magasin de données en mémoire que vous pouvez utiliser à la place d'une base de données sur disque. Il offre une prise en charge entièrement gérée de Memcached et Redis, et permet la mise à l'échelle grâce au partitionnement de la mémoire. Il est conçu pour prendre en charge des temps de réponse inférieurs à la milliseconde et est généralement utilisé pour la mise en file d'attente, l'analyse en temps réel, la mise en cache et le stockage de sessions.
Amazon Neptune est un service de base de données graphiques entièrement géré et optimisé pour le stockage de données portant sur des milliards de relations. Il prend en charge une gamme de modèles de graphes et de langages de requête, notamment RDF du W3C, Property Graph, SPARQL et TinkerPop Gremlin.
Neptune propose des fonctionnalités de restauration à un point précis dans le temps, de réplication des données multi-zones, de sauvegardes continues et de répliques en lecture. Il prend en charge les transactions ACID et assure le chiffrement en transit et au repos.
Amazon Timestream est une base de données de séries temporelles entièrement gérée, dotée d'un moteur de traitement de requêtes adaptatif. Il s'agit d'un service sans serveur qui gère automatiquement la maintenance et le provisionnement du matériel et des logiciels pour vous.
Timestream inclut des fonctionnalités de compression automatisée des données, de hiérarchisation, de conservation et de regroupement. Il inclut également une analytique intégrée pour l'approximation, le lissage et l'interpolation des données.
Amazon QLDB est une base de données de registre que vous pouvez utiliser pour suivre les modifications de données. Elle est entièrement gérée et conçue pour vous permettre d’éviter les configurations complexes requises pour la gestion des données de registre avec des bases de données relationnelles ou la blockchain.
QLDB offre une API de type SQL, une prise en charge transactionnelle complète et un modèle de données documentaires flexible. Il inclut des fonctionnalités de mise à l'échelle automatique, de transactions conformes à ACID, de disponibilité multizone et de diffusion de données avec Kinesis Data Streams.
Amazon DocumentDB est une base de données documentaire entièrement gérée, compatible avec MongoDB. L'architecture de DocumentDB sépare les ressources de calcul et de stockage pour une meilleure évolutivité et flexibilité. Il inclut également la prise en charge d'un maximum de 15 répliques en lecture, la réplication des données pour une durabilité dans trois zones de disponibilité et l'utilisation gratuite du service AWS Database Migration Service.
Amazon Keyspaces est une base de données à colonnes larges gérée, compatible avec Apache Cassandra. Vous pouvez l'utiliser pour migrer des charges de travail et applications Cassandra et continuer à utiliser le code et les outils natifs Cassandra. Il comprend des fonctionnalités d'autoscaling et vous permet de choisir entre des ressources à la demande ou provisionnées.
NetApp Cloud Volumes ONTAP, la solution de gestion du stockage de référence pour les entreprises, offre des services de gestion du stockage sécurisés et éprouvés sur AWS, Azure et Google Cloud. Cloud Volumes ONTAP prend en charge jusqu'à une capacité de 368 To, et prend en charge divers cas d'utilisation tels que les services de fichiers, les bases de données, DevOps ou toute autre charge de travail exigeante, avec un ensemble de fonctionnalités robustes, notamment la haute disponibilité, la protection des données, l'efficacité du stockage, l'intégration Kubernetes, et plus encore.
Plus particulièrement, Cloud Volumes ONTAP aide à relever les défis liés aux charges de travail de base de données dans le cloud, et à combler l'écart entre les capacités de votre base de données cloud et les ressources du cloud public sur lesquelles elle s'exécute.
Cloud Volumes ONTAP prend en charge des fonctionnalités avancées pour la gestion du stockage SAN dans le cloud, répondant aux systèmes de base de données NoSQL, ainsi qu’aux partages NFS pouvant être accessibles directement depuis les clusters d’analytique Big Data cloud.
De plus, les fonctionnalités intégrées d'efficacité du stockage ont un impact direct sur les coûts pour NoSQL dans les déploiements cloud. La protection des données et la flexibilité offertes par des fonctionnalités telles que les snapshots et le clonage de données donnent aux administrateurs de base de données NoSQL et aux ingénieurs en analytique Big Data le pouvoir de gérer efficacement de grands volumes de données.