Ignorez la navigation

Que sont les bases de données ?

Définitions, types et exemples de bases de données

Que sont les bases de données ?

À sa définition la plus simple, une base de données est une collection d’informations interdépendantes. Lorsque vous écrivez une liste de courses sur une feuille de papier, vous créez une petite base de données analogique. Mais qu’est-ce qu’une base de données en informatique ? Dans ce contexte, vous définissez la « base de données » comme une collection d’informations stockées en tant que données sur un système informatique, par exemple l’inventaire de votre épicerie locale.

À quoi servent les bases de données ?

Les bases de données sont utilisées pour stocker et organiser les données afin qu’elles soient plus faciles à gérer et à consulter. Étant donné que la collecte des données croît et devient plus complexe, il devient plus difficile de garder ces données organisées, accessibles et sécurisées. Pour vous y aider, utilisez les systèmes de gestion de base de données (SGBD), qui incluent une couche d’outils de gestion.

Que sont les données ?

Les données font référence à toutes les informations capturées et stockées sur un seul individu, lieu, élément ou objet, appelé entité, ainsi que les attributs de cette entité.

Par exemple, si vous capturez et stockez des informations sur les restaurants locaux, chaque restaurant est une entité, et le nom, l’adresse et les heures ouvrées associées sont des attributs de cette entité. Toutes les informations que vous collectez et stockez sur vos restaurants préférés sont des données.

Types de bases de données

Les bases de données sont globalement regroupées dans des bases de données relationnelles et non relationnelles. Les bases de données relationnelles sont très structurées et incluent un langage de programmation appelé langage SQL (SQL). Les bases de données non relationnelles sont très diversifiées et prennent en charge une grande variété de structures de données. Étant donné que de nombreuses bases de données non relationnelles n’utilisent pas SQL, elles sont souvent appelées bases de données NoSQL.

Types de structures de données

Les structures de tables sont des structures de bases de données relationnelles qui organisent les données en lignes et en colonnes. Les lignes contiennent des entités, tandis que les colonnes contiennent des attributs d’entité. Les tables larges, ou magasins de colonnes étendus, utilisent des colonnes éparses avec des attributs vides pour augmenter de façon considérable le nombre total de colonnes que vous pouvez avoir dans la table. Étant donné que certains espaces sont vides, les tables larges sont un exemple de structure de base de données non relationnelle.

Les structures linéaires organisent les éléments en une séquence.

Tableau

Liste liée

Arbre binaire

Les arborescences organisent les éléments dans une base de données hiérarchique de nœuds dans des relations parent-enfant qui proviennent d’un seul nœud racine.

Graphe

Les structures de graphes organisent les éléments en un réseau non hiérarchique de nœuds avec des relations complexes.

Table de hachage

Les structures basées sur le hachage mappent les clés aux valeurs à l’aide de fonctions de hachage qui associent les données associées en attribuant des index à des tables de hachage.

Bases de données orientées document

Les bases de données orientées document organisent les quantités d’informations relatives à une entité dans un objet unique (le document), qui est distinct des autres objets. Les objets n’ont pas besoin d’être mappés les uns par rapport aux autres, et un seul objet peut être modifié sans affecter les autres objets.

Bases de données relationnelles

Dans une base de données relationnelle (le type le plus courant), les données sont organisées dans des tables qui contiennent des informations sur chaque entité et qui représentent des catégories prédéfinies par le biais de lignes et de colonnes. Ces données structurées sont associées à un accès à la fois efficace et flexible.

Voici des exemples de bases de données relationnelles : SQL Server, Azure SQL, MySQL, PostgreSQL et MariaDB.

Bases de données non-relationnelles

Les bases de données non relationnelles stockent les données non structurées ou semi-structurées. Elles n’utilisent pas de tables avec des colonnes et des lignes comme c’est le cas pour les bases de données relationnelles. Au lieu de cela, elles utilisent un modèle de stockage qui est optimisé pour les exigences spécifiques du type des données stockées. Les bases de données non relationnelles permettent de consulter, de mettre à jour et d’analyser rapidement des ensembles plus volumineux de données distribuées.

Les exemples de bases de données non relationnelles incluent MongoDB, Azure Cosmos DB, DocumentDB, Cassandra, Couchbase, HBase, Redis et Neo4j.

Certaines bases de données non relationnelles sont appelées bases de données NoSQL. NoSQL fait référence aux magasins de données qui n’utilisent pas SQL ou pas uniquement du SQL pour les requêtes. Au lieu de cela, les bases de données NoSQL utilisent d’autres constructions et langages de programmation pour interroger les données. De nombreuses bases de données NoSQL prennent en charge les requêtes compatibles SQL, mais la façon dont elles exécutent ces requêtes est généralement différente de la façon dont une base de données relationnelle classique exécute la même requête SQL.

