IT Explained

IT Explained:

Database




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

 

Une base de données est un ensemble d'informations consultables, généralement liées les unes aux autres (données) et enregistrées électroniquement. La fonction d'une base de données ne se limite pas qu'au stockage des données, mais elle permet aussi de les enregistrer dans un format permettant des recherches efficaces et rapides et d’assurer la sécurité des données.

Les fonctions propres aux bases de données sont des procédures, qui effectuent des opérations spécifiques sur les données se trouvant dans une base de données. Les fonctions d'une base de données incluent les opérations de base CRUD, acronyme de create, read, update, and delete data (créer, lire, actualiser et supprimer les données). Selon les langages informatiques, ces opérations de base peuvent avoir des dénominations différentes, par exemple insérer au lieu de créer.

Une base de données est gérée par un système de gestion de base de données (DBMS) ou par un système de gestion de base de données relationnelle (RDBMS).

Les systèmes de base de données sont constitués d'un ensemble d'équipements physiques stockant les données, de logiciels complexes DBMS ou RDBMS et de différents langages informatiques, permettant d'accéder aux données et de les traiter.

 

Où sont utilisées les bases de données ?

 

Historique

Avant l'apparition de la première base de données électronique, les bases de données non électroniques étaient des classeurs, dans lesquels on stockait et on organisait les informations comme des documents papier. Ces informations pouvaient y être efficacement classées et retrouvées.

C'est Charles Bachman qui a conçu la première base de données sur ordinateur, l'Integrated Data Store (IDS), au début des années 1960. L'IDS a introduit le concept de la base de données de navigation, qui avait deux modèles, hiérarchique et réseau ; aucun des deux n'avait de fonction de recherche. Les bases de données électroniques permettant des recherches ont été introduites dans les années 1970, en même temps que le structured query language (SQL) - le langage de requête structurée - qui a donné la possibilité d'effectuer des recherches. NoSQL a été développé dans les années 2000 pour gérer les surabondance de données non structurées sur Internet. Dans les années 2010, l'augmentation des big data et la mondialisation de l'internet des objets (IoT) ont influencé le développement d'un modèle de base de données distribué, afin de permettre l'enregistrement des données dans plusieurs sites.

   

Utilisations des bases de données

Les bases de données sont utilisées partout où les données doivent être stockées. Les exemples les plus communs d'utilisation des bases de données sont : les systèmes bancaires, les applications industrielles, les données gouvernementales, le commerce, le commerce en ligne, les finances personnelles, et la plupart des applications en ligne. L'utilisation moderne des bases de données inclut les réseaux sociaux, l'informatique mobile, le Cloud et les applications d'analyses de données. Ces types d'utilisation ont influencé la croissance des nouveaux types de base de données et l'utilisation de systèmes de base de données mixtes et de structures.

Les bases de données se caractérisent par le type de données qu'elles contiennent, par la méthode utilisée pour accéder aux données ou par la manière dont les données sont enregistrées. Les exemples incluent les bases de données relationnelles, in-memory, hiérarchiques, virtualisées, orientées colonne, orientées graphe, orientées objet, distribuées, streaming, chronologiques et Cloud. Les bases de données peuvent également être classées selon leur fonction ou le secteur industriel qui les utilise. Ce sont par exemple les bases de données personnelles, d'activités commerciales, d'utilisateurs finaux, blockchain, d'opérations et de réseau.

 

Données structurées et non structurées

C'est le type de données devant être enregistrées et accédées qui détermine le type de base de données devant être utilisé pour une application. Il existe deux types de données enregistrées dans les bases de données, les données structurées et les données non structurées. Les données structurées ont une longueur et un format prédéfinis, par exemple des chiffres, des dates, des chaînes de caractères. Elles sont enregistrées dans des bases de données relationnelles et on y accède en utilisant un logiciel appelé SQL. Les données non structurées incluent les multimédias et des ensembles de documents. Elles sont enregistrées dans des bases de données non rationnelles et on y accède principalement en utilisant NoSQL. La principale différence entre les bases de données relationnelles et non relationnelles est que les premières définissent explicitement les relations entre les données.

 

Bases de données relationnelles

 

 

