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

Personne consultant des visualisations de données devant un grand écran

Auteurs

Matthew Kosinski

Staff Editor

IBM Think

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

Une base de données est un référentiel numérique permettant de stocker, de gérer et de sécuriser les données rassemblées et organisées. 

Les différents types de bases de données stockent les données de manière différente. Par exemple, les bases de données relationnelles le stockent dans des tables définies avec des lignes et des colonnes, tandis que les bases de données non relationnelles peuvent le stocker sous diverses structures de données, y compris des paires clé-valeur ou des graphiques.

Les organisations utilisent ces différents types de bases de données pour gérer différents types de données. Les bases de données relationnelles excellent avec les données structurées telles que les enregistrements financiers. Les bases de données non relationnelles sont idéales pour les types de données non structurées tels que les fichiers texte, audio et vidéo. Les bases de données vectorielles stockent les données sous forme de prolongements vectoriels, un format utilisé par de nombreuses applications d’IA générative.

Les entreprises possèdent de grandes quantités de données, souvent mesurées en pétaoctets, ou en quadrillions de bits, sur tout, depuis les transactions clients et le stock des produits jusqu’aux processus internes et aux recherches exclusives. Ces données doivent être organisées selon une architecture de données cohérente, afin que les utilisateurs et les applications puissent y accéder quand ils en ont besoin.  

Les bases de données sont essentielles à la construction d’une telle architecture de données. Ils sont plus qu’un lieu de stockage d’informations. Au contraire, ils permettent aux organisations de gérer de manière centralisée les données, d’appliquer les normes d’intégrité et de sécurité des données et de faciliter l’accès aux données. 

Avec les systèmes de bases de données appropriés en place, les organisations peuvent utiliser des ensembles de données de haute qualité pour des initiatives commerciales clés, notamment des projets de Business Intelligence (BI), d’intelligence artificielle (IA) et de machine learning (ML).

Ce qu’une base de données n’est pas

Le terme « base de données » est souvent employé de manière vague, ce qui peut prêter à confusion sur ce qu’est ou non une base de données. 

Une base de données est un système de stockage et de gestion de données, comprenant à la fois le matériel physique sur lequel les données sont stockées et le logiciel qui organise et contrôle l’accès aux données. 

Les bases de données sous-tendent une grande partie de l’infrastructure informatique moderne, y compris les sites web, les applications et les plateformes telles qu’Amazon et Google. Ces services ne sont pas des bases de données en eux-mêmes, mais ils s’appuient sur des bases de données pour gérer les informations, telles que les stocks de produits ou les résultats de recherche.

Il convient également de noter que Microsoft Excel n’est pas une base de données, mais une application de feuille de calcul. Une feuille de calcul Excel organise les données en lignes et en colonnes, un peu comme une base de données relationnelle, mais cette feuille de calcul est un fichier unique. Les bases de données, en revanche, sont des systèmes robustes, gérés de manière centralisée, qui peuvent stocker de nombreux types de données différents, dans de nombreux formats différents, tout en prenant en charge des requêtes plus avancées.  

Types de bases de données

Les entreprises utilisent différents types de bases de données pour gérer différents types de données et prendre en charge différentes applications. Voici les types de bases de données les plus courants :

  • Bases de données de navigation
  • Bases de données relationnelles
  • Bases de données non relationnelles ou bases de données NoSQL
  • Bases de données orientées objet
  • Bases de données vectorielles
  • Cloud databases

Bases de données de navigation

Les bases de données de navigation stockent les données dans des ensembles d’enregistrements liés. Les utilisateurs doivent naviguer entre ces enregistrements pour accéder aux données qu’ils souhaitent, d’où leur nom.