Un seul type de base de données non relationnelle, une base de données d’objets, utilise la programmation orientée objet. Les objets sont encodés avec un état (données factuelles) qui est stocké dans un champ ou une variable et un comportement qui est affiché par le biais d’une méthode ou d’une fonction. Les objets peuvent être conservés de manière permanente dans un stockage persistant et lus et mappés directement sans API ni outil, ce qui permet un accès plus rapide aux données et de meilleures performances. Toutefois, les bases de données d’objets ne sont pas aussi populaires que les autres types de bases de données et peuvent être difficiles à prendre en charge.

Caches et bases de données en mémoire

Toutes les données d’une base de données en mémoire sont stockées dans la mémoire vive (RAM) d’un ordinateur. Lorsque vous interrogez ou mettez à jour ce type de base de données, vous accédez directement à la mémoire principale. Aucun disque n’est impliqué. Les données sont chargées rapidement, car l’accès à la mémoire principale (qui est proche du processeur sur la carte mère) est beaucoup plus rapide que l’accès à un disque.

Les bases de données en mémoire sont couramment utilisées pour stocker des copies d’informations fréquemment utilisées, telles que la tarification ou les données d’inventaire. C’est ce que l’on appelle la mise en cache. Lorsque vous mettez en cache des données, vous en stockez une copie dans un emplacement temporaire afin qu’elles soient chargées plus rapidement la prochaine fois qu’elles sont demandées. Apprenez-en plus sur la mise en cache.

Exemples de base de données

Même si la plupart d’entre-nous interagissons avec elles quotidiennement, les bases de données peuvent ressembler à des mystères invisibles. Voici quelques exemples courants de bases de données relationnelles, de bases de données NoSQL et de bases de données en mémoire :

Transactions financières

Les banques utilisent des bases de données pour effectuer le suivi des transactions clientes (des demandes de soldes aux transferts entre comptes). Ces transactions doivent se produire presque instantanément et les données provenant d’énormes quantités de transactions doivent toujours être à jour. À ces fins, les banques utilisent des systèmes de traitement transactionnel en ligne qui sont créés avec des bases de données relationnelles, qui peuvent gérer un grand nombre de clients, des modifications de données fréquentes à partir de transactions et des temps de réponse rapides.

Catalogues de e-commerce

Si vous avez un site web de e-commerce, votre catalogue inclut des produits spécifiques, chacun avec leur propre variété d’attributs. Une base de données orientée document (un exemple de base de données non relationnelle) utilise des documents individuels pour décrire tous les attributs d’un seul produit. Vous pouvez modifier les attributs dans le document sans affecter les autres produits. Les bases de données en mémoire sont souvent utilisées pour mettre en cache des données de e-commerce fréquemment consultées, telles que l’inventaire et la tarification, pour accélérer l’extraction de données et réduire la charge sur la base de données.

Réseaux sociaux

Lorsque vous rejoignez un réseau social, vos informations sont ajoutées à une base de données non relationnelle incluant toute personne qui utilise ce réseau. Lorsque vous entrez en contact avec d’autres personnes de ce réseau, vous devenez membre d’un graphe social. C’est la raison pour laquelle vous pouvez voir une liste filtrée de vos amis ou de vos connexions professionnelles et découvrir de nouvelles personnes connues de ces amis et connexions.

Résultats personnalisés

Les bases de données non relationnelles pilotent la personnalisation en ligne qui est devenue tellement courante que vous ne la remarquez même pas. Quand vous réservez un vol par le biais d’un site web de voyage, vous voyez également des options pour réserver des hôtels et louer des voitures. La base de données du site web contient une multitude d’informations non structurées, telles que les détails de votre vol, les préférences de voyage, les réservations de voiture ou d’hôtel précédentes, qui sont utilisées pour vous fournir des suggestions personnalisées afin de vous faire gagner du temps, de l’argent ou des efforts. Les bases de données en mémoire, de même, sont utilisées comme un magasin de sessions pour conserver efficacement les données utilisateur temporaires, telles que les préférences de recherche ou le panier d’achat, pendant l’utilisation de l’application.

Analyse commerciale

Lorsque les organisations souhaitent tirer des insights de leurs propres données, les bases de données relationnelles les aident à gérer leurs analyses. Par exemple, un support technique peut effectuer le suivi des problèmes rencontrés par les clients dans diverses dimensions, incluant le type de problème, le temps nécessaire pour résoudre le problème et la satisfaction des clients. Une base de données relationnelle utilisant une structure de tables organise les données sur les problèmes des clients à l’aide de deux dimensions à la fois. Cependant, avec un système de traitement analytique en ligne, le support technique peut consulter plusieurs tables à la fois, ce qui active une analyse multidimensionnelle permettant de traiter de grandes quantités de données à des vitesses élevées.