Dans les bases de données relationnelles, les données sont organisées par lignes et par colonnes dans différentes tables. La structure des données est séparée de la structure physique et les données peuvent être localisées en utilisant des algorithmes de recherche, basés sur un lien unique d'identifiants, appelés clés. Les bases de données relationnelles utilisent des schémas, qui sont des modèles décrivant la façon dont les données sont organisées. Les bases de données relationnelles sont conçues pour permettre la normalisation, c'est-à-dire qu'une donnée n'est stockée qu'à un seul endroit. À l'opposé d'une base de données hiérarchique, une base de données relationnelle utilise un modèle de liens many-to-many. Les bases de données relationnelles sont orientées par lignes, alors que les bases de données non relationnelles sont orientées par colonnes.

 

Le langage de requête SQL

Une base de données relationnelle est également appelée base de données SQL car elle utilise le langage SQL pour effectuer des requêtes et pour trouver, modifier et supprimer des données.

Les langages de bases de données peuvent être classés en tant que langage de définition des données ou en tant que langage de traitement des données. Les langages de traitement des données incluent les langages de requête de données et les langages procéduraux. Les langages procéduraux supportent les processus de codage, tels que des fonctions d'itération et de récursivité.

SQL est un langage de définition de données, et non un langage procédural. SQL est souvent intégré dans un langage hôte à usage général, comme Cobol, C++, Python ou Java, pouvant exécuter des fonctions d'itération et de récursivité.

Microsoft SQL Server, MySQL, Oracle Database et IBM DB2 sont des exemples connus de bases de données relationnelles.

 

 

 

 

 

 

 

 

 

 

 

 

Supervision des bases de données en 3 minutes avec PRTG

Bases de données non relationnelles

 

L'utilisation de gros volumes de données non structurées dans les applications modernes a entraîné le développement de bases de données non relationnelles. Les bases de données non relationnelles sont conçues pour répondre aux exigences croissantes en matière d'évolutivité. Les bases de données non relationnelles sont appelées NoSQL pour les distinguer de SQL ou des bases de données relationnelles car elles n'utilisent pas le langage de requêtes SQL. NoSQL est un acronyme de not SQL (pas SQL) mais peut aussi signifier pas uniquement SQL.

Langages NoSQL

Différents types de bases de données NoSQL ont leur propre langage de requête, un bon nombre d'entre eux sont vaguement basés sur SQL. Le Cassandra Query Language (CQL) est utilisé pour effectuer des requêtes dans les bases de données Cassandra. MongoDB a des pilotes permettant d'interagir avec différents langages, tels que Java ou C#. Il a son propre langage interne Shell, le MongoDB Query Language (MQL), qui est basé sur des scripts Java.

Modèles NoSQL de magasins de données

Le terme magasin de données fait référence au modèle de stockage utilisé par une base de données non relationnelle, par exemple les données peuvent être stockées sous forme de documents, d'images ou de graphiques. Les bases de données NoSQL sont basées sur quatre principaux modèles de magasins de données : les magasins de clé-valeur, les magasins de documents, les magasins orientés par colonnes et les magasins graphiques. Les modèles plus spécialisés et moins courants sont les magasins time-series, les magasins objets et les magasins de données d'index extérieur.

Magasin clé-valeur

Une paire clé-valeur, ou une paire nom-valeur, est une unité de données identifiée par un nom et par la valeur du contenu, par exemple clé=pays et valeur=Bolivie. En utilisant des paires clé-valeur, les développeurs peuvent créer des structures de données ouvertes et très évolutives, qui ne sont pas limitées par la taille ou par le type et qui sont facilement partitionnées, afin de permettre des requêtes plus rapides. Les bases de données basées sur le modèle clé-valeur sont considérées comme étant la version la plus simple des bases de données NoSQL. Redis et Amazon DynamoDB sont des exemples de bases de données clé-valeur.

Une base de données NoSQL est souvent nommée base de données clé-valeur. Certaines bases de données NoSQL peuvent être considérées comme étant des bases de données clé-valeur hybrides. Par exemple, la base de données Cassandra de Facebook est une base de données clé-valeur et une base de données orientée par colonnes. La base de données NoSQL Oracle est une base de données clé-valeur distribuée.

Magasin de documents

