Developpez.com

Le Club des Développeurs et IT Pro

ScyllaDB, la nouvelle base de données NoSQL basée sur Cassandra est disponible

Avec des performances 10 fois supérieures à Apache Cassandra

Le 2015-09-23 06:55:41, par Olivier Famien, Chroniqueur Actualités
Le sommet rassemblant les utilisateurs de la base de données NoSql Cassandra vient de débuter et déjà on connait le concurrent ou plutôt le successeur de Cassandra. Avi Kivity et Dor Laor qui ont développé KVM (le noyau de la machine virtuelle Linux) et OSv (le système d’exploitation open source pour le Cloud) viennent de présenter une nouvelle base de données NoSQL nommée ScyllaDB.

ScyllaDB est une réécriture en C++ de la base de données Cassandra avec pour objectif de surpasser les performances de la base de données source. Selon les auteurs, « ScyllaDB est la base de données la plus rapide au monde orientée colonne » intégrant « les fonctionnalités d’Apache Cassandra avec une vitesse de stockage léger de clé-valeur ».

Étant actuellement disponible en version 0.90, ScyllaDB peut être considérée comme une base de données déjà opérationnelle. Plusieurs fonctionnalités de la version 2.19 de Cassandra ont déjà été intégrées.


Ainsi, nous avons déjà l’intégration des formats de données SSTable, de la technologie JMX pour gérer les services et les applications Java, du langage de requête Cassandra (CQL) ainsi que plusieurs interfaces de configuration. Il peut donc être utilisé comme un substitut direct à Cassandra.

Cette base de données permet de gérer plus d’un million de transactions par seconde par serveur et n’a pas besoin de pauses sous le compactage et pendant les traitements effectués par le ramasse-miettes. Il supporte deux modes de pile réseau à savoir la pile réseau native Seastar et la pile réseau traditionnelle Linux. L’avantage avec Seastar est qu’elle offre une faible latence et un haut débit réseau.

Pour communiquer, il n’est nul besoin de faire des appels système. Selon les concepteurs, c’est le choix préféré pour de meilleures performances. Aussi, pour mieux apprécier les performances de cette base de données, plusieurs tests ont été mis en œuvre.

Après avoir exécuté la version 3.0 de Cassandra et la version 0.8 de ScyllaDB sur deux serveurs partageant les mêmes caractéristiques (2x Xeon E5-2695v3 : 2.3 GHz base, 35 M cache, 14 cœurs, 64 GB de RAM, 2x 400 GB Intel NVMe P3700 SSD, Intel Ethernet CNA XL710-QDA1 et Fedora serveur 21), ScyllaDB affichait une latence inférieure à 1 milliseconde comme latence maximum alors que Cassandra enregistrait une latence de plus de 6 millisecondes pour la latence maximum.


Dans un autre test mis en œuvre pour déterminer laquelle base de données est la plus performante en termes de lecture et écriture, alors que ScyllaDB permettait d’écrire 1 300 000 transactions par seconde, Cassandra écrivait 300 000 transactions par seconde.

De même, tandis que ScyllaDB lisait 1 180 000 transactions par seconde, Cassandra lisait 140 000 transactions par seconde. Enfin pour les tests de lecture/écriture, ScyllaDB est parvenu à effectuer 1 180 000 transactions par seconde là où Cassandra effectuait 140 000 transactions par seconde.

Il faut également noter que plusieurs systèmes peuvent être utilisés avec cette base de données. Ce sont par exemple CentOS, Fedora, les systèmes basés sur RHEL, Ubuntu, les systèmes basés sur Debian, les conteneurs et le service Web d’Amazon EC2.

Toutefois, il faut également souligner que malgré les belles performances affichées par cette base de données, plusieurs fonctionnalités restent encore à mettre en œuvre avant la sortie de la première version stable prévue pour janvier 2016. Ce sont par exemple les opérations des tables telles que les mises à jour, les suppressions, les tronquages ou encore la prise en charge de centres de données multiples, l’authentification, l’autorisation, etc.

Source : ScyllaDB

Et vous ?

Que pensez-vous de cette nouvelle base de données NoSQL ?

Pourra-t-elle se faire une place face à cette base de données assez utilisée ?

Voir aussi
Forum NoSQL
  Discussion forum
5 commentaires
  • thierryler
    Rédacteur
    Pour être un gros utilisateur de Cassandra, j'attend de voir des vrais benchs avant de penser à une migration. Pour autant, il ne faut pas oublier que Cassandra n'est pas juste une base mais aussi un environnement, notamment avec les outils de Datastax.
  • SQLpro
    Rédacteur
    Tout cela me fait beaucoup rire !!!!

    Envoyé par Olivier Famien
    ...malgré les belles performances affichées par cette base de données, plusieurs fonctionnalités restent encore à mettre ... par exemple les opérations des tables telles que les mises à jour, les suppressions, les tronquages
    Bref on compare un produit pas fini dans lequel seul existe l'insertion et la lecture à un autre système qui lui est complet et fini !

    Je me demande parfois ou les informaticiens ont mis leur cerveau !

    A +
  • egann538
    Membre actif
    Histoire d'éviter un nième débat sur les performances Java/C++, il faut souligner que le gain en performance de Cassandra est principalement attribué à l'adoption du framework Seastar, écrit pour pouvoir développer des applications complexes asynchrones et performantes.
  • abriotde
    Membre chevronné
    Avec un socle de développeurs solide et un développement en C++ plus rapide par essence que Java mais reprenant l'intégralité de Cassandra, cette base a tout les atout sans les inconvénients. Si j'utilisais Cassandra, je migrerais dès que possible (après bien sûr quelques vérifications de fiabilité et de fonctionnalité).
  • escartefigue
    Modérateur
    Envoyé par SQLpro
    Tout cela me fait beaucoup rire !!!!

    Bref on compare un produit pas fini dans lequel seul existe l'insertion et la lecture à un autre système qui lui est complet et fini !

    Je me demande parfois ou les informaticiens ont mis leur cerveau !

    A +
    Oui, l'authentification est également citée comme manquante, et qu'en est il des utilitaires et outils d'administration ?
    Ca me semble très optimiste d'annoncer une version pour janvier dans ces conditions