Les deux types de bases de données de navigation les plus courants sont les bases de données hiérarchiques et les bases de données en réseau.

  • Les bases de données hiérarchiques organisent les données dans une structure arborescente d’enregistrements parents et d’enregistrements enfants. Chaque enregistrement enfant ne peut avoir qu’un seul parent, mais les enregistrements parent peuvent avoir plusieurs enfants. Pour atteindre l’enregistrement souhaité, les utilisateurs doivent commencer en haut de l’arbre et descendre progressivement. 

  • Les bases de données en réseau se comportent de la même manière que les bases de données hiérarchiques, sauf qu’elles permettent à chaque enregistrement enfant d’être lié à plusieurs enregistrements parents. Les utilisateurs doivent toujours naviguer dans les enregistrements liés, généralement à l’aide de pointeurs pour accéder aux données souhaitées.

Les bases de données de navigation étaient autrefois courantes, mais les progrès de la technologie des bases de données, en particulier le développement du modèle de données relationnel, les ont rendues bien moins populaires.

Bases de données relationnelles

Les bases de données relationnelles stockent les données dans des tableaux formatés de lignes et de colonnes. On les appelle parfois « bases de données SQL » parce que de nombreuses bases de données relationnelles prennent en charge l’utilisation du langage de requête structuré (SQL) pour interroger et manipuler des données. (Pour plus d’informations, voir « Langues des bases de données »).

Chaque tableau d’une base de données relationnelle contient des informations sur un type d’entité. Par exemple, une organisation peut disposer d’une table contenant des informations sur tous ses clients, ainsi que de tableaux distincts détaillant l’historique des achats de chaque client. 

Edgar F. Codd, scientifique chez IBM, a développé le modèle relationnel dans les années 1970. Le modèle a rapidement dépassé la popularité du modèle de navigation, car il simplifie considérablement l’acte de récupération des données. Au lieu de spécifier des chemins entre les enregistrements, les utilisateurs peuvent utiliser des instructions SQL pour nommer les données qu’ils souhaitent. La base de données détermine comment extraire les enregistrements pertinents, souvent en utilisant des index au lieu de balayages de table complets pour accélérer le processus.

Les bases de données relationnelles réduisent également la redondance, car chaque point de données ne doit être stocké qu’une seule fois. Les données de différentes tables peuvent être combinées dans une vue unique sans qu’il soit nécessaire de dupliquer les données. 

Les bases de données relationnelles comptent parmi les bases de données les plus courantes aujourd’hui. Elles sont bien adaptées à la gestion d’ensembles de données structurées ayant un format standard, comme les transactions financières ou les informations de contact des utilisateurs.

Une classe plus récente de bases de données relationnelles, appelées « bases de données NewSQL », vise à rendre le modèle relationnel plus évolutif en adoptant une architecture de base de données distribuée, c’est-à-dire en distribuant les données sur plusieurs serveurs de base de données. 

Bases de données non relationnelles ou bases de données NoSQL

Le terme « base de données non relationnelle » est essentiellement un terme fourre-tout, qui désigne toute base de données qui ne stocke pas les données dans un format rigide, tel qu’une table. On les appelle parfois « bases de données NoSQL », car elles ne nécessitent généralement pas de SQL pour naviguer.

Les bases de données non relationnelles ont été créées pour prendre en charge les types de données non structurées et semi-structurées, telles que le texte libre et les images, qui ne s’intègrent pas parfaitement dans les tables relationnelles.

Voici les types de bases de données non relationnelles les plus courants :

  • Des bases de données graphiques qui stockent les données sous forme de « nœuds » (représentant des entités) et de « bords » (représentant les relations entre elles). Les bases de données graphiques sont souvent utilisées pour suivre les relations, telles que les connexions entre les utilisateurs d’un site de réseau social. 

  • Les bases de données documentaires stockent les données sous forme de documents, y compris dans des formats tels que JSON, XML et BSON. Les bases de données documentaires sont courantes dans les systèmes de gestion de contenu. 

  • Les bases de données clé-valeur stockent les informations sous forme de paires clé-valeur, où les clés sont des identifiants uniques (comme l’identifiant numérique d’un panier d’achat) et les valeurs sont des tableaux de données (tels que les articles du panier). 

  • Les bases de données à colonnes larges utilisent des lignes et des colonnes de la même manière que les bases de données relationnelles. La différence, c’est que chaque ligne peut avoir son propre ensemble de colonnes qui contiennent des informations différentes de celles des autres lignes. Les bases de données à colonnes larges sont souvent utilisées pour soutenir les entrepôts de données, où les données doivent être extraites de plusieurs sources et centralisées.