Système de gestion de base de données (SGBD)

Les administrateurs de base de données utilisent des systèmes de gestion de base de données (SGBD) pour contrôler les données, en particulier lorsqu’ils travaillent avec le Big Data. Le Big Data fait référence à de grands volumes de données structurées et non structurées qui sont souvent reçues par le système en temps réel ou quasi-temps réel. Un système de gestion de base de données (SGBD) permet également de gérer les données utilisées dans plusieurs applications ou des données qui résident dans plusieurs emplacements.

Différents systèmes de gestion offrent différents niveaux d’organisation, de scalabilité et d’application. En plus du type de données que vous souhaitez organiser et de la façon dont vous souhaitez y accéder, le système SGBD que vous utilisez dépend également de l’emplacement de vos données, du type d’architecture utilisé par votre base de données et de la façon dont vous envisagez d’effectuer une mise à l’échelle.

Vos données résident-elles en local et/ou dans le cloud ?

Dans les bases de données locales, les données résident sur du matériel sur site privé (souvent appelé cloud privé). Pour ajouter une capacité de données, les administrateurs de base de données doivent soit s’assurer que les serveurs sur site disposent d’un espace suffisant soit étendre leur infrastructure avec le nouveau matériel pour créer de l’espace.

Dans les bases de données basées sur le cloud, les données structurées ou non structurées résident sur une plateforme de cloud computing privée, publique ou hybride (par exemple, une plateforme qui combine le stockage cloud privé et public). Étant donné que les bases de données cloud sont conçues pour un environnement virtualisé, elles sont à la fois hautement scalables et disponibles. Elles permettent également de réduire les coûts, car vous n’avez pas besoin d’acheter autant de matériel et vous payez uniquement le stockage que vous utilisez.

Votre architecture de base de données est-elle centralisée, distribuée ou fédérée ?

Dans une base de données centralisée, toutes les données résident dans un seul et même emplacement. Ce système unique est le point d’accès de tous les utilisateurs.

Une base de données distribuée peut inclure à la fois des types de bases de données relationnelles et non relationnelles. Dans les bases de données distribuées, les données sont stockées dans plusieurs emplacements physiques, soit sur plusieurs ordinateurs locaux, soit dispersées sur un réseau d’ordinateurs interconnectés.

Dans une base de données fédérée, plusieurs bases de données distinctes qui s’exécutent sur des serveurs indépendants sont unifiées en un seul objet volumineux. Une blockchain est un type de base de données fédérée qui est utilisée pour gérer de façon sécurisée des registres financiers et d’autres enregistrements de transactions.

Allez-vous évoluer avec vos données en effectuant un scale-up ou un scale-out ?

Le scale-up (ou down), également appelé mise à l’échelle verticale, est le processus qui consiste à ajouter des ressources, telles que de la mémoire ou des processeurs plus puissants, à un serveur existant.

Le scale-out (ou scale-in), également appelé mise à l’échelle horizontale, ajoute d’autres machines à votre pool de ressources.

Effectuer une mise à l’échelle horizontale au lieu d’une mise à l’échelle verticale étend le cycle de vie du matériel existant, vous libère de la mise à niveau sans enfermement propriétaire, réduit les coûts et crée un potentiel à long terme pour la flexibilité.

Bases de données Azure

Simplifiez vos opérations de données avec des bases de données complètement managées qui automatisent la scalabilité, la disponibilité et la sécurité. Choisissez parmi des bases de données relationnelles, NoSQL et en mémoire qui incluent des moteurs propriétaires et open source.

Découvrez la famille Azure SQL de bases de données

Unifiez votre portefeuille SQL sans sacrifier la compatibilité. Migrez, modernisez et déployez des applications à votre manière, de la périphérie au cloud, à l’aide d’une technologie SQL Server familière.

Mettez à l’échelle en toute confiance avec Azure Database pour PostgreSQL

Azure Database pour PostgreSQL vous permet de mettre à l’échelle votre charge de travail rapidement et en toute confiance grâce à la haute disponibilité, à l’optimisation des performances alimentée par l’intelligence artificielle et à la sécurité avancée.

En savoir plus sur Azure PostgreSQL

Créez des applications hautes performances avec Azure Cosmos DB

Azure Cosmos DB est une base de données NoSQL complètement managée avec des API ouvertes et une vitesse garantie à n’importe quelle échelle.

En savoir plus sur Azure Cosmos DB

Gérez efficacement le trafic élevé avec Azure Cache pour Redis

Azure Cache pour Redis vous permet de gérer des milliers d’utilisateurs simultanés avec une vitesse quasi-instantanée en ajoutant une couche de mise en cache rapide à l’architecture de votre application.

En savoir plus sur Azure Cache pour Redis