Une base de données basée sur le modèle de magasin de documents est conçue pour stocker des documents de façon efficace, chaque document constituant une entité unique. Les entreprises de média, telles que les maisons de presse et les systèmes de Knowledge Base, utilisent des bases de données de type magasin de documents pour stocker des articles, des synopsis, des blogs et les courriers. Une base de données de type magasin de documents stocke les documents dans leur intégralité, ce qui permet d'accéder rapidement à chaque document. Si les documents devaient être stockés dans une base de données relationnelle, un article de presse typique devrait être divisé en éléments composites et logiques - par exemple, les informations sur l'auteur, le contenu et les commentaires des lecteurs - puis être croisé avec une clé de référence, comme l'auteur. MongoDB et Elasticsearch sont des exemples de bases de données de type magasin de données.

Magasin orienté colonnes

Les bases de données relationnelles sont orientées par lignes, alors que les bases de données non relationnelles sont orientées par colonnes. Les bases de données basées sur un modèle orienté par colonnes stockent de nombreuses colonnes, qui se trouvent séparément dans les lignes des bases de données relationnelles avec des IDs individuelles. Une base de données orientée par colonnes est capable de scanner uniquement la colonne concernée lors de la recherche de données, alors qu'une base de données orientée par lignes doit scanner toutes les colonnes d'un enregistrement, lorsqu'un filtrage est effectué dans une colonne spécifique. La base de données Cassandra de Facebook en est un exemple. 

Magasin graphique

Les magasins graphiques se réfèrent à un ensemble de relations. Les bases de données basées sur un modèle de magasin graphique sont principalement utilisées dans les plate-formes de réseaux sociaux. Elles sont conçues pour se connecter à différents nœuds avec plusieurs edges, créant des clusters pour les informations liées entre elles. Dans une base de données graphique, un nœud est l'entité primaire d'une donnée, par exemple une personne ou une entreprise. Les edges décrivent les relations d'un nœud avec d'autres nœuds, par exemple le client d'une entreprise, les secteurs, le personnel, les produits etc. Les edges sont elles-mêmes des nœuds, qui sont connectés à différentes edges. Neo4j est un exemple de base de données graphique.

Bases de données NoSQL

Base de données centralisée

Une base de données centralisée fonctionne en un lieu unique, par exemple la base de données du campus d'une université. Une base de données centralisée est différente d'un gestionnaire centralisé de base de données. Les entreprises modernes utilisent des systèmes de gestion centralisée de base de données, faits de plusieurs bases de données, pour stocker et gérer diverses données. La gestion centralisée de bases de données aide les entreprises à assurer la sécurité, l'intégralité, la cohérence et l'efficacité opérationnelle des données.

Base de données Cloud

Dans un environnement Cloud, une base de données Cloud est un service de base de données. Une entreprise peut acheter un espace virtuel chez un fournisseur de Cloud. Elle peut alors y déployer sa base de données. En alternative, une entreprise achète une licence pour une base de données en tant que service (DBaaS). Cette licence peut inclure la gestion de la base de données, la maintenance et les services opérationnels. Pour les bases de données, le DBaaS est l'équivalent du logiciel en tant que service (SaaS). Les bases de données Cloud sont généralement utilisées par les entreprises, qui ont des volumes de trafic importants et des clients répartis géographiquement. MySQL, IBM Db2, et Microsoft SQL Server sont des exemples de bases de données Cloud.

Base de données orientée colonnes

Une base de données orientée colonnes est une DBMS, qui stocke des données par colonnes, et non par lignes. Les bases de données orientées colonnes sont principalement utilisées dans les applications analytiques car les données sont très rapidement accessibles et sont dans des centres de données. Dans les bases de données orientées lignes, les lignes sont enregistrées sur un disque, dans des blocs continus. Dans les bases de données orientées colonnes, les colonnes sont enregistrées sur un disque, dans des blocs continus. Lorsqu'une entreprise a besoin de retrouver et d'analyser les données d'une colonne spécifique ou d'un groupe de colonnes, tout en souhaitant ignorer toutes les autres données d'un enregistrement, les bases de données orientées colonnes sont plus efficaces. ClickHouse, MariaDB, et Apache Cassandra sont des exemples de DBMS orientées colonnes.

Base de données distribuée

Dans une base de données distribuée, les données sont enregistrées dans divers emplacements physiques et sur plusieurs ordinateurs se trouvant sur le même site. Pour les utilisateurs, la base de données semble être unique.

Flat files