Bases de données orientées objet

Les bases de données orientées objet, également appelées bases de données objet, stockent les données sous forme d’objets selon les principes de la programmation orientée objet. 

Les objets regroupent essentiellement des informations et le code associé. Chaque objet représente une entité. Regroupés en classes, les objets comportent des attributs qui décrivent leurs caractéristiques, ainsi que des méthodes qui définissent leur comportement. 

Par exemple, un objet de la classe « chat » peut avoir « couleur » et « poids » comme attributs, et « ronronner » et « chasser » comme méthodes.

Les bases de données orientées objet ont gagné en popularité dans les années 1990, au même titre que la programmation orientée objet. Les bases de données relationnelles peuvent poser des défis dans le cas de certaines applications créées dans un langage orienté objet, car les objets doivent être convertis en tables pour être stockés dans ces bases de données. Les bases de données orientées objet permettent aux développeurs d’éviter ce problème. 

Bases de données vectorielles

Les bases de données vectorielles stockent les informations sous forme de tableaux de nombres appelés « vecteurs », qui sont regroupés en fonction de leur similarité. Par exemple, un modèle météorologique peut stocker les températures basses, moyennes et élevées de la journée sous forme de vecteur : [62, 77, 85].

Les nombres vectoriels peuvent représenter des objets complexes comme les mots, les images, les vidéos et l’audio. Ces données vectorielles à haute dimension sont essentielles au machine learning, au traitement automatique du langage naturel (TAL), ainsi qu’à d’autres tâches d’IA.    

Les bases de données vectorielles sont courantes dans les cas d’utilisation de l’IA et du ML. Par exemple, la mise en œuvre des cadres de génération augmentée par récupération (RAG), qui permettent aux grands modèles de langage (LLMs) de récupérer des faits à partir d’une base de connaissances externe, s’appuie souvent sur des bases de données vectorielles. 

Cloud databases

Les bases de données cloud sont des bases de données hébergées dans le cloud. Tout type de base de données (relationnelle, non relationnelle ou autre) peut être hébergée dans le cloud.

Il existe 2 grands types de bases de données cloud. Le premier, le plus élémentaire, est un système de base de données autogéré, qui fonctionne dans le cloud. Le second porte le nom de base de données à la demande (DBaaS).

Le DBaaS est un service de cloud computing qui permet aux utilisateurs d’accéder à un logiciel de base de données et de l’utiliser sans avoir à gérer le système eux-mêmes. Les fournisseurs DBaaS proposent une gamme de services de base de données dont les mises à niveau, les sauvegardes, la sécurité des bases de données, etc.

Les bases de données cloud sont plus évolutives que celles sur site. Si l’espace de stockage devient insuffisant ou si la performance commence à baisser, l’entreprise peut augmenter les ressources en fonction des besoins.  

Autres types de bases de données

  • Les bases de données multimodèle peuvent stocker plusieurs types de données. Par exemple, IBM Db2 Cloud Database prend en charge les données XML, JSON, textuelles et spatiales dans une seule et même instance de base de données. 

  • Les bases de données en mémoire stockent les informations dans la mémoire principale ou la RAM d’un appareil. Les applications pouvant récupérer les données de la RAM plus rapidement qu’à partir d’une base de données traditionnelle, les bases de données en mémoire sont souvent utilisées pour mettre les données en cache et prendre en charge le traitement de données en temps réel. Cependant, la capacité de stockage est beaucoup plus restreinte, et l’on peut facilement perdre les données car la RAM est plus volatile qu’une base de données classique.

Femme noire travaillant sur un ordinateur portable

Tenez-vous au courant des dernières actualités technologiques

La newsletter Think vous offre chaque semaine des informations, des recherches et les points de vue d’experts sur l’IA, la sécurité, le cloud et bien plus encore.

Bases de données, data lakes, entrepôts de données et data lakehouses

