Base de Données ======== Intro ------ Elles se chargent elles-mêmes de créer, de mettre à jour ou de supprimer des données. Elles effectuent également des recherches parmi les données quâelles contiennent sur demande de lâutilisateur, et de lancer des applications à partir des données. Les bases de données sont utilisées par de nombreuses entreprises dans toutes les industries. Elles sont notamment utilisées par les compagnies aériennes pour gérer les réservations. Elles sont utilisées pour la gestion de production. Pour les enregistrements médicaux dans les hôpitaux, ou encore pour les enregistrements légaux dans les compagnies dâassurances. Les bases de données les plus larges sont généralement utilisées par les agences gouvernementales, les grandes entreprises ou les universités. Son histoire ------------- Lâhistoire des bases de données remonte aux années 1960, avec lâapparition des bases de données réseau et des bases de données hiérarchiques. Dans les années 1980, ce sont les bases de données object-oriented qui ont fait leur apparition. Aujourdâhui, les bases de données prédominantes sont les SQL, NoSQL et bases de données cloud. Il est aussi possible de classer les bases de données en fonction de leur contenu : bibliographique, textes, nombres ou images. Toutefois, en informatique, on classe généralement les bases de données en fonction de leur approche organisationnelle. Il existe de nombreux types de bases de données différentes : relationnelle, distribuée, cloud, NoSQL⦠Voici les différents types de bases de données. Type --------- Dans le cas dâune grande database, les multiples utilisateurs doivent être en mesure de manipuler les informations quâelle contient rapidement et nâimporte quand. De plus, les grandes entreprises ont tendance à cumuler de nombreux fichiers indépendants comprenant des fichiers liés ou même des données se superposant. Dans le cadre dâune analyse de données, il est nécessaire que les données en provenance de plusieurs fichiers puissent être liées. Câest pourquoi différents types de bases de données ont été développé pour répondre à ces exigences : orientée texte, hiérarchique, réseau, relationnelle, orientée objet⦠Base de données hiérarchique Les bases de données hiérarchiques comptent parmi les plus anciennes bases de données. Au sein de cette catégorie, les enregistrements sont organisés dans une structure dâarborescence. Chaque niveau dâenregistrements découle sur un ensemble de catégories plus petites. Base de données réseau Les bases de données réseau sont également parmi les plus anciennes. Plutôt que de proposer des liens uniques entre différents ensembles de données à divers niveaux, les bases de données réseaux créent des liens multiples entre les ensembles en plaçant des liens, ou des pointeurs, sur un ensemble dâenregistrements ou un autre. La vitesse et la polyvalence des bases de données réseau ont conduit à une adoption massive de ce type de databases au sein des entreprises ou dans le domaine du e-commerce. Base de données orientée texte Une database orientée texte, ou flat file database, se présente sous la forme dâun fichier (une table) au format .txt ou .ini. Un fichier plat est un fichier texte, ou un fichier combinant du texte avec un fichier binaire. En général, dans ces bases de données, chaque ligne ne comporte quâun enregistrement.La plupart des bases de données pour PC sont des bases de données orientées texte. Base de données SQL (relationnelle) Les bases de données relationnelles ont été inventées en 1970 par E.F. Codd de IBM. Il sâagit de documents tabulaires dans laquelle les données sont définies afin dâêtre accessibles et de pouvoir être réorganisées de différentes manières. Les bases de données relationnelles sont constituées dâun ensemble de tableaux. Au sein de ces tableaux, les données sont classées par catégorie. Chaque tableau comporte au moins une colonne correspondant à une catégorie. Chaque colonne comporte un certain nombre de données correspondant à cette catégorie. LâAPI standard pour les bases de données relationnelles est le Structured Query Language (SQL). Les bases de données relationnelles sont facilement extensibles, et de nouvelles catégories de données peuvent être ajoutées après la création de la database originale sans avoir besoin de modifier toutes les applications existantes. Base de données distribuée Une BDD distribuée est une database dont certaines portions sont stockées à plusieurs endroits physiques. Le traitement est réparti ou répliqué entre différents points dâun réseau. Les bases de données distribuées peuvent être homogènes ou hétérogènes. Dans le cas dâun système de base de données distribuée homogène, tous les emplacements physiques fonctionnent avec le même hardware et tournent sous le même système dâexploitation et les mêmes applications de bases de données. Au contraire, dans le cas dâune database distribuée hétérogène, le hardware, les systèmes dâexploitation et les applications de bases de données peuvent varier entre les différents endroits physiques. Base de données cloud Dans ce cadre, elle est optimisée ou directement créée pour les environnements virtualisés. Il peut sâagir dâun cloud privé, dâun cloud public ou dâun cloud hybride. Les bases de données cloud offrent plusieurs avantages comme la possibilité de payer pour la capacité de stockage et la bande passante en fonction de lâusage. Par ailleurs, il est possible de changer lâéchelle sur demande. Ces bases de données offrent aussi une disponibilité plus élevée. Base de données NoSQL Les bases de données NoSQL sont utiles pour les larges ensembles de données distribuées. En effet, les bases de données relationnelles ne sont pas conçues pour le Big Data, et les ensembles de données trop larges peuvent poser des problèmes de performances. Si une entreprise doit analyser dâimportantes quantités de données non structurées, ou des données stockées sur plusieurs serveurs cloud virtuels, la database NoSQL est idéale. Avec lâessor du Big Data, les bases de données NoSQL sont de plus en plus utilisées. Base de données orientée objets Les objets créés à lâaide de langage de programmation orientés objets sont généralement stockés sur des bases de données relationnelles. Toutefois, en réalité, les bases de données orientées objets sont plus adaptées pour stocker ce type de contenu. Plutôt que dâêtre organisée autour dâactions, les bases de données orientées objets sont organisées autour dâobjets. De même, au lieu dâêtre organisées autour dâune logique, elles sont organisées autour des données. Par exemple, un enregistrement multimédia au sein dâune BDD relationnelle peut être défini comme un objet de données plutôt que comme une valeur alphanumérique. Base de données orientée graph Une base de données orientée graphe, ou graphe, est un type de database NoSQL utilisant la théorie des graphes pour stocker, cartographier et effectuer des requêtes sur les relations entre les données. Les bases de données graphe sont constituées de noeuds et de bords. Chaque noeud représente une entité, et chaque bord représente une connexion entre les noeuds. Les bases de données graphes gagnent en popularité dans le domaine des analyses dâinterconnexions. Par exemple, les entreprises peuvent Les bases de données cloud se distinguent des bases de données traditionnelles par le fait quâelles résident sur le cloud public, privé ou hybride et non sur des serveurs internes. On distingue deux environnements de bases de données cloud distincts : les bases de données traditionnelles, et les bases de données en tant que service (DBaaS). Une database cloud traditionnelle peut être lancée sur lâinfrastructure informatique dâune entreprise par le biais dâune machine virtuelle. La maintenance et la gestion de la base de données sont assurées par le personnel informatique de lâentreprise. Dans le cas dâune DBaaS, lâentreprise sâabonne et elle repose sur lâinfrastructure physique du fournisseur de services cloud. Le fournisseur se charge de la maintenance de lâinfrastructure physique et de la base, tandis que le client est chargé de gérer le contenu et les opérations de la BDD. Certains fournisseurs proposent également de prendre en charge la gestion, une option très utile pour les petites entreprises qui ont besoin dâune database, mais nâont pas lâexpertise informatique.utiliser une BDD graphe pour miner des données sur ses clients à partir des réseaux sociaux. De plus en plus souvent, des bases de données jadis séparées sont combinées électroniquement sous forme de collections plus larges que lâon appelle les Data Warehouses. Les entreprises et les gouvernements utilisent ensuite des logiciels de Data Mining pour analyser les différents aspects des données. Par exemple, une agence gouvernementale peut procéder ainsi pour enquêter sur une entreprise ou une personne qui ont acheté une grande quantité dâéquipement, même si les achats sont disséminés dans tout le pays ou répartis entre plusieurs subsidiaires. Relation or not ------------- Il peut être tentant de voir les bases de données NoSQL comme un remplacement pour les bases de données relationnelles. Toutefois, en réalité, il peut y avoir de la place pour ces deux types de technologies dans la plupart des entreprises. Les bases de données SQL et NoSQL prennent en charge les informations dâune façon différente et prennent en charge différents types de workloads. Plutôt que de prendre la place des bases de données relationnelles, les bases de données NoSQL permettent aux entreprises de viser de nouveaux objectifs, de relever de nouveaux défis. Il est important de bien savoir dans quelle situation utiliser une database NoSQL, et dans quelle situation il est préférable dâutiliser une BDD relationnelle. En fonction de la nature du workload et des données sous-jacentes, il convient dâutiliser une solution relationnelle ou NoSQL. Ainsi, les bases de données NoSQL conviennent davantage aux grands ensembles de données fréquemment exposés à de nouvelles informations, au sein desquels les enregistrements ont des structures variables ne se mariant pas bien aux modèles relationnels. Une autre raison pour laquelle les bases de données non relationnelles ne remplaceront pas les bases de données relationnelles est que les vendeurs de bases de données relationnelles ont amélioré leurs produits pour les adapter aux applications Big Data. Non seulement ces deux technologies ont encore leur place en entreprise, mais il y a aussi de la place pour quâelles poursuivent toutes les deux leur croissance de leur côté. Cloud ------- Les bases de données cloud se distinguent des bases de données traditionnelles par le fait quâelles résident sur le cloud public, privé ou hybride et non sur des serveurs internes. On distingue deux environnements de bases de données cloud distincts : les bases de données traditionnelles, et les bases de données en tant que service (DBaaS). Une database cloud traditionnelle peut être lancée sur lâinfrastructure informatique dâune entreprise par le biais dâune machine virtuelle. La maintenance et la gestion de la base de données sont assurées par le personnel informatique de lâentreprise. Dans le cas dâune DBaaS, lâentreprise sâabonne et elle repose sur lâinfrastructure physique du fournisseur de services cloud. Le fournisseur se charge de la maintenance de lâinfrastructure physique et de la base, tandis que le client est chargé de gérer le contenu et les opérations de la BDD. Certains fournisseurs proposent également de prendre en charge la gestion, une option très utile pour les petites entreprises qui ont besoin dâune database, mais nâont pas lâexpertise informatique.