Qu'est-ce qu'une base de données NoSQL?

Le terme NoSQL, qui signifie "non seulement SQL", fait référence aux bases de données non relationnelles qui stockent des données dans un format non tabulaire, plutôt que dans des tables relationnelles basées sur des règles, comme le font les bases de données relationnelles. Les bases de données NoSQL utilisent un modèle de schéma flexible qui accepte une grande variété de données non structurées, telles que des documents, des clé-valeurs, des colonnes larges et des graphiques.

Les entreprises choisissent des bases de données NoSQL pour leur flexibilité, leurs hautes performances, leur évolutivité horizontale et leur facilité de développement.

Découvrez comment les bases de données NoSQL de Google Cloud Bigtable, Memorystore et Firestore peuvent vous aider à améliorer vos applications et à offrir une expérience client exceptionnelle sans vous soucier de l'évolutivité ni de la fiabilité. ou des modifications de données fréquentes.

Cinq types de bases de données NoSQL

Il existe cinq principaux types de bases de données NoSQL:

Bases de données de documents

Les bases de données de documents, également appelées bases de données orientées documents ou magasin de documents, sont utilisées pour stocker et interroger des données semi-structurées. Les données sont stockées dans un document de type JSON, semblable aux objets de données que les développeurs utilisent dans le code d'application, ce qui facilite la création et la mise à jour des applications sans référencer un schéma principal. Les bases de données de documents sont le plus souvent utilisées pour les plateformes de blog, l'e-commerce, l'analyse en temps réel et les systèmes de gestion de contenu.

Bases de données clé-valeur

Les bases de données clé-valeur, également appelées magasins de paires clé-valeur, constituent le type de base de données NoSQL le plus simple. Les données sont stockées dans une structure "clé-valeur", dans laquelle une clé unique est associée à une valeur telle qu'une chaîne, un nombre, une valeur booléenne ou des objets complexes. Vous pouvez utiliser la clé pour stocker ou récupérer la valeur associée. Les magasins de valeurs-clés sont le plus souvent utilisés pour les préférences utilisateur, les paniers d'achat et les profils utilisateur dans les applications Web.

Bases de données orientées colonnes

Les bases de données orientées colonnes, ou magasins orientés colonnes, stockent et lisent des données en lignes et sont organisées sous forme d'ensemble de colonnes. Bien que similaires au format tabulaire des bases de données relationnelles, les noms et la mise en forme des colonnes dans les magasins orientés colonnes peuvent varier d’une ligne à l’autre dans une même table. Elles sont optimales pour les cas d'utilisation d'analyse, où vous pouvez avoir besoin d'interroger des colonnes spécifiques d'une base de données et d'agréger rapidement la valeur d'une colonne donnée. Les magasins orientés colonnes sont le plus souvent utilisés pour les catalogues, la détection de fraudes et les moteurs de recommandations.

Bases de données de graphes

Les bases de données orientées graphe organisent les données sous forme de nœuds dans un graphique, en se concentrant sur les relations entre les éléments de données. Les connexions entre les nœuds (arêtes) sont stockées en tant qu'éléments de première classe, ce qui permet des représentations plus riches des relations de données tout en facilitant le stockage et la navigation. Les bases de données graphiques sont le plus souvent utilisées dans des systèmes de cartographie des relations, notamment les plateformes de réseaux sociaux, les systèmes de réservation, les systèmes de détection de fraude et les applications de logistique.

Bases de données en mémoire

Les bases de données en mémoire stockent les données en mémoire afin de fournir une latence extrêmement faible pour les applications en temps réel. Redis et Valkey sont des exemples de bases de données NoSQL en mémoire. Les bases de données en mémoire sont le plus souvent utilisées pour la mise en cache, la messagerie, le streaming et l'analyse en temps réel.

Comment fonctionne NoSQL?

Les fonctionnalités NoSQL sont propres à la base de données que vous choisissez. Cependant, ils partagent généralement plusieurs qualités de haut niveau similaires:

  • Elles suivent des schémas flexibles qui ne nécessitent pas de déterminer ni de déclarer un schéma fixe pour vos données, ce qui les rend idéales pour les données semi-structurées et non structurées.
  • Elles effectuent un scaling horizontal à l'aide de distributions de plages ou de hachages, au lieu de dépendre d'un scaling vertical pour augmenter la capacité.
  • Elles sont optimisées pour des modèles de données et des modèles de charge de travail spécifiques, tels que les clés-valeurs, les colonnes larges ou le stockage en mémoire.
  • Elles présentent une cohérence à un stade ultérieur (par exemple, un modèle de cohérence à terme) plutôt que de suivre les propriétés ACID (atomicité, cohérence, isolation, durabilité) plus strictes des bases de données relationnelles et SQL.
  • Elles ne sont généralement pas compatibles avec les transactions segmentées ou les modes d'isolation flexibles.

Grâce à ces caractéristiques, les bases de données non relationnelles sont idéales pour les applications nécessitant une grande évolutivité, une fiabilité et une haute disponibilité, ainsi que des modifications fréquentes de données.

Avantages de NoSQL

Modèle de données et schéma flexibles

Les bases de données NoSQL stockent de nombreux types de données différents et offrent des schémas flexibles, parfaits pour les données semi-structurées et non structurées. Vous pouvez facilement les adapter à de nouveaux types de données et faire évoluer le schéma pour répondre à l'évolution des exigences concernant les données.

Développement agile

La flexibilité du NoSQL vient en complément du développement agile d'applications. Une base de données NoSQL peut stocker de nombreux types de données dans son format natif. Elle permet également de définir et d'adapter le modèle de données au fur et à mesure. Les développeurs peuvent ainsi aller plus vite, passer moins de temps à transformer les données et itérer rapidement.

