Du web classique vers le cloud computing (cinq)

La série d’article du web classique vers le cloud  se concentre sur les besoins des entreprises, sur les bonnes pratiques pour construire un site web, un site de e-commerce sur le cloud et les besoins pour maintenir des sites existants.

Après un moment de silence autour du cloud , j’ai eu envie d’écrire un ensemble d’articles autour des transformations actuelles sur la partie des données. Je vais aborder des notions autour de bigData, autour des bases de données NoSQL.

Je vais expliquer les enjeux autour de la maîtrise des données, les avantages, les inconvénients.

Au delà des aspects théoriques et techniques, je vais vous parler d’infrastructure et d’architecture de données, de la modélisation des données dans les bases NoSQL, des graphes d’objets et de la création des bases hybrides, et aussi des impacts pour les concepteurs de logiciel.

C’est un vaste programme.

Les bases de données NoSql.

Il y a de nombreux articles autour des bases de données, autour du BigData, autour du NoSQL. Par ou commencer ? Je vous propose de regarder de plus près le puits de données.

Structure puit de donnée cloud

Le puits de données

Je vais faire un petit retour en arrière. Nous sommes dans les années 80, les entreprises utilisent de plus en plus l’informatique, sur les gros serveur IBM, BULL et autres (sur les mainframes). Les entreprises stockent des données dans des puits de données, sur des bandes, sur des cassettes.

Ordinateur de la NASA en 1962

Un Dec PDP-10

Un ordinateur central1, ou un mainframe, est un ordinateur de grande puissance de traitement.

On compte parmi les fabricants de ces systèmes de grandes compagnies telles Bull (avec les DPS/6 à DPS/8 sous système GCOS), EMC² Computer, IBM avec les zSeries (le plus souvent sous système z/OS – anciennement MVS, ou VSE, mais plus récemment aussi Linux) et iSeries, ou Unisys.

Source wikipédia

Les bases de données n’avaient pas de structure (ou très peu), il n’y avait pas de langage de requête pas de SQL. Les serveurs étaient constitués de systèmes de fichiers. Les gros serveurs étaient utilisés pour stocker (sauvegarder de la données), effectuer de la recherche (requête) et modifier (manipuler) de la donnée. C’était fiable et robuste. Pour développer l’informatique, les entreprises ajoutaient une machine supplémentaire, du disque et de la mémoire. Les gros serveurs étaient utilisés par de nombreuses dactylos, pupitreuses, etc . Les programmes étaient réalisés en COBOL, TELON et d’autres langages exotiques.

Les années 90 ont marqué un tournant dans le monde des bases de données. De nombreux ingénieurs ont réfléchi sur la problématique des bases de données et sur un langage pour questionner les bases de données. L’informatique est aussi devenu moins lourde, avec l’arrivée de la micro informatique. Les gros serveurs continuent d’évoluer dans le monde bancaire, dans les assurances.

