Victoria - Fotolia
Base de données : avec sa version 4.0, Neo4J la joue multitenant
La plateforme de bases de données open source Neo4J bénéficie d’une mise à jour importante. Elle vient améliorer la sécurité et ajoute la prise en charge de multi-base de données.
La célèbre base de données orientée graphes Neo4J a profité le mardi 4 février 2020 d’une mise à jour importante avec la disponibilité générale de Neo4j 4.0.
Les bases de données Graph permettent de connecter les données d’une manière contextuelle différente du modèle relationnel plus traditionnel. C’est une approche qui a gagné en popularité au sein des entreprises ces dernières années. Les organisations cherchent à mieux comprendre les données interdépendantes. Neo4J a été l’un des pionniers sur le marché des bases de données Graph avec sa version 1.0 commercialisé en 2010. Depuis 10 ans, l’éditeur met régulièrement à jour son produit.
La mise à jour 4.0 de Neo4J est en développement depuis plus d’un an. Parmi les nouvelles fonctionnalités de la base de données figurent des capacités de scalabilité améliorées ainsi qu’une augmentation de niveau de sécurité.
Selon Stephen O’Grady, analyste principal chez RedMonk, les capacités de sharding et de fédération seront les plus attrayantes pour les utilisateurs.
« Pour ceux qui exécutent d’importantes charges de travail, cela supprimera un obstacle à l’adoption, et même ceux qui ont des instances relativement plus petites veulent bénéficier de ces capacités, même s'ils n'en ont pas besoin immédiatement », estime Stephen O’Grady.
Une amélioration de la sécurité bienvenue
Neo4j a travaillé à améliorer la sécurité de la base de données au cours des dernières versions, a déclaré Jim Webber, chief scientist chez Neo4J. Il précise que le contrôle d’accès basé sur les rôles (RBAC), une fonctionnalité qui définit les politiques pour les utilisateurs et les rôles au sein de la base de données, est disponible depuis la version 3.1 sortie en 2016. Certains éditeurs de produits NoSQL et des technologies de streaming d’événements proposent le même système cette année.
« Le RBAC vous permettra de voir ou de ne pas voir les données du graphique et cela signifie que si je n'ai pas le privilège de voir les données, je ne pourrai pas les voir », explique Jim Webber.
Selon l’éditeur, la nouvelle version fournit un niveau de contrôle de sécurité renforcé au sein de la base de données elle-même pour aider les clients à se protéger contre les fuites de données et les accès non autorisés.
Avec une base de données Graph, les utilisateurs ne se contentent pas de lire et d’écrire des données ; ils utilisent le concept de « traversée des données », la capacité de croiser différentes relations entre les nœuds de la base de données.
Bien que le RBAC ne protège pas contre les risques potentiels liés aux croisements des données, Jim Webber assure que le modèle de sécurité de Neo4J 4.0 définit les autorisations de lecture, d’écriture et de traversée.
Le support des multi bases de données au cœur de Neo4J 4.0
Avant la mise à jour 4.0, si un utilisateur voulait deux bases de données Graph Neo4J, il devait lancer deux instances distinctes, explique le chief scientist. Ce ne sera plus le cas.
« Neo4J permet une abstraction multi-tenant et multi-bases de données. De plus, nous assurons une isolation physique entre ces instances », déclare Jim Webber.
Plusieurs utilisateurs peuvent lire et écrire dans des bases de données séparées au sein d'un déploiement Neo4j sans s'affecter mutuellement. Selon le responsable, développer cette fonctionnalité a pris une grande partie de l’année 2019.
Bien qu’une seule image de base de données soit généralement suffisante, les entreprises ne veulent pas subir de limites lors d’un passage à l’échelle, considère le chief scientist. Le nouveau runtime distribué de Neo4J utiliserait l’architecture multitenant pour améliorer l’évolutivité.
Le serveur de structure de Neo4J permettrait d’effectuer une requête distribuée sur plusieurs bases de données, une différence nette avec ce que l’éditeur proposait auparavant.
« Nous disposions des capacités de requêtes parallèles locales à un serveur, mais nous n'avons jamais dépassé cette limite auparavant », note Jim Webber. « Avec la version 4.0, c'est la première fois que nous disons aux utilisateurs, prenez Neo4j, écrivez votre requête et vous pouvez maintenant l'exécuter sur n'importe quel nombre de bases de données que vous avez, dans votre serveur multi-bases ».
En attendant la prochaine mise à jour de Neo4j dans la série 4.x, le chief scientist a déclaré que Neo4j continuera à travailler sur l'amélioration et l'extension du temps d'exécution des requêtes distribuées.
Ainsi Neo4J souhaiterait se départir des remarques remontées par certains clients auprès du Gartner. Dans son rapport « Data Management Solutions for analytics » de mars 2019, le cabinet d’études signale que les clients majeurs donnent à l’éditeur une mauvaise note en termes de disponibilité des systèmes. Par ailleurs, les entreprises utiliseraient cette technologie pour de petits ensembles de données de moins de 1 To, toujours selon Gartner.