email iconÉcrire phone iconAppeler

Bases de données NoSQL

NoSQL

La technologie de bases de données NoSQL est conçue pour répondre aux exigences des applications cloud ainsi qu’aux exigences d’évolution, de performance, de modèle de données et de limitation de distribution des bases de données relationnelles (SGBDR).

Présentation NoSQL

Une base de données NoSQL (Not-only-SQL) est une base de données conçue pour stocker les données, les distribuer et y accéder à l’aide de méthodes qui ne sont pas celles des bases de données relationnelles (SGBDR). La technologie NoSQL a été initialement créée et utilisée par les grands noms d’Internet tels que Facebook, Google, Amazon et autres leaders qui avaient besoin de systèmes de gestion de bases de données capables d’écrire et de lire des données partout dans le monde, tout en adaptant et en assurant les performances requises sur d’énormes ensembles de données et pour des millions d’utilisateurs.

Aujourd’hui, presque toutes les entreprises et organisations doivent fournir des applications cloud qui personnalisent l’expérience de leurs clients en fonction de leur activité, NoSQL étant la technologie de bases de données privilégiée pour de tels systèmes.

Différences NoSQL / bases de données relationnelles

Les systèmes NoSQL et SGBDR sont conçus pour répondre à des exigences d’applications différentes et coexistent habituellement dans la majorité des entreprises. Voici les éléments clés à examiner pour choisir celui que vous devez utiliser :

Utilisez un SGBDR si vous avez/voulez... Utilisez NoSQL si vous avez/voulez...
Des applications centralisées (ex. ERP) Des applications décentralisées (ex. web, mobiles et Internet des objets)
Une disponibilité moyenne à élevée Une disponibilité continue ; pas de période d’indisponibilité
Des données avec vitesse modérée Des données avec vitesse élevée (appareils, capteurs, etc.)
Des données provenant d’un seul/quelques emplacement(s) Des données provenant de plusieurs emplacements
Des données principalement structurées Structurées, avec semi/non structurées
Des transactions complexes/imbriquées Des transactions simples
Pour objectif principal l’évolution en lecture Pour objectif l’évolution en lecture et en écriture
Une démarche d’évolutivité verticale pour davantage d’utilisateurs/de données Une démarche d’évolutivité horizontale pour davantage d’utilisateurs/de données
Une maintenance de volumes de données modérés via des purges Une maintenance de volumes de données élevés ; les conserver définitivement

Pour une comparaison détaillée des fonctionnalités entre une base de données NoSQL comme Apache Cassandra et des SGBDR comme Oracle, SQL Server et MySQL, cliquez ici.

En quoi les bases de données NoSQL diffèrent-elles les unes des autres ?

Il existe une grande diversité de bases de données NoSQL sur le marché qui diffèrent principalement les une des autres via les éléments clés suivants :

Architecture : Certaines bases de données NoSQL comme MongoDB reposent sur un modèle maître/esclave, un peu comme de nombreux SGBDR. D’autres (comme Cassandra) sont conçues « sans maître », autrement dit tous les nœuds d’un même cluster sont les mêmes. L’architecture d’une base de données NoSQL impacte énormément l’efficacité avec laquelle la base de données répond aux exigences telles que disponibilité de service constante, réplication de données multi-géographie, performance prévisible, etc.

Modèle de données : Les bases de données NoSQL sont souvent classées en fonction de leur modèle de données. Certaines prennent en charge un magasin tabulaire « wide-row », tandis que d’autres prennent en charge un modèle qui peut être orienté documents, clé-valeur ou graphe.

Modèle de distribution de données : Étant donné leurs différences d’architecture, les bases de données NoSQL diffèrent sur la manière dont elles prennent en charge la lecture, l’écriture et la distribution des données. Certaines plateformes NoSQL comme Cassandra prennent en charge l’écriture et la lecture sur chaque nœud d’un cluster et peuvent répliquer/synchroniser les données pour de nombreux datacenters et fournisseurs cloud.

Modèle de développement : Les bases de données NoSQL se différencient au niveau de leurs API de développement dont certaines prennent en charge les langages de type SQL (ex. CQL de Cassandra).

Un comparatif réalisé par End Point, fournisseur indépendant de bases de données, a soumis à des tests Apache Cassandra, HBase, MongoDB et Couchbase sur des opérations type des applications actuelles : Comparaison de performances Cassandra / MongoDB / HBase / Couchbase.

Avantages de la technologie NoSQL

Les bases de données NoSQL sont principalement conçues pour prendre en charge des systèmes décentralisés qui visent les applications cloud. Une base de données NoSQL comme Cassandra offre généralement les avantages suivants par rapport aux autres systèmes de gestion de bases de données :

Disponibilité continue : une base de données qui reste en ligne même en cas de panne d’infrastructure extrêmement dévastatrice.

Distribution géographique : des données entièrement actives, partout où vous en avez besoin.

Faible latence opérationnelle : des délais de réponse suffisamment rapides pour vos applications cloud opérationnelles les plus intenses.

Évolutivité linéaire : adaptation prévisible en fonction des besoins en données actuels et futurs des applications cloud.

Décision immédiate : éventail complet de fonctionnalités de manipulation de données étroitement intégrées à un seul système.

Cohérence fonctionnelle : intégration cohérente et interopérabilité des charges de travail mixtes et des modèles de données multiples.

Maturité opérationnelle : gestion des données certifiée pour l’entreprise pour les applications cloud.

Faible coût total de possession : aucune exigence requise pour un matériel spécialisé ou un logiciel supplémentaire.

Comment mettre en œuvre la technologie NoSQL ?

Comment, concrètement, opérer la transition NoSQL et mettre en œuvre votre première application ? En général, il existe trois méthodes pour mettre en œuvre une base de données NoSQL :

Nouvelles applications : De nombreuses entreprises qui se tournent vers le NoSQL choisissent une nouvelle application et partent de zéro. Cette approche permet d’éviter les problèmes de réécriture d’application, de migration de données, etc.

Augmentation : Certaines choisissent d’étendre un système existant en y ajoutant un composant NoSQL. Cela est fréquent avec les applications devenues trop encombrantes pour un SGBDR suite à des exigences d’évolutivité, de plus grande disponibilité ou autres problématiques.

Remplacement intégral : Pour les systèmes qui s’avèrent tout simplement trop onéreux pour pouvoir être conservés avec un SGBDR, ou qui montrent de nombreux signes de faiblesse, par exemple en termes de nombre d’utilisateurs simultanés, de vitesse ou de volume des données, il convient de remplacer intégralement le système par une base de données NoSQL.

Si vous cherchez à mettre en œuvre une solution NoSQL ou pour en savoir plus sur cette technologie et ses avantages, voici quelques ressources recommandées par des experts.

DataStax Enterprise est la base de données des applications cloud.
En savoir plus
SHARE THIS PAGE