Glossaire relatif à la confidentialité
Base de données
Qu’est-ce qu’une base de données ?
Une base de données est une collection organisée de données, stockées et accessibles électroniquement, généralement via un système informatique. Une base de données peut être petite ou grande, simple ou complexe selon la situation. Elle peut contenir tout type d’information et est un élément crucial de nombreux systèmes informatiques.
Quel est le but d’une base de données ?
Une base de données est simplement un ensemble (dans le cadre de cet article, un ensemble numérique) de données stockées de manière cohérente et accessible. La collecte et le stockage de données pour une utilisation future sont nécessaires pour que de nombreuses applications et services puissent fonctionner (bien que la collecte de données utilisateur dans une base de données puisse présenter les préoccupations de sur la confidentialité et sur la sécurité).
Mais la collecte des données n’est que la première étape. Pour que les données soient utiles, elles doivent être formatées de manière cohérente (c’est-à-dire « structurées ») et stockées en toute sécurité. Un bon système de base de données permet un accès rapide et précis aux données spécifiques nécessaires et présente les données demandées sous une forme utilisable. Maintenir l’intégrité des données, permettre et enregistrer les modifications apportées aux données, et fournir des capacités de sauvegarde et de restauration sont d’autres caractéristiques d’une base de données bien conçue.
Comment créer une base de données ?
Il y a trois composants pour construire une base de données :
- La conception du contenu de la base de données
- L’architecture du système qui héberge les données
- Le système de gestion utilisé pour maintenir les données
Pour montrer ces différents composants en action, dans cet article nous ferons référence à une base de données hypothétique qui enregistre des données sur les utilisateurs d’une application musicale et les chansons qu’ils écoutent.
Conception
La conception de la base de données prend en compte les éléments de données qui vont être stockés et la façon dont les différents éléments sont liés les uns aux autres ; elle inclut des fonctionnalités pour garantir l’intégrité des données (c’est-à-dire éliminer la possibilité de données perdues ou inutilisables, alias des « données de mauvaise qualité »). Le but d’une bonne conception de base de données est de garantir des données correctes, bien structurées et facilement accessibles par les programmeurs, les administrateurs de base de données et les ingénieurs.
Pour notre application musicale hypothétique, pendant la phase de conception, les ingénieurs identifieraient les éléments de données que l’entreprise a besoin de stocker. Par exemple, lorsqu’une personne s’inscrit pour utiliser l’application, l’entreprise pourrait vouloir enregistrer le nom de l’utilisateur, son adresse e-mail et son identifiant d’écran. Séparément, l’entreprise aurait besoin d’une base de données avec les titres de chaque chanson disponible sur l’application. Lorsqu’un utilisateur écoute une chanson, les administrateurs devraient déterminer quelles autres données capturer, comme la chanson écoutée, l’heure de la journée où elle a été écoutée et s’il a « aimé » la chanson.
Architecture
L’architecture de la base de données se concentre sur le matériel et les logiciels utilisés pour collecter, héberger et accéder aux données. Ces décisions prennent en compte la taille actuelle et future de la base de données, qui y accédera, comment et l’utilisation des données.
Dans l’exemple de l’application musicale, décider de la configuration matérielle nécessaire pour stocker les données dépendrait de facteurs comme le nombre d’utilisateurs que l’entreprise prévoit d’avoir, le nombre de chansons disponibles et la fréquence d’écoute des utilisateurs. L’entreprise devrait également considérer si elle doit gérer directement les serveurs de données ou sous-traiter cette gestion.
Système de gestion
Le système de gestion de base de données (SGBD) est le système logiciel utilisé pour accéder et gérer la base de données. Le SGBD prend en charge les requêtes, les mises à jour, les sauvegardes et les restaurations (en cas de perte de données ou d’autres problèmes majeurs). Le SGBD peut fournir des informations concernant la structure de la base de données et suivre qui a accédé et modifié les données. Des procédures de sécurité solides sont généralement intégrées dans le SGBD.
Pour l’exemple de l’application musicale, le SGBD donnerait à l’administrateur la capacité d’ajouter de nouvelles chansons à la bibliothèque, d’ajouter ou de supprimer des utilisateurs, ou d’interroger les données pour obtenir des informations comme les chansons les plus populaires. Le SGBD pourrait permettre à de nombreux administrateurs d’accéder à certaines données (par ex., quelles chansons sont jouées), mais seulement à quelques-uns d’accéder aux données des utilisateurs ou de remplacer/purger les données existantes.
Quels sont les différents types de bases de données ?
Il existe de nombreux types de bases de données. Parfois, une base de données est décrite par sa structure de données (comment les éléments de données sont organisés ou stockés). D’autres fois, une base de données peut être décrite en fonction de son emplacement physique, c’est-à-dire où l’ordinateur qui stocke les données « réside » réellement. Parmi les descripteurs de bases de données courants, on trouve :
Bases de données plates
Une structure simple avec toutes les données dans un seul fichier ou tableau. Des exemples de ce type sont une feuille de calcul ou un fichier texte avec des éléments de données séparés par un caractère spécifique tel qu’une virgule ou un point-virgule.
Bases de données relationnelles
Une collection de tableaux reliés par des clés. Les tableaux divisent les données en groupes pour maximiser l’efficacité et minimiser les informations répétitives. Un tableau peut contenir une seule ligne pour les utilisateurs (précédée par un numéro d’identification unique, ou UID), tandis qu’un second tableau pourrait avoir des lignes pour les produits (précédées par un identifiant de produit), et un troisième pourrait capturer les interactions entre les deux premiers tableaux. En structurant de cette manière, chaque tableau peut rester de taille gérable.
Bases de données NoSQL
Abréviation de Not SQL (où SQL est l’abréviation de Structured Query Language, un langage standardisé utilisé pour interroger les données d’une base de données). Peut également être appelé base de données document, graphe ou clé-valeur. Les bases de données NoSQL ont une structure plus dynamique et peuvent mieux s’adapter aux changements de structure qu’une base de données SQL. Cela fait de NoSQL un choix populaire pour les applications en temps réel, et les nouvelles applications qui pourraient devoir évoluer rapidement.
Bases de données colonnes
Contrairement au système de base de données typique (qui stocke les données en lignes, et une seule ligne est stockée comme un ensemble), un système de base de données colonnes stocke les données en colonnes (les données d’une seule colonne sont stockées comme un ensemble). Ce type de base de données est souvent utilisé dans les applications de « big data » où l’analyse des données est prioritaire. Lorsqu’elle est stockée comme un ensemble, une colonne contenant un type unique de données peut être rapidement récupérée et analysée.
Différents emplacements de base de données (ou « hébergement »)
Il existe plusieurs options pour déterminer où une base de données « vit » (comme les serveurs physiques sur lesquels elle est hébergée). Il s’agit notamment de :
Interne
Les ordinateurs ou serveurs qui stockent les données sont physiquement situés dans les locaux ou le bâtiment du propriétaire de la base de données.
Cloud
Les ordinateurs ou serveurs qui stockent les données sont dans un endroit distant comme une ferme de serveurs ou un centre de données. Les serveurs qui stockent les données sont souvent maintenus par un tiers, qui peut ou non gérer également la base de données elle-même. Une entreprise peut choisir d’utiliser le cloud et les services associés parce qu’il est plus facile ou moins risqué de les gérer elle-même en interne.
Distribuée
Les données sont stockées sur plusieurs ordinateurs, éventuellement dans plusieurs endroits. L’avantage de performance de cet arrangement est l’amélioration du temps de réponse. Un autre avantage de la distribution des données est la décentralisation du contrôle du Web et de son contenu, réduisant ainsi la dépendance à l’égard de quelques grandes entreprises technologiques. La décentralisation est un concept central de l’émergence du Web3 et des blockchains.
Blockchain
Technologie de base de Web3, une blockchain est composée de nombreux ordinateurs individuels (même des ordinateurs ou des périphériques personnels) ou de serveurs qui maintiennent les mêmes copies de données enregistrées. Cette copie partagée est souvent appelée « registre » et fonctionne comme un grand livre comptable traditionnel. Les données de ces registres partagés peuvent représenter toutes sortes de choses, mais il s’agit le plus souvent d’un historique de transactions en cryptomonnaies.
Qu’est-ce qu’un langage de requête ?
Un langage de requête est une manière codifiée pour un utilisateur d’accéder aux données dans une base de données. Une requête permet à un utilisateur de récupérer une donnée ou des ensembles de données partageant une ou plusieurs caractéristiques. Le langage de requête adéquat dépend de la structure de la base de données. Une base de données relationnelle peut utiliser SQL, tandis qu’une base de données NoSQL peut utiliser MongoQL. Ce ne sont que deux exemples parmi les nombreuses options de langages possibles.
Comment une base de données est-elle sécurisée ?
Il existe plusieurs couches de protection dans la sécurité des bases de données. La première est la sécurité de l’accès. Les données ne devraient être accessibles qu’aux personnes qui en ont besoin. De plus, tous les utilisateurs n’ont pas besoin des mêmes autorisations. Certains utilisateurs peuvent avoir accès à une quantité limitée de données, tandis que d’autres peuvent avoir accès pour les consulter mais pas pour les modifier.
Ensuite, il y a la sécurité des données elles-mêmes, au cas où quelqu’un obtiendrait un accès non autorisé. Les meilleures pratiques incluent le chiffrement des données sensibles lorsqu’elles sont stockées, de sorte que même si les données sont volées, elles ne puissent pas être lues.
Enfin, il est important de pouvoir restaurer les données en cas de compromission. Les procédures de sauvegarde et de récupération empêchent les données d’être définitivement perdues ou corrompues en créant des sauvegardes périodiques (par exemple, toutes les 24 heures) de la base de données et de ses données.
Puis-je protéger mes données personnelles dans les bases de données ?
Il n’y a pas grand-chose que vous puissiez faire en tant qu’individu pour protéger vos données une fois qu’elles sont dans la base de données de quelqu’un d’autre. Généralement, vous devez compter sur le propriétaire de la base de données pour appliquer de bonnes pratiques en matière de cybersécurité. Lorsque vous avez le choix, vous pouvez faire attention à l’endroit et au moment où vous fournissez vos données personnelles :
- Vérifiez que le URL commence par « https:// » (et non « http:// »). Cela indique que vos données sont chiffrées lors du transfert. Bien que cela ne garantisse pas que vos données sont stockées de manière chiffrée, https pourrait améliorer les chances.
- Minimisez le nombre d’endroits où vos données sont stockées. Moins vos données sont stockées à divers endroits, moins vous êtes exposé au vol de données. Par exemple, mettez en place des paiements automatiques via le système de paiement de factures de votre banque plutôt que sur chaque site web de compte. Cela réduit le nombre de bases de données sur lesquelles les informations de votre compte bancaire sont stockées.
Heureusement, des évolutions récentes en matière de législation sur la protection des données, dont le Règlement général sur la protection des données (RGPD) adopté dans l’UE, et la Loi californienne sur la protection de la vie privée des consommateurs (CCPA), qui permettent notamment aux utilisateurs de voir quelles données sont stockées, et de demander que leurs données soient corrigées ou supprimées. Avec l’adoption de ces lois, la protection des données individuelles continuera de s’améliorer.