Les Flat files sont des fichiers texte, dans lesquels les données sont séparées par des délimiteurs, comme des virgules. Les Flat-files sont des fichiers d'enregistrement de données non relationnelles, mais les données peuvent être intégrées dans des bases de données relationnelles, en utilisant des applications de gestion de base de données, comme Microsoft Access. Un exemple courant de Flat file est le fichier ayant des comma-separated values (CSV) - données séparées par des virgules -.

Base de données hiérarchique

Dans une base de données hiérarchique, les données sont enregistrées dans une structure arborescente. Dans une base de données hiérarchique, les données sont retrouvées en parcourant l'arborescence du haut vers le bas, à l'aide de pointeurs.

Une base de données hiérarchique utilise un modèle de relation one-to-many, où un nœud parent peut avoir plusieurs nœuds enfants. La façon dont les dossiers et les fichiers sont présentés dans les gestionnaires de fichiers comme l'Explorateur Windows est un exemple de modèle hiérarchique de stockage de données.

Base de données in-memory

Une base de données in-memory (IMDB) stocke les données dans un équipement de mémoire volatile ou dans la mémoire vive d'un ordinateur (RAM), ce qui permet d'accéder plus rapidement aux données. Généralement, lorsque l'alimentation est coupée, les données sont perdues. Dans les systèmes modernes, la technologie d'accès aléatoire à la mémoire non volatile permet de conserver les données in-memory, même en cas de coupure d'alimentation. L'un des moyens d'y parvenir est le basculement automatique.

Dans les années 70, lorsque les bases de données relationnelles ont été créées, la mémoire était onéreuse. Aujourd'hui, les applications fonctionnent efficacement en utilisant des IMDBs, sans pertes d'informations, même en cas de coupure d'alimentation. Les applications nécessitant des performances élevées et une faible latence - comme les jeux en ligne, les processus géospatiaux, les processus d'auto-apprentissage, les équipements d'analyses médicales - peuvent utiliser des IMDBs non volatiles, en parallèle avec des bases de données stockées sur des disques.

De nombreuses bases de données incluent des options in-memory, comme memcached et Redis. La plate-forme Apache Ignite crée une couche in-memory par dessus une base de données existante. SQLite, Exasol, SAP HANA, et IBM solidDB sont des exemples de "pures" IMDBs.

Base de données JSON

Comme XML, JavaScript Object Notation (JSON) est décrite comme une base de données rudimentaire. JSON est un format d'échanges de données, utilisé pour décrire des données. C'est également un type de base de données de documents, qui peut être utilisée pour stocker des catalogues sur des sites de commerce en ligne et pour fournir des mises à jour en direct sur des sites Web.

TaffyDB est un système de base de données Flat file, qui utilise JSON pour enregistrer des données.

Base de données réseau

Une base de données réseau permet d'associer les enregistrements de plusieurs tables à un seul enregistrement d'une autre table. Contrairement à une base de données relationnelle traditionnelle, basée sur des clés, une base de données réseau est basée sur des pointeurs.

Un modèle de base de données réseau est considéré comme une version avancée d'un modèle de données hiérarchique car il utilise une structure graphique, au lieu d'utiliser une structure arborescente. Dans les bases de données réseau, les nœuds parents sont appelés occupants (occupiers) et les nœuds enfants sont appelés membres (members). Dans une base de données réseau, un nœud membre (members) peut avoir plusieurs nœuds occupants (occupiers). Un nœud occupant (occupiers) et un nœud membre (members) forment un lot. Dans ce modèle, les entités ont une relation many-to-many.

Base de données orientée objet

Une base de donnée orientée objet stocke les données sous forme d'objets comme ils sont utilisés dans la programmation orientée sur les objets. Dans les systèmes orientés objet, les objets peuvent être persistants. Les données persistantes sont des données, qui sont gardées pendant une période plus longue que prévue initialement et qui sont stockées sur des équipements de stockage non volatiles. Une base de données orientée objet utilise des modèles de relation many-to-many. L'accès aux données se fait avec des pointeurs. Les bases de données Magma et Realm’s mobile database sont des exemples de base de données orientées objet.

Base de données relationnelles orientée objet

Les bases de données relationnelles orientées objet sont des bases de données hybrides, qui combinent une base de données rationnelle et les propriétés d'une base de données orientée objet. Le principal élément distinctif des bases de données relationnelles orientées objet est qu'elles supportent des types d'agrégats, par exemple des listes et des lots. Par exemple, une colonne appelée adresse dans une base de données relationnelle pouvant contenir une liste d'informations liées comme la résidence et les résidences secondaires etc. PostgreSQL et Oracle sont des exemples de systèmes de gestion de base de données orientées objet (ORDBMS).