Évolutivité

Contrairement aux bases de données relationnelles, les bases de données NoSQL permettent d'augmenter facilement la capacité à mesure que le volume de données et le trafic augmentent, dans la plupart des cas, sans aucun temps d'arrêt. Les bases de données dans le cloud sont encore plus faciles à faire évoluer en fonction de la demande grâce à des fonctionnalités d'autoscaling et des modèles tarifaires flexibles.

Stockage de données important

NoSQL est conçu pour gérer des ensembles de données volumineux et complexes, ce qui permet aux organisations de les adopter pour le big data, l'analyse en temps réel et les cas d'utilisation de l'IoT.

Haute disponibilité

Les architectures de données NoSQL sont distribuées par conception et ne possèdent pas de point de défaillance unique. Elles facilitent également la réplication, ce qui les rend plus résistants aux interruptions et perturbations imprévues.

Requêtes plus rapides

Contrairement aux bases de données relationnelles, qui sont normalisées pour réduire la duplication des données, NoSQL est optimisé pour des requêtes rapides. En règle générale, elle ne nécessite pas de jointures complexes, ce qui signifie que les requêtes de base de données renvoient des résultats plus rapidement.

Inconvénients de NoSQL

Bien que les bases de données NoSQL aient gagné en popularité ces dernières années, leur utilisation par rapport aux bases de données relationnelles présente des inconvénients. Elles sont encore relativement récentes et peuvent manquer de maturité des bases de données relationnelles. Dans l'ensemble, NoSQL nécessite moins d'expertise en développement, moins d'outils et de produits disponibles, et une assistance limitée en cas de problèmes non documentés.

De plus, NoSQL n'a pas de lingua franca comme SQL : chaque base de données peut avoir son propre langage d'interrogation et de gestion des données. Ces langages sont souvent similaires, mais pas entièrement compatibles avec le standard SQL.

Dans de nombreux cas, les bases de données NoSQL ne bénéficient pas des mesures de protection de l'intégrité des données et du haut niveau de cohérence des données qui sont standards dans les bases de données SQL. Toutefois, certains d'entre eux, comme Firestore et MongoDB Atlas, acceptent les transactions ACID.

Les bases de données NoSQL ne sont généralement pas un bon choix pour les applications qui exécutent des requêtes et des jointures complexes. La gestion des index et des requêtes sur plusieurs nœuds serait lente et pourrait ne pas renvoyer des résultats cohérents.

Toutefois, les modèles de cohérence à terme sont suffisants pour la plupart des cas d'utilisation NoSQL, dans lesquels un petit délai de quelques millisecondes n'a pas d'importance. Pour de nombreuses applications, la haute disponibilité et la rapidité dépassent de loin le besoin d'une cohérence mondiale forte.

SQL et NoSQL: cas d'utilisation et exemples

Pourquoi les entreprises utilisent-elles des bases de données NoSQL non relationnelles pour certaines applications mais s'en tiennent aux bases de données SQL relationnelles pour d'autres? Choisir la base de données appropriée dépend souvent de votre cas d'utilisation. Découvrez quand utiliser SQL ou NoSQL.

Les bases de données SQL excellent dans la gestion de données relationnelles structurées et de requêtes complexes. Les bases de données SQL sont conformes à la norme ACID, ce qui les rend adaptées aux informations transactionnelles.

Cas d'utilisation de SQL :

  • Transactions financières
  • Analyse de données de santé
  • Informations sur les clients et les transactions

Les bases de données NoSQL sont idéales pour les cas d'utilisation qui nécessitent un grand nombre d'utilisateurs répartis dans le monde entier afin d'offrir des expériences hautement personnalisées. L'agilité des bases de données NoSQL permet de mieux servir ces applications interactives.

Les bases de données NoSQL donnent la priorité à la haute disponibilité, offrent des performances constantes, effectuent un scaling horizontal rapide sans temps d'arrêt et peuvent gérer d'importants volumes de différents types de données.

Ces caractéristiques des bases de données NoSQL font des bases de données non relationnelles idéales pour les applications nécessitant une grande évolutivité, une fiabilité et une haute disponibilité.

Les bases de données NoSQL les plus courantes sont les suivantes:

  • Applications mobiles, Web et IoT
  • Applications Web en temps réel
  • Personnalisation, recommandations et expérience client en temps réel
  • Gestion de l'inventaire et des catalogues
  • Détection des fraudes et authentification des identités
  • AdTech

Relevez vos plus grands défis avec Google Cloud

Les nouveaux clients bénéficient de 300 $ de crédits à dépenser sur Google Cloud.
Contactez un spécialiste des ventes Google Cloud pour discuter plus en détail de votre propre défi.

Passez à l'étape suivante

Profitez de 300 $ de crédits gratuits et de plus de 20 produits Always Free pour commencer à créer des applications sur Google Cloud.

Google Cloud
  • ‪English‬
  • ‪Deutsch‬
  • ‪Español‬
  • ‪Español (Latinoamérica)‬
  • ‪Français‬
  • ‪Indonesia‬
  • ‪Italiano‬
  • ‪Português (Brasil)‬
  • ‪简体中文‬
  • ‪繁體中文‬
  • ‪日本語‬
  • ‪한국어‬
Console
  • Faites des économies grâce à notre approche transparente concernant la tarification
  • Le paiement à l'usage de Google Cloud permet de réaliser des économies automatiques basées sur votre utilisation mensuelle et des tarifs réduits pour les ressources prépayées. Contactez-nous dès aujourd'hui afin d'obtenir un devis.
Google Cloud