Vitesse d’exécution et distribution des ressources sont les deux objectifs visés par Gridgain.
« Dans cinq ans, l’informatique In-memory deviendra simplement l’informatique affirme d’emblée » Abe Kleinfeld, fondateur et CEO, signifiant ainsi que tout l’informatique s’effectuera en mémoire vive. Créée en 2007, Gridgain s’est lancé le développement d’une plate-forme open source qu’elle cèdera en 2010 à la fondation Apache et qui deviendra la brique de base du projet Ignite. Depuis, Gridgain est resté l’un des principaux contributeurs de ce projet et a développé une activité type d’un éditeur open source d’une offre complétée de fonctionnalités propriétaires et de services ad hoc. GridGain propose deux versions Professional Edition et Entreprise Edition, qui est la plus complète. Gridgain a levé un peu plus de 31 M$ et espère une nouvelle levée de fonds dans le courant. Elle fait état d’une croissance rapide la conduisant à un chiffre d’affaires de 20 M$ avec comme objectif d’atteindre 100 M$ en 2019.
Apache Ignite est une plate-forme qui permet d’une part d’accélérer le traitement des données en les plaçant toutes en mémoire RAM et d’autre part de les distribuer simplement en ajoutant des nœuds de calcul. Cette solution est adaptée à de très nombreux domaines d’applications : big data, IoT, Informatique cognitive, streaming et traitement en temps réel.
L’approche In-Memory n’est pas nouvelle. Dans le monde propriétaire, SAP avait été un pionnier avec HANA dont la première version a été dévoilé fin 2010. Aujourd’hui, SAP HANA en est à la version 12.
Pourquoi le développement très rapide de l’approche In-memory s’appuie sur deux phénomènes : d’un côté le coût des mémoires DRAM baisse au rythme de 30 % et de l’autre une explosion du volume des données disponibles qui devrait atteindre 35 zetta-octets en 2020. Un nombre tellement grand qu’il ne nous dit pas grand-chose si ce n’est que c’est considérable : 1 Zo = 1021 octets = 1 000 000 000 000 000 000 000 octets. De cette conjonction de facteurs résulte une diffusion rapide de la technologie In-memory pour différents types d’applications mesurée par un quasi triplement entre 2015 et 2020. Le Gartner évalue ce marché à 13 milliards de dollars.
GridGain entend donc faire réunir les deux architectures, transactionnelle avec les SGBDR, et analytics avec les bases de données spécialisées et autres data warehouse dans une seule et même architecture baptisée HTAP pour Hybrid Transaction/Analytical Processing où tout est traité en mémoire RAM. Apache Ignite est organisée en 3 couches : une Data Fabric sous forme de middleware fonctionnant dans une machine virtuelle Java qui réalise les traitements In-memory et qui offre une API unifiée supportant côté application les langages SQL, C++, .NET, Java/Scala/Groovy, Node.js, PHP et côté base de données aux bases SQL, aux bases NoSQL et au logiciel Hadoop pour les données structurées, semi structurées et non structurées. Cette Data Fabric qui vérifie les propriétés ACID[1] (atomicité, cohérence, isolation et durabilité) permettant de prendre en compte des travaux temps, batch et interactifs.
Cette technologie est disponible on-premise, dans un environnement hybride ou sur les clouds d’AWS, Azure de Microsoft ou en de Google. Pour donner un ordre de grandeur, une configuration sous forme d’appliance comprenant 4 CPU et 16 Go de mémoire est proposée à environ 5 000 dollars par an et de 10 000 dollars avec un support 24/7. La version 1.9 de la Professional Edition que vient d’annoncer GridGain supporte les Containers Kubernetes en plus de Mesos et Docker, apporte une amélioration de performances de 20 à 40 %, offre un support étendu de DML (Dynamic Modeling Language) et d’Apache Spark, .Net et C++. D’ici quelques mois, la solution apportera une meilleure proposition en matière de persistance des données.
Selon Abe Kleinfeld, GridGain est une alternative à SAP HANA ou à Oracle database In-memory pour le monde Open Source mais beaucoup plus abordable sur le plan financier. Sans cette technologie impose une quelconque adhérence avec les solutions SAP ou Oracle.
_________
[1] Atomicité
La propriété d’atomicité assure qu’une transaction se fait au complet ou pas du tout : si une partie d’une transaction ne peut être faite, il faut effacer toute trace de la transaction et remettre les données dans l’état où elles étaient avant la transaction. L’atomicité doit être respectée dans toutes situations, comme une panne d’électricité, une défaillance de l’ordinateur, ou une panne d’un disque magnétique.
Cohérence
La propriété de cohérence assure que chaque transaction amènera le système d’un état valide à un autre état valide. Tout changement à la base de données doit être valide selon toutes les règles définies, incluant mais non limitées aux contraintes d’intégrité, aux rollbacks en cascade, aux déclencheurs de base de données, et à toutes combinaisons d’événements.
Isolation
Toute transaction doit s’exécuter comme si elle était la seule sur le système. Aucune dépendance possible entre les transactions. La propriété d’isolation assure que l’exécution simultanée de transactions produit le même état que celui qui serait obtenu par l’exécution en série des transactions. Chaque transaction doit s’exécuter en isolation totale : si T1 et T2 s’exécutent simultanément, alors chacune doit demeurer indépendante de l’autre.
Durabilité
La propriété de durabilité assure que lorsqu’une transaction a été confirmée, elle demeure enregistrée même à la suite d’une panne d’électricité, d’une panne de l’ordinateur ou d’un autre problème. Par exemple, dans une base de données relationnelle, lorsqu’un groupe d’énoncés SQL ont été exécutés, les résultats doivent être enregistrés de façon permanente, même dans le cas d’une panne immédiatement après l’exécution des énoncés.
(Source : Wikipedia)