Cassandra 4.0 : des latences de queue réduites grâce au ramasse-miettes ZGC de Java 16
mer, 09/06/2021 - 17:10
Apache Cassandra est un système de gestion de base de données (SGBD) de type NoSQL conçu pour gérer des quantités massives de données sur un grand nombre de serveurs, assurant une haute disponibilité en éliminant les points de défaillance unique. Il permet une répartition robuste sur plusieurs centres de données, avec une réplication asynchrone sans nœud maître et une faible latence pour les opérations de tous les clients. Apache Cassandra vient de sortir en version 4.0.
Si la note de version de Cassandra 4.0 est vraiment très volumineuse, la nouveauté la plus marquante est sans doute l'ajout de la prise en charge de Java 9 et versions ultérieures.
En effet cet ajout, outre les améliorations apportées à Cassandra elle-même, permet de bénéficier des améliorations de Java et en l'occurrence du ramasse-miette Z Garbage Collector, ou ZGC, qui est arrivé à titre expérimental dans Java 11, mis en production avec Java 15 et encore amélioré avec Java 16.
ZGC promet des temps de pause très courts pour les opérations de nettoyage de la mémoire : moins de 10 ms.
D'après un benchmark publié sur jaxenter.com, utiliser Cassandra et le ZGC de Java 16 conjointement débloque 30% de débit supplémentaire pour les charges de travail de clé/valeur et de séries temporelles, sans effet sur la charge de travail tabulaire. Ceci grâce à la réduction des latences de queue apportées par ZGC.