Les bases de données ne sont pas le seul moyen d’organiser les données. En effet, les entreprises se tournent souvent vers les magasins de données pour mener à bien leurs différents projets.

  • Les bases de données sont principalement conçues pour automatiser la capture de données, accélérer les requêtes et traiter les transactions.  

  • Les data lakes sont des environnements de stockage à faible coût, conçus pour gérer d’immenses quantités de données brutes structurées et non structurées. Contrairement aux bases de données, les data lakes ne permettent généralement pas de nettoyer, valider ni normaliser les données. Ils accueillent généralement de grandes quantités de données destinées à des activités telles que la l’entraînement de l’IA et l’analyse des big data, où la performance en temps réel est moins importante.

  • Les entrepôts de données sont conçus pour soutenir les efforts en matière d’analyse des données, de Business Intelligence et de science des données. Ils agrègent les données provenant de diverses bases de données, les nettoient et les préparent à l’emploi. 

  • Les data lakehouses regroupent les capacités des entrepôts de données et des data lakes au sein d’une seule et même solution de gestion des données. Les data lakehouses associent stockage à faible coût, moteur de requête haute performance et gouvernance intelligente des métadonnées. Les entreprises peuvent ainsi stocker et utiliser de grandes quantités de données structurées et non structurées destinées à leurs projets d’IA, de ML et d’analytique.

Fonctionnement d’une base de données

Les systèmes de base de données comportent 2 composants principaux : le système de stockage des données, qui héberge physiquement ou logiquement les données, et le système de gestion de base de données (DMBS), qui permet aux utilisateurs d’interagir avec les jeux de données stockés.

Pour mieux comprendre comment fonctionne une base de données, il convient d’examiner de plus près les différents composants de son système.

Matériel de base de données

Les bases de données doivent stocker leurs données quelque part, sur un certain type de matériel, sans toutefois nécessiter des machines spécialisées.

La plupart des systèmes de base de données sont composés de logiciels de base de données exécutés sur un ordinateur, un serveur ou un autre appareil. La machine fournit le matériel physique sur lequel repose la base de données. Le logiciel gère l’organisation logique des données. Par exemple, il peut s’agir de formater les données sous forme de tables dans une base de données relationnelle, ou de graphiques dans une base de données orientée graphe. 

La base de données et les applications qui l’utilisent peuvent s’exécuter sur le même matériel, mais aujourd’hui, la plupart des systèmes de base de données s’appuient sur une architecture multiniveau qui sépare les serveurs d’applications et les serveurs de base de données. Cette disposition offre plus d’évolutivité et de fiabilité. Les serveurs d’applications et de bases de données peuvent évoluer indépendamment les uns des autres, de façon à ce que les pannes survenues sur l’un des niveaux n’affectent pas les autres. 

Modèles de données et de base de données

Un modèle de données est la représentation visuelle d’un système d’information. Les modèles sont des outils conceptuels qui permettent aux administrateurs et aux concepteurs de bases de données de mieux comprendre les types de données qu’ils doivent suivre, ainsi que les relations entre les points de données, et de déterminer la meilleure façon d’organiser les données.

Diagramme de modélisation logique des données

Le modèle de données permet d’identifier le bon modèle de base de données, c’est-à-dire la mise en œuvre du système de base de données, notamment les exigences techniques et les formats de stockage. Par exemple, le modèle logique de données précédent peut donner lieu à une base de données relationnelle comme celle-ci : 

Diagramme de modélisation physique des données

Schémas de base de données

Le schéma de base de données définit techniquement et logiquement la manière dont les données sont organisées dans une base de données. Autrement dit, il traduit le modèle de données pour obtenir un ensemble de règles que la base de données doit suivre. 

Par exemple, le schéma d’une base de données relationnelle définit des éléments tels que le nom des tables, les champs, les types de données et les relations entre ces éléments.

Les schémas peuvent être représentés par le biais de graphiques visuels, écrits à l’aide d’instructions SQL ou d’autres langages de programmation, ou définis d’une autre manière. Cela dépend du type de schéma et du système de base de données.

Tout système de base de données relationnelles comporte un schéma. Certaines bases de données non relationnelles comportent un schéma, d'autres non, et d'autres encore l’autorisent sans le rendre obligatoire. 

