background success stories

Apache Cassandra 4.0 est dans les starting-blocks

Mais qu’attendre de cette nouvelle version ?

Tout d’abord il faut savoir qu’Apache Cassandra 4.0 se veut comme la version « la plus stable de l’histoire ». Il y a eu plus de 1000 bugs corrigés, des ajouts de nouvelles fonctionnalités, différentes optimisations, le support de JAVA 11 et bien d’autre encore …

Dans cet article nous allons vous parler de deux nouvelles fonctionnalités phares amenées par cette future version:

  • Les tables virtuelles
  • Le journal d’audit

Les tables virtuelles en bref

Les tables virtuelles ont été implémentées dans le but de nous faciliter la vie en nous passant de l’utilisation de JMX pour avoir accès aux différentes métriques comme les compactions, des informations sur les clients connectés, ou encore à la configuration YAML de l’instance. Pour autant cette nouvelle fonctionnalité ne signifie pas que JMX est abandonné, il sera toujours possible d’obtenir ces informations par ce biais.

Il faut savoir que les tables virtuelles accessibles elles aussi à travers CQL vont différer des tables « classiques » sur plusieurs points. Tout d’abord elles sont propres à chaque nœud, ce qui signifie qu’elles ne sont ni répliquées ni distribuées sur le reste du cluster. La donnée sera donc stockée une seule fois, par conséquent le niveau de cohérence des requêtes en lecture est ignoré. Pour le moment, ces tables seront accessibles uniquement en read only. Il nous est impossible de créer nos propres tables virtuelles ou de modifier la structure des tables existantes. Par ailleurs ces tables ne peuvent pas être réinitialisées avec la commande TRUNCATE.

Ces tables vont nous donner accès à diverses informations comme:

  • L’utilisation de l’espace disque
  • Les tâches de compactions
  • Les tâches d’upgrade des SSTables
  • Sur les clients connectés
  • La configuration YAML

Vous pourrez retrouver ces différentes tables virtuelles dans deux nouveaux keyspaces :

  • system_virtual_schema keyspace, ce keyspace regroupera les différentes informations sur les tables virtuelles
  • system_views keyspace qui va contenir les tables virtuelles.

Le journal d’audit en quelques lignes

L’autre nouvelle évolution, est un journal d’audit qui va nous permettre de tracer les différentes opérations réalisées, les connexions réussies ou les tentatives… Même si cette nouvelle fonctionnalité peut sembler banale au premier abord, il convient de rappeler qu’en règle général le journal d’audit sur les SGBDs n’est pas inclus dans la version open source. De plus, il est toujours appréciable d’un point de vue sécurité d’avoir ce type d’outil à disposition.

L’un des points de ce journal d’audit réside dans son implémentation, puisqu’il ne sera pas stocké en base mais dans des fichiers. Cette méthode a l’avantage de ne pas impacter les performances.

Plus concrètement nous allons pouvoir tracer :

  • Les différentes commandes CQL que se soit:
    • les requêtes DML
    • les instructions DDL
    • positionnement dans un keyspace
  • Les connexions réussies ou les tentatives
  • Les requêtes tombées en erreur
  • Les privilèges insuffisants

Attention cette fonctionnalité ne permet pas de tracer, les commandes de nodetool ou les évolutions du fichier de configuration cassandra.yaml.

N’hésitez pas à consulter régulièrement notre blog, nous y rédigerons une série d’articles sur cette nouvelle version qui s’annonce très prometteuse !