Base de données Online transaction processing (OLTP)

Un système de base de données OLTP gère de multiples transactions, qui sont effectuées simultanément par de multiples utilisateurs, par exemple les applications de commerce en ligne. Une base de données OLTP gère généralement de petites quantités de données à la fois, par exemple une transaction bancaire en ligne, mais elle doit supporter un grand nombre d'utilisateurs. Les bases de données souvent utilisées pour OLTP incluent MySQL, InterSystems Caché et VoltDB, une base de données NewSQL compatible avec l'atomicité (atomicity), la cohérence (consistency), l’isolation, la durabilité (durability) (ACID).

Base de données personnelle

Tout medium physique pouvant stocker des données est une base de données, cela inclut le disque dur d'un ordinateur. Cependant, les bases de données utilisées et discutées dans l'IT sont généralement des modèles complexes de stockage de données.

Les données stockées dans un équipement personnel, tel qu'un ordinateur, un smartphone, une tablette et des disques externes, sont des exemples de stockage de données personnelles. L'accès et la gestion de ces données se fait avec des applications, telles que Microsoft Office, avec des systèmes qui enregistrent les configurations et les données des utilisateurs et avec des applications fonctionnelles.

Les équipements personnels utilisent donc des IMDBs comme la RAM pour améliorer la performance des équipements.

Base de données XML

Une base de données Extensible Markup Language (XML), telle que JSON, est décrite comme étant rudimentaire. XML est un type de base de données de documents, dans le sens où des fichiers XML sont stockés avec l'extension .XML. Cette base de données peut stocker des données compatibles au format XML, qui peuvent faire l'objet de recherches en utilisant un outil de requêtes comme XQuery.

Les systèmes de base de données hybrides

Les fonctions spécifiques aux bases de données relationnelles et non relationnelles dans les applications modernes ont été regroupées dans certaines implémentations de bases de données. Cela permet de créer des systèmes de bases de données à modèles multiples. Par exemple, OrientDB est une base de données graphique NoSQL, dont les nœuds sont des documents.

Une base de données intégrant les fonctions des bases de données relationnelles et non relationnelles est un autre type de base de données hybride, par exemple NewSQL.

Un troisième type de base de données hybride se compose d'une base de données IMDB et d'une base de données sur disque. Dans ce type de base de données hybride, les données peuvent être enregistrées dans la mémoire principale, sur un disque ou en utilisant ces deux systèmes de stockage. Altibase est un exemple de ce type de base de données hybride.

 

Votre supervision de base de données PRTG en un coup d'œil 

DBMSs

 

Les fonctions DBMS sont des composants de logiciels, qui gèrent des groupes de tâches liées les unes aux autres. Les fonctions DBMS incluent : les dictionnaires, le stockage, la transformation, la présentation, la sécurité, le contrôle des accès, les sauvegardes et les restaurations, l'intégralité des données, les accès, les interfaces, la concordance et les modules de gestion de transactions.

Par exemple, une DBMS stocke des éléments de données et des données méta dans un dictionnaire de données (DD). Une DBMS permet de stocker non seulement des données, mais aussi des éléments liés aux données, tels que les règles de validation, les définitions des modèles et des rapports ainsi que des schémas décrivant la structure de la base de données. Les fonctions d'une DBMS sont interdépendantes. Par exemple, un module de contrôle d'accès gère l'accès aux données; le contrôle d'accès multiple permet à plusieurs utilisateurs d'accéder à la base de données, sans compromettre l'intégrité des données.

Les données sont stockées, accédées et gérées différemment dans une RDBMSs et dans une DBMSs. Dans une RDBMS, les données sont stockées dans des lignes de tables et l'accès à ces dernières se fait en utilisant un identifiant de ligne unique, appelé clé primaire. Une RDBMS supporte la normalisation et les bases de données distribuées, ainsi que plusieurs utilisateurs. Dans une DBMS, les données sont stockées soit sous forme de navigation, soit sous forme hiérarchique. Une DBMS ne supporte pas la normalisation, ni les bases de données distribuées, et elle ne supporte que des utilisateurs uniques.

Propriétés essentielles des bases de données

 

