Du In-Memory dans le relationnel
Les éditeurs de RDBMS ont entrepris de doter leurs solutions de briques In-Memory, afin de renforcer leurs capacités analytiques et de traitement de leurs produits phares reposant sur SQL.
C’est comme si, du jour au lendemain, la technologie In-Memory avait émergé du monde du traitement de haute performance et de Wall Street et était devenue une composante presque lambda.
Le In-Memory, dont la mécanique contourne les disques durs pour utiliser la mémoire des semiconducteurs, a récemment connu une forte dynamique avec SAP, qui a largement, et avec beaucoup de bruit, communiqué sur sa base Hana – ainsi que sur son adoption.
Les acteurs des bases de données relationnelles traditionnelles ont bien pris note, ajoutant alors des briques In-Memory à leurs produits phares reposant sur SQL afin d’en améliorer les performances. IBM, Oracle, Microsoft y sont venus, pour notamment répondre aux desiderata d’un marché à la recherche de toujours plus rapidité de calculs. Dans le traitement transactionnel, les performances ont ainsi été multipliées par plus de 10, et parfois dans certains entrepôts de données analytiques.
Les applications, vouées au calcul de hautes performances, sont généralement la cible première des offres In-Memory, et particulièrement pour les bases de données relationnelles In-Memory, soutient William McKnight, président du cabinet de conseil McKnight Consulting. Les performances apportées par le In-Memory sont importantes pour l’analytique et les applications opérationnelles.
Des gains en matière de hautes performances
Les applications, pour qui la vitesse de traitement est essentielle, sont une bonne cible pour les bases de données relationnelles In-Memory, affirme Andrew Mendelsohn, vice-président des technologies serveurs chez Oracle, particulièrement « celles qui nécessitent un accès à de grands volumes de données pour gagner en visibilité sur les activités de l’entreprise ».
Les origines du In-Memory chez Oracle remontent à plusieurs années. Depuis 2006, le groupe propose une base de données en mémoire baptisée TimesTen, rachetée à HP Labs. C’est également à partir de 2007 que le groupe a démarré ses travaux sur Coherence, une grille de données en mémoire pour la persistance des objets. L’année dernière, à l’occasion d’Openworld, la firme de Larry Ellison a également présenté une option In-Memory pour 12c, actuellement en bêta.
Comme McKnnight, Mendelsohn considère que le In-Memory peut apporter des gains tant dans l’analytique que dans l’opérationnel. De nouvelles classes d’applications hybrides, associant l’analytique au transactionnel pour par exemple du commerce en temps réel, peuvent offrir des retours immédiats, explique-t-il.
In-Memory et BLU
Chez IBM, BLU Acceleration a également apporté une composante In-Memory à DB2 en 2013. Comme Oracle, IBM propose plusieurs technologies In-Memory dans son portefeuille d’offres middleware et de traitement des données. Aujourd’hui, la manipulation de données en mémoire est une fonction clé de sa base de données relationnelle.
« Tout ce qui requiert des traitements analytiques ou du décisionnel à partir de données a beaucoup à gagner du In-Memory », indique Nancy Kopp, directrice des systèmes de bases de données chez IBM. « Le reporting, le data-mining ainsi que la découverte de données, tout cela peut en tirer des bénéfices. »
Tout ce que les observateurs décrivent comme l’analytique temps-réel tient aujourd’hui du Graal, admet-elle. Souvent les applications liées aux données sont limitées par la latence des entrées-sorties et cela peut ainsi brider ce que Kopp appelle « la vitesse de réflexion » des analystes.
Le In-Memory prend tout son sens lorsque « la latence est critique et que le nombre d’utilisateurs est très élevé », ajoute-t-elle. « Les entreprises souhaitent obtenir des réponses aussi rapidement qu’elles posent des questions. Avec la technologie In-Memory, nous pouvons obtenir davantage de résultats de la BI. »
Comme les autres consultants, elle considère que les possibilités apportées par le In-Memory peuvent faire émerger de nouveaux usages aux bases de données relationnelles. En fin de compte, la ligne entre les mondes transactionnel et analytique va devenir de plus en plus mince, commente-t-elle.
La fin du batch
Les entreprises, habituées aux traitements par lots, vont apprendre rapidement à travailler avec l’exécution en temps réel, car le In-Memory exploitera mieux les bases de données relationnelles, affirme de son côté, Tiffany Wissner, directrice du marketing produit SQL Server chez Microsoft. De plus, de telles possibilités préparent les clients à migrer vers des traitements à plus grande échelle, dans le Cloud.
Selon elle, Microsoft propose une forme de In-Memory dans le cadre de son offre SQL Server traditionnelle depuis 2008, avec PowerPivot qui permet d’analyser des milliards de ligne Excel en mémoire. « Avec SQL Server 2012, nous avons étendu cela avec un datastore en colonne In-Memory. »
SQL Server 2014 supporte également le traitement de transactions en mémoire. Wissner assure également que les opérations de la base peuvent être optimisées pour OLTP ou pour fonctionner comme un datastore en colonne de type entrepôt de données, pour accélérer le requêtage.
Parier sur la technologie In-Memory
Adapter le In-Memory pour les performances des bases de données relationnelles peut diminuer la pression sur les systèmes transactionnels à grande échelle, affirme Wolfgang « Rick » Kutschera, responsable de l’ingénierie base de données chez bwin.party à Vienne en Autriche. Ses équipes ont placé en production la dernière itération de SQL Server.
Les équipes de Kutschera ont fait partie des phases bêta de « Hekaton », le nom de code de la nouvelle version de SQL Server 2014. Pour bwin.party, un spécialiste du jeu en ligne, cette dernière version a permis de répondre aux besoins de dimensionnement des transactions et de cohérence des données. La migration a été plutôt simple, précise-t-il.
« Nous avons démarré sur une application, généralement limitée en termes de performances. Elle ne pouvait pas se dimensionner facilement que ce soit dans un sens ou dans un autre. Avec Hekaton, cela nous a pris un jou ou deux passer à sur la technologie In-Memory, et une fois cela réalisé, nous avons pu accélérer la procédure de dimensionnement d’un facteur de 20 », commente-t-il. « De nombreuses applications, dont les performances sont un élément clé, ont alors migré. » Aujourd’hui, les employés explorent d’autres cas d’usage.
Comme tout autre site à forte valeur transactionnelle, bwin.party a également considéré les bases NoSQL, alternatives aux systèmes relationnels, affirme encore Kutschera. Mais il y a une différence entre un tweet et un pari. « Le principal problème est que les sites qui utilisent NoSQL, dans la plupart des cas, n’ont pas de problèmes s’ils perdent une donnée. Si vous perdez par exemple un message Twitter, personne ne s’en préoccupe. Mais, poursuit-il, si vous perdez un pari qui aurait pu rapporter 20 000 ou 30 000$, cela devient grave. »
Traduit par la rédaction