Le langage SQL ((Strutured Query Language) a créé en 1974, normalisé en 1986, il est reconnu par la grande majorité des systèmes de gestion de bases de données relationnelle (abrégé SGBDR) du marché. La normalisation du SQL à créer un engouement des entreprises vers une compréhension des données, vers une représentation (modélisation) des données et vers une idée de ce que doit être une base de donnée.

Je vais citer la base de données DBase III et IV sur la micro informatique. Avec la micro informatique, nous assistons à la naissance, et l’envol de nouveau langage (Le Basic, le C, le C++), la mode des programmes est au client-serveur.

Les années 2000 on commence a parlé de l’internet et de l’interconnexion des entreprises entre-elles.

L’informatique dans le entreprise amorce un tournant important, toutes les fonctions manuelles se retrouvent de plus en plus dans l’ordinateur. Les entreprises ont créer de nombreux puits de données, des bases de données classiques et des annuaires d’entreprise (LDAP), des systèmes de fichiers et aussi de l’informatique lourde (sur mainframes).

Nous avons plusieurs phénomènes en parallèle, un augmentation importante de l’usage de l’informatique, une banalisation des usages, une baisse du coût des machines, un augmentation exponentiel de la puissance, (et aussi une fragilisation des infrastructures )

Pour donner un ordre d’idée, un smartphone actuel est aussi puissant qu’un ordinateur qui a 3 ans. Il contient autant de puissance qu’un mainframe des années 90, et ainsi de suite.

Nous assistons à l’émergence de langage de programmation pour le WEB, Java, PHP, .net , JavaScript, et bien d’autres.

De nos jours.

L’informatique est un perpétuel recyclage d’idées qui fonctionnent. Nous avons un retour en force des puits de données des mainframes sur ordinateur. La puissance de traitement des ordinateurs a augmenté, et ils répondent très bien à des problématiques de volumétrie, de quantité de connexion simultanée et aussi de disponibilité.

Du non SQL au NoSQL, il n’y a qu’un pas.

En informatique, NoSQL désigne une catégorie de systèmes de gestion de base de données (SGBD) qui n’est plus fondée sur l’architecture classique des bases relationnelles. L’unité logique n’y est plus la table, et les données ne sont en général pas manipulées avec SQL.

À l’origine servant à manipuler des bases de données géantes pour des sites web de très grande audience tels que Google, Amazon.com, Facebook ou eBay1, le NoSQL s’est aussi étendu par le bas après 2010. Il renonce aux fonctionnalités classiques des SGBD relationnels au profit de la simplicité. Les performances restent bonnes avec la montée en charge (scalabilité) en multipliant simplement le nombre de serveurs, solution raisonnable avec la baisse des coûts, en particulier si les revenus croissent en même temps que l’activité2. Les systèmes géants sont les premiers concernés : énorme quantité de données3, structuration relationnelle faible (ou de moindre importance que la capacité d’accès très rapide, quitte à multiplier les serveurs). Un modèle typique en NoSQL est le système clé-valeur, avec une base de donnée pouvant se résumer topologiquement à un simple tableau associatif unidimensionnel avec des millions — voire des milliards — d’entrées. Parmi les applications typiques, on retrouve des analyses temps-réel, statistiques, du stockage de logs (journaux), etc.

De grands acteurs d’Internet, notamment Google (BigTable), Amazon (Dynamo (en)), LinkedIn (Project Voldemort), Facebook (Cassandra Project puis HBase), SourceForge.net (MongoDB), Ubuntu One (CouchDB), etc., conçoivent et exploitent des bases de données de type NoSQL. D’autres acteurs plus modestes sont à l’origine de grand succès, notamment dans le domaine des stockage clé-valeur (Redis…). Une proportion importante de ces projets est open source et sous licence libre.

Source: wikipédia.

Avec le web, de nombreuses sociétés se sont lancées dans la course à la gestion des données sur internet, dans la course au gigantisme, dans la course au BigData. Le seul moyen pour gérer ces données, était la création de base de données capable de supporter de très grands volumes de données, un très grand nombre d’utilisateurs (de connexion) en simultanée et une forte tolérance aux pannes. C’est ainsi que les bases de données NoSQL sont nées.

L’idée des bases de données NoSQL est partie d’une idée de stockage de données simple, une clé, une valeur et ainsi de suite. Les entreprises ont recherché et actualisé des concepts anciens (des années 70-80, des mainframes) fiables et robustes. Le mainframe composé de plusieurs machines, de plusieurs armoires est devenu le réseau, un ensemble d’ordinateurs.

Je vais ajouter une autre caractéristique sur le base NoSQL, c’est l’usage du langage de programmation JavaScript, nous verrons prochainement le pourquoi ?

A propos Duarte TERENCIO

Architecte Solutions
Cet article, publié dans Cloud computing, est tagué , , , . Ajoutez ce permalien à vos favoris.

Un commentaire pour Du web classique vers le cloud computing (cinq)

  1. Tarte.eric@me.com dit :

    Très intéressant ce retour en arrière pour comprendre.

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.