Il n'existe pas de spécifications formelles définissant ce qui constitue une base de données. Cependant, plusieurs normes de facto fournissent des consignes pour la conception de bases de données conformes aux réglementations internationales s'appliquant aux données.

Cohérence

L'une des caractéristiques essentielles des bases de données, à savoir la cohérence, repose sur l'un des deux modèles théoriques suivants : le modèle ACID et le modèle BASE (soft state, eventual consistance) généralement disponible.

Une base de données utilisant le modèle ACID garantit que les données sont stockées de façon sûre et cohérente. Cela signifie que lorsqu'un processus stocke des données et signale que les données ont été stockées, il est impossible que des données aient été perdues en cours de route. Les bases de données relationnelles utilisent toujours le modèle ACID et certaines bases de données graphiques NoSQL sont conçues pour être compatibles avec le modèle ACID.

Une base de données utilisant le modèle BASE se concentre sur la grande disponibilité des données pour des raisons d'évolubilité. Les bases de données non relationnelles sont généralement conçues pour être compatibles avec le modèle BASE.

Normalisation

La normalisation est le processus permettant d'organiser les données dans une base de données. La normalisation consiste à créer des tables et à définir les relations entre les tables selon des règles spécifiques. Celles-ci ont été conçues pour protéger les données, pour éliminer la redondance (doublons) et pour s'assurer qu'il n'y a pas d'anomalies. Un exemple typique d'anomalie évitée grâce à la normalisation est la création d'informations relatives à une vente, sans avoir créé au préalable des informations relatives au produit à vendre.

Persistance

La persistance des données garantit que toutes les informations enregistrées peuvent être récupérées, même si le support de stockage ou le système qui utilise les données est déconnecté. La possibilité pour un utilisateur de retrouver ses pages de navigation récentes après un crash de son ordinateur est un exemple de persistance.

Évolubilité

L'évolubilité est la capacité d'une base de données à gérer la croissance des volumes de données et un plus grand nombre d'utilisateurs. Par exemple, les réseaux sociaux ont besoin d'être très évolutifs pour gérer le trafic constant des nouvelles personnes postant des messages et téléchargeant des données.

Intégrité des données

L'intégrité des données fait référence à l'exactitude, à l'exhaustivité, à la cohérence, à la sécurité et à la sûreté des données. L'intégrité est indispensable pour respecter les réglementations, comme le règlement général sur la protection des données (RGPD).

Cardinalité

La cardinalité fait référence à la relation des données dans une table de base de données en relation avec une autre table. De plus, elle est liée au concept d'intégralité des données. Un exemple de cardinalité stipule le type de relation entre les valeurs des données, à savoir many to many, one to one ou many to one. Par exemple, une personne ne peut avoir qu'un seul numéro de sécurité sociale. La cardinalité est importante car elle a un effet sur l'efficacité des requêtes faites dans une base de données pour retrouver des données.

Les avantages d'une base de données

 

Bases de données relationnelles

Les bases de données relationnelles fournissent une meilleure cohérence et une meilleure fiabilité que les bases de données non relationnelles et elles réduisent la redondance des données. Les bases de données relationnelles permettent d'accéder facilement aux données grâce à un simple modèle de requêtes, ayant fait ses preuves. Elles permettent une sécurité élevée, l'intégralité des données et la normalisation.

Les bases de données relationnelles supportent les propriétés ACID, assurant ainsi des transactions fiables de bases de données. Elles supportent des requêtes complexes et permettent d'avoir des index illimités.

 

Bases de données non relationnelles

Les bases de données non rationnelles ont de meilleures performances et traitent les importants volumes de données plus rapidement que les bases de données rationnelles. Elles offrent une grande fiabilité et n'ont pas besoin de schéma.

Les bases de données non rationnelles utilisent l'évolubilité horizontale, ce qui signifie qu'elles s'accroissent en rajoutant des nœuds. L'évolubilité des bases de données non rationnelles est plus onéreuse que celle des bases de données relationnelles.

Les bases de données non rationnelles peuvent stocker et gérer différents types de données - comme les flux de messages d'information, les streams audio et vidéo et les données d'applications mobiles - sans modifier l'architecture.

Les désavantages des bases de données

 

Bases de données relationnelles

