michelangelus - Fotolia

Projet Circé : un an pour améliorer les performances de ScyllaDB

La base de données open source NoSQL SycllaDB continue de gagner en fonctionnalités et en utilisateurs alors que son contributeur principal veut en faire une alternative de choix aux produits de DataStax et AWS.

Au cours de l’évĂ©nement virtuel Scylla Summit 2021 qui s’est dĂ©roulĂ© du 12 au 14 janvier, le PDG de ScyllaDB, Dor Laor, a partagĂ© les nouvelles fonctionnalitĂ©s et la feuille de route pour l’avenir de la base de donnĂ©es NoSQL.

L’élément clé à retenir est le projet Circé, une initiative étalée sur un an qui vise à apporter de meilleures performances et une plus grande cohérence à la base de données.

ScyllaDB est un SGBD open source, proposĂ© comme une alternative Ă  Apache Cassandra. Lors du lancement de la version 4.0 de ScyllaDB en mai dernier, Dor Laor avait encouragĂ© les clients d’Amazon DynamoDB Ă  se tourner vers son produit open core en utilisant les outils de migration Ă  leur disposition.

Projet CircĂ© : Scylla veut « arrondir les angles Â»

Malgré les fonctionnalités apportées par cette itération, Dor Laor a estimé lors du Scylla Summit qu’il reste beaucoup de choses à améliorer en 2021.

« Nous souhaitons nous concentrer sur l’élasticitĂ© et la maintenabilitĂ© de ScyllaDB au cours de l’annĂ©e prochaine Â», affirme le PDG de ScyllaDB. « Nous pensons que mĂŞme Ă  prĂ©sent, nous faisons un meilleur travail… mais nous avons encore des angles que nous aimerions bien arrondir Â».

Selon Dor Laor, le projet Circé fournira des mises à jour mensuelles avec de nouveaux développements pour aider à améliorer l’élasticité, la cohérence, la stabilité et la performance de ScyllaDB, ainsi que sa facilité de déploiement.

CohĂ©rence des donnĂ©es : Scylla vante les avantages du protocole Raft

L’un des principaux domaines d’amĂ©lioration est la cohĂ©rence des donnĂ©es grâce Ă  l’utilisation du protocole de consensus Raft. ImplantĂ© en dĂ©cembre 2020, il remplacera Ă  terme le protocole Paxos, censĂ© vĂ©rifier l’accord entre les nĹ“uds du cluster afin de valider un changement de donnĂ©es et assurer des transactions « lĂ©gères Â» (Lightweight Transactions).

Actuellement, sans Raft, ScyllaDB â€“ tout comme Apache Cassandra â€“ offre la promesse de respecter un modèle de cohĂ©rence Ă©ventuelle. Dans un article scientifique, deux chercheurs de l’universitĂ© de Cambridge expliquent que les deux algorithmes de consensus distribuĂ© ne sont pas fondamentalement diffĂ©rents, mais que Raft apporte une implĂ©mentation bien plus simple.

Pour sa part, Scylla observe que le protocole Paxos impose quatre opérations d’écriture pour chaque transaction, et pour chaque réplique. Ce serait quatre fois moins efficace qu’avec un Quorum. Scylla considère que Raft permettra d’empêcher les conflits de schémas transactionnels liés à un problème de changement avec un langage de définition de données.

« Avec Raft, vous serez en mesure d’avoir une forte cohĂ©rence sans aucune pĂ©nalitĂ© de performance Â» vante Dor Laor. « C’est donc exceptionnel en matière de cohĂ©rence des donnĂ©es. Â»

Raft doit aussi faciliter « l’ajout ou la suppression d’un nombre quelconque de nĹ“uds simultanĂ©ment Â», ce qui n’est actuellement pas possible avec ScyllaDB ou Cassandra. Dès lors, la montĂ©e en charge prend de « longues heures Â» pour doubler ou tripler la capacitĂ© d’un cluster.

Concernant la maintenabilité, les ingénieurs de Scylla se penchent sur l’abolition des nœuds d’amorçage (seed nodes en VO) afin de simplifier l’élasticité de l’architecture.

Outre l’amélioration de la stratégie de compactage des SSTables, l’éditeur souhaite perfectionner les outils de restauration avec un nouveau Scheduler IO et une faculté de reprise à la dernière position des opérations de réparation de nœuds au cas où elles échouent.

Par ailleurs, l’opĂ©rateur Kubernetes introduit dans la version 4.0 apporte dĂ©sormais une « mĂ©thode de facto Â» pour gĂ©rer la base de donnĂ©es dans un environnement natif au cloud. Scylla assure prendre entièrement en charge cet outil de gestion qui « devrait fonctionner dans tous les Ă©cosystèmes Kubernetes, Ă  commencer par Google Kubernetes Engine (GKE) Â».

Expedia approuve le modèle de ScyllaDB

Le sommet a également été marqué par le témoignage de nombreux utilisateurs qui ont présenté leurs déploiements de ScyllaDB, notamment Ticketmaster, Expedia Group, Zillow et GE Healthcare. Ces interventions sont importantes pour l’éditeur qui souhaite prouver la supériorité de son architecture face aux fournisseurs de Cassandra, dont DataStax et AWS (fournisseur de DynamoDB).

Singaram Ragunathan, data architect chez Expedia Group, a expliqué au cours de la session que Cassandra, bien que puissante, n’est pas sans défis. Il a fait remarquer que, selon son expérience, il faut beaucoup de temps et d’efforts ainsi qu’une grande expertise pour régler correctement Cassandra afin d’obtenir des performances optimales. En particulier, Expedia a connu quelques problèmes lors de pics de trafic. L’équipe de développement a réagi en ajoutant des nœuds tampons pour augmenter la vitesse et la capacité, ce qui a finalement entraîné une hausse des coûts d’infrastructure.

« Passer d’Apache Cassandra Ă  ScyllaDB se fait sans heurts pour les dĂ©veloppeurs. Â»
Singaram RagunathanData architect, Expedia Group

Expedia a testé ScyllaDB pour tenter d’accélérer les performances, témoigne Singaram Ragunathan, tout en réduisant les coûts d’infrastructure. L’idée de base était qu’avec le même nombre d’instances de calcul virtuel sur le cloud d’AWS que celui utilisé avec Cassandra, Expedia pouvait fournir plus de capacité et de débit en migrant vers ScyllaDB.

« Passer d’Apache Cassandra Ă  ScyllaDB se fait sans heurts pour les dĂ©veloppeurs Â», assure le data architect. « Pour les cas d’usage que nous avons pu essayer, il n’y a pas eu de changement des modèles de donnĂ©es nĂ©cessaire et ScyllaDB Ă©tait entièrement compatible, et un remplaçant de choix Â».

Avec quelques petits ajustements au framework d’automatisation d’Expedia qui fournit les clusters Apache Cassandra de la société, Singaram Ragunathan affirme que son équipe a pu provisionner des clusters open source ScyllaDB, et bénéficier de résultats positifs.

« Nous avons pu stocker plus de donnĂ©es et obtenir un meilleur dĂ©bit par nĹ“ud, ce qui a permis Ă  l’entreprise d’économiser des sommes considĂ©rables Â», vante-t-il.

Pour approfondir sur Base de données