Cloud AWS
Cloud AWS
Démarrage avec Amazon DynamoDB

Les bases de données NoSQL sont des bases de données non relationnelles optimisées pour les performances évolutives et les modèles de données sans schéma. Les bases de données NoSQL sont également largement reconnues pour leur facilité de développement, leur faible latence et leur résilience. Elles utilisent une variété de modèles de données, y compris les magasins de colonnes, de documents, de graphiques et de valeurs-clés en mémoire. Cette page contient quelques ressources qui vous permettront de faire vos premiers pas avec les bases de données NoSQL.

PurposeBuilt-reInvent
58:35
Nouveautés pour les bases de données non relationnelles AWS spécialement conçues

Les systèmes de base de données NoSQL utilisent une variété de modèles pour la gestion des données, tels que les magasins de valeurs-clés en mémoire, les modèles de données graphiques et les magasins de documents. Ces types de bases de données sont optimisés pour les applications qui nécessitent un volume de données important, une faible latence et des modèles de données flexibles, qui sont obtenus en assouplissant certaines des restrictions de cohérence des données des bases de données relationnelles traditionnelles.

Les bases de données NoSQL conviennent parfaitement à de nombreuses applications Big Data, mobiles et Web qui requièrent une plus grande échelle et une meilleure réactivité que les bases de données relationnelles traditionnelles. Grâce à des structures de données plus simples et à une mise à l'échelle horizontale, les bases de données NoSQL répondent généralement plus rapidement et sont plus faciles à mettre à l'échelle que les bases de données relationnelles.

Les systèmes de gestion de bases de données relationnelles (SGBDR) et les bases de données non relationnelles (NoSQL) ont des forces et des faiblesses différentes. Dans les SGBDR, les données peuvent être interrogées avec souplesse, mais les requêtes sont relativement coûteuses et ne s'adaptent pas bien dans les situations de trafic intense. Dans une base de données NoSQL, les données peuvent être interrogées efficacement d'un nombre limité de façons, en dehors de laquelle les requêtes peuvent être coûteuses et lentes.

  Bases de données relationnelles Bases de données NoSQL
Modèle de données Le modèle relationnel normalise les données dans des tables composées de lignes et de colonnes. Un schéma définit strictement les tables, rangées, colonnes, index, relations entre les tables et autres éléments de base de données. Généralement, les bases de données NoSQL n'utilisent pas de schéma. Une clé de partition est généralement utilisée pour extraire des valeurs, des ensembles de colonnes ou des fichiers XML ou JSON semi-structurés, ainsi que d'autres documents contenant des attributs d'éléments connexes.
Propriétés ACID Les SGBDR traditionnels supportent les propriétés ACID d'une base de données relationnelle: atomicité, cohérence, isolation et durabilité. L'Atomicité est synonyme de « tout ou rien » : une transaction s'exécute entièrement ou ne s'exécute pas du tout. La Cohérence signifie qu'une fois qu'une transaction a été engagée, les données doivent se conformer au schéma de base de données. L'Isolation nécessite que les transactions simultanées s'exécutent séparément. La Durabilité est la capacité à revenir au dernier état connu après une panne système ou une coupure de courant inattendue. Les bases de données NoSQL remplacent souvent certaines des propriétés ACID relevant des systèmes SGBDR traditionnels par un modèle de données plus flexible, offrant une mise à l'échelle horizontale. Ces caractéristiques font des bases de données NoSQL un excellent choix dans les cas où les systèmes SGBDR classiques sont confrontés à des défis architecturaux, lorsqu'il s'agit de s'adapter à la fois à des goulets d'étranglement en termes de performances, à une grande complexité opérationnelle et à des coûts croissants en termes de support et d'administration.
Performances Les performances dépendent généralement du sous-système disque. Une optimisation des requêtes, des index et de la structure des tables est nécessaire pour obtenir des performances élevées. Les performances dépendent généralement de la taille du cluster matériel sous-jacent, de la latence réseau et de l'application appelante.
Evolutivité Il est plus facile d'effectuer une mise à l'échelle ascendante avec un matériel plus rapide. Des investissements supplémentaires sont requis pour que les tables relationnelles puissent se déployer sur un système distribué. Conçue pour le dimensionnement à l'aide de clusters distribués de matériel à faible coût, en vue d'augmenter le débit sans allonger le temps de latence.
API Les demandes de stockage et d'extraction de données sont communiquées à l'aide de requêtes conformes à un langage structuré (SQL). Ces requêtes sont analysées et exécutées par des SGBDR. Les API reposant sur des objets permettent aux développeurs d'applications de stocker et de récupérer très facilement des structures de données en mémoire. Les clés de partition permettent aux applications de rechercher des paires clé-valeur, des jeux de colonnes ou des documents semi-structurés contenant des objets et attributs d'applications en série.
Outils Les bases de données SQL proposent généralement un riche ensemble d'outils destinés à simplifier le développement d'applications orientées base de données. Les bases de données NoSQL proposent généralement des outils permettant de gérer les clusters et le dimensionnement. Les applications sont l'interface principale avec les données sous-jacentes.
15

