AccueilActualités informatiqueFabrication de données en mémoire : Apache Ignite 2.12 introduit la capture...

Fabrication de données en mémoire : Apache Ignite 2.12 introduit la capture de données de changement

L’Apache Software Foundation (ASF) a annoncé la finalisation de la version 2.12 de l’In-Memory Data Fabric Apache Ignite. Outre de nombreuses nouveautés et corrections de bugs, la version actuelle offre plusieurs nouvelles fonctionnalités – dont une API Index Query et un framework basé sur la librairie Kafka Ducktape pour les tests d’environnements distribués. Apache Ignite 2.12 intègre également le schéma de traitement des données Change Data Capture (CDC).

Sommaire

En tant que plateforme de calcul en mémoire et base de données distribuée, Ignite est conçu pour garantir l’évolutivité et la performance des applications en temps réel, même en présence de grandes quantités de données. Pour ce faire, le système conserve entièrement l’application en mémoire et utilise le MPP (Massively Parallel Processing) pour répartir la charge de calcul dans le cluster sur un grand nombre de nœuds de serveurs. Pour recevoir de manière asynchrone les modifications des entrées sur le nœud local et déclencher ensuite les actions nécessaires, comme par exemple une mise à jour de l’index de recherche, Ignite se base à l’avenir sur le modèle CDC.

L’implémentation de CDC se fait via ignite-cdc.sh et l’API Java. Outre l’actualisation de l’index de recherche, le pattern ouvre aux utilisateurs d’Ignite des champs d’application tels que le calcul de statistiques lors de requêtes en streaming, l’interaction asynchrone avec des systèmes externes ou l’audit de logs. CDC est pour l’instant encore considéré comme une fonctionnalité expérimentale, de plus amples informations sur le pattern sont disponibles dans la documentation.

Alors qu’Ignite utilise par défaut uniquement la mémoire RAM, le système peut, si nécessaire, être étendu à l’espace disque disponible dans le cluster. Pour cela, il suffit de modifier la configuration :

IgniteConfiguration cfg = new IgniteConfiguration();

DataStorageConfiguration storageCfg = new DataStorageConfiguration();

// Enable Ignite Persistence
storageCfg.getDefaultDataRegionConfiguration().setPersistenceEnabled(true);

// Using the new storage configuration
cfg.setDataStorageConfiguration(storageCfg);

Une nouvelle API Index Query doit permettre d’effectuer des requêtes d’index sur des index distribués et d’appeler des entrées de cache correspondant à la requête spécifiée. Selon l’équipe de développement d’Ignite, cela peut être utile, entre autres, dans les cas où la conception de l’application ne permet pas l’utilisation de SQL. En ce qui concerne les performances, il est également indiqué que IndexScan par rapport à ScanQuery est à privilégier.

Afin de créer un moyen de tester la base de code d’Apache Ignite également dans des environnements du monde réel, l’équipe a décidé de développer un framework de test approprié sur la base de Confluent Ducktape. Le framework Python, disponible gratuitement, est principalement utilisé pour tester Apache Kafka et s’est apparemment imposé en raison de sa structure simple et de la facilité de gestion des clusters de test.

Sous le nom de code Ducktest, les fonctions et tests de base ont été implémentés dans une branche séparée du référentiel principal d’Ignite. Les développeurs peuvent ainsi démarrer et arrêter des nœuds Ignite dans n’importe quelle configuration Docker ou de cluster. L’API de test permet de créer des clusters avec des control.sh peuvent être gérés. Il est également possible d’exécuter d’autres applications comme Spark ou Zookeeper grâce à Ducktest.

Lire aussi

De plus amples informations sur la In-Memory Data Fabric, initialement créée par la société GridGain Systems, sont disponibles sur le site web du projet Apache Ignite. Les principales nouveautés sont résumées dans le blog d’ASF, tandis que les notes de mise à jour fournissent un aperçu complet.

Plus d'articles