Systèmes de gestion de bases de données (SGBD)

Un système de gestion de base de données (SGBD) est un logiciel qui permet aux administrateurs de bases de données, aux utilisateurs et aux applications d’interagir facilement avec les données d’une base de données.  

Les systèmes SGBD permettent aux utilisateurs de réaliser des tâches de gestion des données essentielles comme le formatage des bases de données, la gestion des métadonnées, l’interrogation des jeux de données et l’ajout, la mise à jour ou la suppression des données.

Certains SGBD contribuent à la mise en œuvre des mesures de sécurité des données, par exemple en appliquant des contrôles d’accès à la base de données et en enregistrant l’activité des utilisateurs. Ils peuvent également suivre la performance de la base de données.

Comme pour les bases de données, il existe différents modèles de SGBD. Par exemple, les systèmes de gestion de bases de données relationnelles (SGBDR) sont conçus pour les bases de données relationnelles, tandis que les systèmes de gestion de bases de données orientées objet (OODBMS) gèrent les bases de données orientées objet.  

Voici quelques-uns des systèmes de gestion de bases de données les plus courants :

  • MySQL est un SGBDR open source, généralement utilisé pour les sites d’e-commerce électronique et autres applications Web.

  • PostgreSQL est connu pour favoriser l’extensibilité et la fiabilité des transactions.

  • Microsoft SQL Server est largement utilisé par les entreprises dotées de réseaux Microsoft. 

  • Oracle Database est un SGBD multimodèle capable de gérer des données structurées et des données non structurées. 

  • IBM Db2 est un système de base de données cloud natif qui associe gestion des bases de données, entreposage, stockage et d’autres fonctionnalités pour prendre en charge l’analytique en temps réel, ainsi que les applications d’IA.  

Langages de bases de données

Les langages de base de données sont des langages de programmation spécialisés, qui permettent d’interagir avec les bases de données. Ils offrent aux utilisateurs une syntaxe pour écrire des requêtes afin de récupérer, de combiner, de mettre à jour et d’utiliser les données. 

Le langage de base de données le plus courant est le langage de requête structuré (SQL), que la plupart des bases de données relationnelles utilisent. Développé par des scientifiques d’IBM dans les années 1970, le SQL aide les administrateurs de bases de données, les développeurs et les analystes de données à effectuer des tâches telles que la définition des données, le contrôle d’accès, le partage des données, l’intégration des données et les requêtes analytiques.

Parmi les autres langages de base de données, citons le langage d’interrogation d’objet (OQL), qui fonctionne avec les bases de données orientées objets, et XQuery, qui fonctionne avec les bases de données de documents XML. 

Il existe également des langages spécifiques aux bases de données, tels que le langage de requête MongoDB (MQL) pour MongoDB et le langage de requête Cassandra (CQL) pour Apache Cassandra. 

L’importance des bases de données

Les bases de données sont essentielles à d’innombrables technologies que nous utilisons aujourd’hui, des applications bancaires, qui suivent les transactions financières dans des bases de données relationnelles, aux assistants IA qui s’appuient sur les bases de données vectorielles pour améliorer la précision. Si les bases de données sont si répandues, c’est parce qu’elles jouent un rôle essentiel dans les domaines suivants :

  •  Utilisabilité des données
  •  Intégrité des données
  •  Sécurité et conformité des données

Utilisabilité des données

Les entreprises possèdent aujourd’hui d’immenses quantités de données. Encore faut-il pouvoir les utiliser. Dans son guide La différence par les données, IBM révèle que 68 % des données d’entreprise ne sont jamais analysées, souvent parce que leur existence est ignorée, ou parce que les silos les rendent inaccessibles.

Les bases de données permettent aux entreprises d’organiser, de stocker et de gérer leurs données de manière centralisée. Ils permettent également d’automatiser une grande partie du processus de collecte de données, notamment la capture des événements et des transactions en temps réel.

