Bdd graphe et Neo4j. Alors que les autres types de bases de données NoSQL trouvent une partie de leur justification dans la performance qu’elles apportent pour manipuler leur représentation de données respective, les base de données graphe permettent avant tout d’adresser des problèmes complexes, voire impossible à résoudre avec les bases de données relationnelles.
Cet article présente les principes des base de données graphe, leur intérêt, les problèmes qu’elles résolvent. Il s’est attardé sur Neo4j, la base de données graphe majeure actuellement, sur laquelle il travaille au sein de Neo Technology. Cette entreprise suédoise a su s’imposer sur ce marché restreint grâce à un investissement massif dans leur produit couplé à une communication efficace. Tout en résolvant les problèmes de graphe, Neo4j met en avant ses performances et sa scalabilité (gestion de plusieurs milliards de nœuds de graphe sur une seule instance). L’intérêt des bases de données graphe La modélisation de données en graphe Neo4j Conclusion. Neo4j open source nosql graph database » Bdd orientées colonnes et Cassandra. Les bases de données orientées colonnes forment une évolution du stockage clé-valeur différente de leurs cousines orientées documents.
Il s’agit ici de représenter les données sous la forme de blocs de colonnes stockés de manière triée sur le disque. Bien que leur technologie soit encore peu maîtrisée, elles reviennent régulièrement dans l’actualité du fait des régulières annonces de migrations de quelques entreprises Web renommées. A ce titre, elles constituent la technologie la plus emblématique du mouvement NoSQL. Cet article présente les principes des bases de données orientées colonnes, avant d’observer plus en détail Cassandra, un projet Apache se basant sur ce modèle.
Cette base de données avait initialement été créée par Facebook pour le stockage des messages (non instantanés) entre utilisateurs. Les bases de données orientées colonnes Les principes du stockage orienté colonnes Les bases de données orientées colonnes sont organisées en familles de colonnes (column family). Bdd orientées documents et MongoDB. La base de données orientée documents est une évolution de la base de données clé-valeur telle que précédemment présentée. Ici chaque clé n’est plus associée à une valeur sous forme de bloc binaire mais à un document dont la structure reste libre. Les applications effectuent majoritairement des requêtes en lecture par identifiant ; ce constat a conduit au développement des bases de données clé-valeur. Les applications Web diffusent des pages entières résultant d’un ensemble de jointures en base : les bases de données orientées documents découlent de ce second constat.
Au-delà de ce cas d’utilisation, la modélisation des données sous forme de documents permet également de stocker de manière idéale toute forme de structure de données non plane, c’est-à-dire qui nécessiterait en ensemble de jointures en logique relationnelle. Mathias Stearn a présenté ces concepts en action avec MongoDB, l’une des deux bases de données orientées documents actuelles, l’autre étant CouchDB.
MongoDB Conclusion. Guardian.co.uk, NoSQL et Cloud Computing. Lors de la conférence NoSQL Europe, les présentations théoriques côtoyaient les sessions de retour d’expérience. C’est lors de l’une de ces dernières que deux architectes du site d’information anglais The Guardian ont présenté les réponses qu’ils ont apportées aux enjeux techniques qu’ils ont rencontrés. Ce site Web présente des articles aux visiteurs et génère un trafic très majoritairement en lecture.
Les volumes de données servis sont importants, le trafic est soutenu et peut connaître des pics selon l’actualité du moment. Fort logiquement, la problématique de stockage est primordiale dans ce contexte. Leur présentation a mis en avant l’utilisation qu’il était possible de faire du Cloud Computing et des nouvelles technologies de persistance non relationnelles pour servir de nouveaux types de besoins fonctionnels et techniques. Problématiques rencontrées Le site Guardian.co.uk n’a cessé de monter en charge depuis sa création. Une architecture en évolution Memcached pour soulager Oracle. Tour d’horizon des bdd NoSQL. Le NoSQL regroupe de nombreuses bases de données, récentes pour la plupart, qui se caractérisent par une logique de représentation de données non relationnelle et qui n’offrent donc pas une interface de requêtes en SQL. Cassandra, Neo4j, Riak, Redis ou encore HBase sont des noms de projet qui brillent par leur présence dans l’actualité depuis quelques mois. Bien qu’ils soient tous étiquetés ‘NoSQL’ de grandes disparités les distinguent.
Du fait de l’hétérogénéité de ces bases de données, des familles se sont créées pour les regrouper. Cet article présente un tour d’horizon de l’ensemble de ces familles, de leurs caractéristiques et de leurs intérêts. Il a ensuite présenté le positionnement actuel du mouvement NoSQL, sa croissance et ce que ces nouvelles base de données peuvent apporter aux entreprises. Les familles de NoSQL Les bases de données clé-valeur La représentation en clé-valeur est la plus simple et est très adaptée aux caches ou aux accès rapides aux informations. Quelques mythes. Bdd clé-valeur et Riak. Vision simplifiée à l’extrême, la base de données clé-valeur se comporte, du point de vue de son application cliente, comme une grosse table de hachage persistante. Ce type de base de données trouve sa légitimité dans le constat que les applications présentent de nombreux accès à la base de données qui ne sont que de simples lectures ou écritures à partir d’un identifiant.
Partant de la même idée, Amazon a créé sa base de données distribuée Dynamo dont les idées ont été reprises par de nombreux projets. Ce type de système distribué, robuste, et répliqué est toutefois bien loin du concept de table de hachage de base, c’est pourquoi Bryan Fink s’est attaché à présenter le cheminement logique qui a permis de passer de l’un à l’autre. Bryan Fink a enfin introduit Riak – projet sur lequel il travaille chez Basho – en tant qu’implémentation de base de données clé-valeur. Architecture d’une base de données clé-valeur D’une table de hachage à une BDD clé-valeur distribuée Riak Riak en quelques mots.