Il existe quatre types de bases de données NoSQL: colonnes, document, graphe et valeur-clé en mémoire. Généralement, ces bases de données diffèrent dans la façon dont les données sont stockées, consultées et structurées, et elles sont optimisées pour différents cas d'utilisation et applications. 

  1. Les bases de données orientées colonnes sont optimisées pour lire et écrire des colonnes de données, et non pas des rangées. Le stockage orienté colonnes des tables de base de données est un facteur important pour les performances des requêtes analytiques. En effet, il réduit considérablement la charge E/S globale du disque, et il limite les quantités de données à charger depuis le disque.
  2. Les bases de données orientées documents sont conçues pour stocker des données semi-structurées sous forme de documents, généralement au format JSON ou XML. Contrairement aux bases de données relationnelles traditionnelles, le schéma pour chaque document NoSQL peut varier. Vous bénéficiez alors de plus de flexibilité dans l'organisation et le stockage de données d'application, et vous réduisez l'espace de stockage nécessaire pour les valeurs facultatives.
  3. Les bases de données orientées graphe stockent des nœuds et des liens directionnels appelés arêtes. Les bases de données de graphe peuvent être construites sur des bases de données SQL et NoSQL. Chacun des nœuds et des arcs peut être associé à des propriétés. 
  4. Les magasins clé-valeur en mémoire sont des bases de données NoSQL optimisées pour les applications dont la charge de lecture est importante (par exemple, les réseaux sociaux, les jeux, le partage de fichiers multimédias et les portails de questions et réponses) ou demandant beaucoup de puissance de calcul (par exemple, un moteur de recommandation). La mise en cache en mémoire améliore les performances de l'application en stockant les segments de données les plus importants dans la mémoire pour un accès à faible latence.
SQL
MongoDB (NoSQL) DynamoDB (NoSQL) Cassandra (NoSQL) Couchbase (NoSQL)
Table Collection Table Table Compartiment de données
Rangée Document
Elément Rangée Document
Colonne
Champ Attribut Colonne Champ
Clé primaire
ObjectId
Clé primaire Clé primaire ID de document
Index Index Index secondaire Index
Index
Afficher Afficher Index secondaire global Vue matérialisée Afficher
Table ou objet imbriqué
Document intégré Carte Carte Carte
Tableau
Tableau Liste Liste Liste

Pour commencer à utiliser Amazon DynamoDB, c'est très simple. Utilisez notre Guide de démarrage et créez votre première table DynamoDB en quelques clics.

Vous pouvez également télécharger le livre blanc, Migration Best Practices - RDBMS to Amazon DynamoDB, pour apprendre les meilleures pratiques de migration des workloads d'un SGBDR vers DynamoDB.

Démarrage avec Amazon DynamoDB