La manière dont l’entreprise sélectionne, conçoit et met en œuvre ses applications de base de données est déterminante pour la réussite de ses projets. Lorsqu’elles sont organisées et facilement accessibles, les données permettent d’optimiser la prise de décision et alimentent la Business Intelligence, ainsi que les projets d’IA et de ML.

Intégrité des données

Les bases de données offrent des avantages plus importants que les feuilles de calcul et autres processus manuels de tenue de registres, qui sont sujets aux erreurs, à la redondance et à l’inexactitude.

Les bases de données pouvant être gérées de manière centralisée, elles facilitent l’application des règles de nettoyage et de formatage, la surveillance de l’utilisation, ainsi que la traçabilité des données. Grâce aux bases de données, nul besoin de faire circuler plusieurs copies des jeux de données, qui peuvent se désynchroniser au fil du temps. En effet, chaque application, chaque utilisateur peut travailler à partir du même référentiel partagé. 

En fin de compte, les bases de données permettent aux utilisateurs, quels qu’ils soient (personnes, applications, API), de disposer de données propres et fiables. 

Sécurité et conformité des données

Selon leur implantation et leur secteur d’activité, les entreprises doivent se conformer à des réglementations en matière de protection et de confidentialité des données telles que la loi américaine HIPAA (Health Insurance Portability and Accountability Act) et le Règlement général sur la protection des données (RGPD) adopté par l’UE.

Empêcher l’accès non autorisé aux données est non seulement une obligation, mais aussi une démarche stratégique pour les entreprises. Selon le Rapport sur le coût d’une violation de données publié par IBM, une violation coûte en moyenne 4,88 millions de dollars (perte d’activité, temps d’arrêt du système, efforts de résolution et autres coûts cumulés).

Les bases de données permettent de protéger les données et d’assurer la conformité grâce à des mesures de sécurité des données telles que les contrôles d’accès basés sur les rôles (RBAC), qui garantissent que seuls les utilisateurs autorisés accèdent aux données. 

Le rôle des bases de données dans les projets d’IA

75 % des PDG estiment qu’à l’avenir, l’avantage concurrentiel reviendra aux entreprises qui disposeront de l’IA générative la plus avancée. Pour prendre en charge des IA aussi avancées, les entreprises doivent être en mesure de stocker, de gérer et de gouverner d’immenses quantités de données structurées et non structurées. Seul un système de base de données adapté peut leur permettre d’atteindre cet objectif.

Chaque type de bases de données a ses propres applications en matière d’IA et de ML. Par exemple, les bases de données vectorielles sont couramment utilisées pour mettre en œuvre les cadres RAG, qui permettent de réduire les hallucinations. Les bases de données clé-valeur accélèrent la récupération et le traitement des données. Les bases de données en mémoire peuvent prendre en charge la mise en cache et l’analytique en continu.

Considérations relatives aux bases de données

Le choix des bases de données à utiliser pour chaque projet dépend de plusieurs facteurs. En voici les plus importants :

  • Type de données : chaque type de base de données gère certains types de données plus efficacement que d’autres. Par exemple, pour mapper les relations, une base de données orientée graphe est généralement plus adaptée qu’une base de données SQL.

  • Objectif : selon l’application prévue, certains types de bases de données sont plus adaptés que d’autres. Par exemple, une base de données vectorielle est souvent le meilleur choix pour les cadres RAG.  

  • Exigences en matière de performance : si une application extrait continuellement des données en temps réel, l’entreprise doit s’équiper d’une base de données qui optimise la vitesse des requêtes. Cependant, si l’entreprise a besoin d’un endroit pour stocker les données avant de les envoyer vers un entrepôt, la performance peut s’avérer moins importante.

  • Prix : Le coût d’une base de données dépend de la quantité de données à stocker, de leur format et des exigences en matière de performance de l’entreprise.

  • Évolutivité : certaines bases de données ne peuvent évoluer que verticalement, ce qui veut dire que des ressources supplémentaires doivent être ajoutées au serveur ou à la machine en place. D’autres peuvent évoluer horizontalement, ce qui signifie que des serveurs supplémentaires peuvent être ajoutés pour prendre en charge la base de données de manière distribuée.