Comparées à d'autres types de bases de données, les bases de données relationnelles sont lentes et ont besoin de plus de mémoire, du fait de la manière dont elles stockent physiquement les données. Le processus de normalisation peut nécessiter de nombreuses jointures (tables de correspondance), ce qui ralentit également la vitesse pour retrouver des données.

Les bases de données relationnelles utilisent une évolubilité verticale, ce qui signifie qu'elles s'accroissent en augmentant la capacité des nœuds existants. L'évolubilité des bases de données relationnelles est plus onéreuse que celle des bases de données non rationnelles.

Les bases de données relationnelles peuvent devenir complexes, lorsqu'elles contiennent de nombreuses tables. De plus, leur interaction avec d'autres systèmes ayant une complexité similaire peut s'avérer extrêmement compliquée.

La maintenance des bases de données relationnelles est plus onéreuse. De plus, ces bases de données ne supportent pas les données non structurées. Elles ont aussi des longueurs de champs limitées.

Bases de données non relationnelles

Les bases de données non relationnelles n'utilisent pas de langage de requête standardisé et les langages développés par les éditeurs sont rarement aussi performants que SQL. Elles disposent de moins d'outils que les bases de données relationnelles.

Les bases de données non rationnelles sont moins sécurisées que les bases de données relationnelles. Elles n'ont pas de fonction intégrée d'intégralité des données et ne supportent pas l'ACID. Elles s'appuient plutôt sur une "cohérence éventuelle".

Les bases de données NoSQL fonctionnent avec un niveau de normalisation plus faible que celui des bases de données SQL. Elles peuvent donc contenir des données redondantes.

Il y a peu d'uniformité entre les bases de données non relationnelles ou entre les interfaces standardisées, qui leur permettent de communiquer entre elles.

Relationnelles + non relationnelles = NewSQL

 

Deux des principales raisons d'utiliser une base de données sont : accéder rapidement et efficacement aux données et assurer la persistance des données. Les applications modernes - les sites de réseaux sociaux, les prévisions météorologiques et l'intelligence artificielle - nécessitent d'énormes quantités de traitements des données en temps réel. Alors que les bases de données relationnelles restent statistiquement les plus utilisées, les systèmes de bases de données modernes intègrent souvent une variété de bases de données open source ou propriétaires, de DBMSs, de stockages physiques et virtuels et de cadres de base de données.

NewSQL est un système de gestion de bases de données relationnelles, qui a les propriétés d'évolubilité d'une base de données NoSQL. Les bases de données NewSQL supportent ACIDE, OLTP, l'évolubilité verticale et horizontale, des requêtes complexes, des magasins de différents types et des systèmes de base de données distribuées.

Spanner by Google est un exemple de combinaison moderne de systèmes de bases de données. Spanner est un système de base de données SQL distribuée et un service de stockage, mais il se réfère à une base de données NewSQL, hébergée dans le Cloud. Étant donné que les bases de données relationnelles supportent SQL et qu'elles sont plus homogènes que les bases de données NoSQL, elles ne sont pas aussi évolutives que les bases de données NoSQL. Spanner est une base de données relationnelle, mais Spanner fournit le type de fonctionnalités, pour lesquelles les bases de données NoSQL ont été conçues. Il s'agit de l'évolutivité globale, des performances optimisées grâce à la dénormalisation automatique, d'une grande disponibilité et d'une latence minimale. La dénormalisation est le processus de distribution des données, à partir d'une base de données surchargée vers de multiples bases de données plus petites, afin de répartir la charge.

MemSQL, Infobright, ScaleBase et TransLattice sont d'autres exemples de produits et de services de bases de données NewSQL.

 

 

Supervision des bases de données

 


La supervision des bases de données assure des performances optimales de traitement des données et d'utilisation des ressources. Par exemple, les performances SQL sont mesurées par la rapidité et l'efficacité avec lesquelles les requêtes SQL s'exécutent. La planification des capacité de stockage aide à estimer la capacité réelle requise, avant que les limites de stockage ne soient atteintes.

La supervision proactive des bases de données identifie les problèmes potentiels, avant qu'ils ne deviennent des failles de sécurité majeures. Elle est obligatoire pour rester conforme à la législation sur la confidentialité et la protection des données, comme la RGPD.

Les performances d'une base de données influencent directement la disponibilité, la vitesse de chargement des pages Web, les performances géographiques, l'utilisation efficace du matériel et l'expérience client.