Mercredi 18 octobre 2017
NASDAQ : 6623.6567 0.3477   nasdaq0.01 %
RECHERCHE
OK
 
NEWSLETTER
newsletter
Abonnez-vous gratuitement
à notre newsletter
hebdomadaire - Cliquez ICI
Indexel
  • DOSSIERS
  • PRATIQUE
pub Publicité
 

INFRASTRUCTURE

Bases de données : le noSQL menace 25 ans de certitudes

Imprimer Envoyer à un ami Contacter la rédaction
Par Thierry Lévy-Abégnoli le 28/03/2012 - indexel.net
 
NoSQL-base-de-donnees

Après 20 ans de domination, le modèle relationnel est menacé par des bases de données dites noSQL. À la clé, une élasticité des performances, un meilleur support des données non structurées et une révolution pour les développeurs.

 

1. Que recouvre le concept noSQL ?

Le terme noSQL regroupe des types de bases de données qui ont en commun l'abandon du modèle relationnel, pourtant généralisé depuis une vingtaine d'années. En renonçant à une gestion native des relations entre tables, synonyme de garantie de leur intégrité, les bases de données noSQL délèguent cet aspect à l'application.

2. Quelle est l'offre ?

Sylvain GuilbaudParmi les moteurs noSQL les plus connus figurent MongoDB et Cassandra (open source), ou Caché (d'Intersystems), né dès 1998. « Nous étions presque seuls sur une niche dont le noSQL est aujourd'hui en train de sortir », commente Sylvain Guilbaud (photo), ingénieur commercial chez Intersystems. Le concept est aussi adopté dans le cloud avec des services comme SimpleDB et DynamoDB d'Amazon. Quant à SQL-Azure de Microsoft, il intègre un « conteneur » noSQL.

3. Quels sont les avantages du noSQL ?

Les moteurs relationnels ont sacrifié la « scalabilité » horizontale, synonyme de très forte évolutivité, au profit de la « consistance », c'est-à-dire de la cohérence des données entre tables. « En permettant un partitionnement sur un nombre de serveurs potentiellement infini, le noSQL privilégie au contraire l'évolutivité », explique Aurélien Foucret, expert technique chez Smile. Or, certaines applications n'ont pas besoin de consistance. « Elle n'est pas nécessaire quand on diffuse massivement des articles de presse ou des emails car il est inutile qu'ils apparaissent partout en même temps », donne-t-il en exemple.

Aurélien FoucretLa scalabilité est aussi synonyme de réduction des coûts lorsque l'on monte en charge. « En noSQL, il suffit de mettre en parallèle de nombreux serveurs standards possédant leur propre stockage, sur lesquels la base de données est répartie », explique Aurélien Foucret (photo). Alors qu'avec SQL, il faut mettre en œuvre de grosses baies et un SAN coûteux. Autre avantages du noSQL : il automatise la réplication de données entre sites, laisse plus de liberté dans la modélisation des données et se révèle mieux adapté aux données non structurées.

4. Quel est le rapport entre noSQL et cloud computing ?

L'origine du noSQL remonte aux années 70, avant l'ère SQL. Mais son retour en grâce récent vient des grands services Web de Google, Amazon ou Yahoo. Les technologies qu'ils ont d'abord développées pour leur propre usage ont ensuite été mises à disposition des entreprises sur les premiers services cloud d'Amazon, Google ou Microsoft.

Olivier LéalPour autant, le noSQL n'est pas indissociable du cloud. « Leur association a résulté du fait qu'ils poursuivent le même objectif, c'est-à-dire dépasser les limites du système d'information interne », explique Olivier Léal (photo), codirecteur de la BU Intégration d'Ysance. Et de fait, sur le cloud, il est possible de multiplier à loisir le nombre de serveurs sur lesquels une base de données noSQL sera partitionnée.

Les acteurs du cloud proposent aussi des services SQL. Ainsi, lorsqu'Azure est passé en phase commerciale, son volet bases de données est revenu au modèle relationnel. « Cela permet de migrer plus facilement les applications existantes mais du coup, la taille des bases ne peut plus être illimitée », explique Aurélien Foucret.

5. Quelles sont les applications ciblées ?

Le noSQL a d'abord été destiné aux infrastructures Web ayant des besoins d'élasticité ou nécessitant une réplication native entre deux datacenters comme les systèmes de facturation des opérateurs télécoms. Il est encore plus indiqué quand l'application manipule de grandes quantités de données hétérogènes et non structurées. C'est par exemple le cas de certains catalogues de e-commerce. « Du coup, les CMS, comme EZ-Publish commencent à évoluer vers le noSQL », affirme Aurélien Foucret. Pour sa part, Ysance a porté Drupal sur Azure avec une gestion d'une partie du stockage dans le conteneur noSQL d'Azure.

Eric K'DualLe noSQL est également adapté au reporting et à l'analyse de grandes quantités de données (big data), surtout lorsque les schémas de données ne sont pas connus à l'avance. « Pour les mêmes raisons, le noSQL offre une grande flexibilité dans la maintenance évolutive d'applications de tout type dont la structure des données est susceptible de changer souvent », ajoute Eric K'Dual (photo), directeur technique de Neoxia.

De même, les ERP et CRM sont concernés dès lors que les volumes de données sont très importants. « Par exemple, quand le CRM est associé à des données externes comme celles issues des réseaux sociaux », note Olivier Léal. Il existe déjà des ERP reposant sur un moteur noSQL. C'est par exemple le cas de Trackcare d'Intersystems, un progiciel dédié à la santé qui intègre à la fois des fonctions d'ERP et d'HIS (système d'information de santé). « Pour un ERP, le noSQL offre la souplesse d'adaptation à un modèle de données riche et évolutif, avec des temps de réponse inégalés lors de fortes montées en charge ou de fortes volumétries », explique Sylvain Guilbaud.

6. Le noSQL va-t-il remplacer le relationnel ?

Même les applications classiques seront donc concernées, on doit s'attendre à une cohabitation avec SQL. « Le noSQL sera d'abord réservé à des îlots de données avec beaucoup de volumes et de très grandes tables », explique Olivier Léal. « Toute la partie BI des ERP et outils de CRM embarquera probablement du noSQL car elle gère de grandes quantités de données », renchérit Aurélien Foucret.

7. Quelle est la difficulté de la transition vers le noSQL ?

Certains développeurs imaginent qu'il suffit de remplacer un moteur SQL par un moteur noSQL pour gagner en évolutivité. En pratique, c'est bien plus compliqué. « Cela révolutionne la façon de penser le développement. Il faut désapprendre SQL, gérer l'intégrité des données, dans l'application elle-même, et se montrer bien plus pragmatique lors de la normalisation des données », explique Aurélien Foucret. « En réalité, le noSQL n'est pas un projet technique mais une nouvelle démarche de représentation des données », ajoute Eric K'Dual. En contrepartie de cet effort, le développeur est déchargé des problématiques de tolérance aux pannes et bénéficie d'une souplesse accrue lors de la maintenance des applications.

LIRE AUSSI
 
Partager :
LIRE AUSSI
 
pub Publicité

CloudStack by IkoulaCloudStack by Ikoula

Cloud Computing : Atouts et freins, acteurs du marché, conseils et témoignages