Pour accélérer les traitements OLTP, Microsoft est en train d'ajouter des capacités in-memory à sa base de données relationnelle SQL Server. La prochaine version du produit pourra charger les tables de la base, ou même l'intégralité des bases dans la mémoire du serveur. Cette technologie, gratifiée du nom de code Hekaton, a été présentée sur le récent SQL Server PASS Summit organisé par Microsoft du 6 au 9 novembre à Seattle (état de Washington). Elle est actuellement testée chez plusieurs clients.

Toute application ralentie par les entrées/sorties des disques durs bénéficiera du transfert des données en mémoire, a rappelé Douglas Leland, directeur général, responsable des produits, Business Platform Marketing Group chez Microsoft. Avec Hekaton, les transactions pourront s'exécuter 50 fois plus vite qu'avec une installation SQL Server standard, la mise en mémoire de la table permettant d'éviter les allers/retours vers le disque. La technologie est mise au point pour les traitements OLTP requis par les ERP (progiciels de gestion intégrés), les applications des systèmes bancaires et autres systèmes transactionnels recourant de façon intensive aux disques, a expliqué Douglas Leland. Elle ne fonctionne que sur un seul serveur, même si elle n'a pas de limite matérielle sur la taille de la mémoire utilisée qui dépendra donc de ce que le serveur en question peut supporter.

Maintien des propriétés ACID

Hekaton maintient toutes les propriétés requises par les bases de données relationnelles (atomicité, cohérence, isolation, durabilité/ACID). La technologie écrit les transactions en mémoire et les reporte périodiquement sur le disque. Le logiciel utilise différents algorithmes de compression pour loger davantage de données en mémoire.

Pour aider les administrateurs de bases de données à déployer cette technologie, la prochaine version de SQL Server inclura un outil pour indiquer quelles bases ou tables peuvent être exploitées en mémoire. Il ne sera pas nécessaire d'effectuer des modifications sur les applications qui les utilisent. Hekaton pourra aussi compiler des procédures stockées afin qu'elles puissent également fonctionner en mémoire. « Vous pourrez les exploiter comme du code machine natif », assure Douglas Leland.

Les technologies de traitement en mémoire se sont répandues au cours des derniers mois chez les fournisseurs qui veulent accélérer le traitement des données. Un acteur comme SAP promeut depuis plusieurs années cette voie avec son offre HANA. Oracle l'exploite aussi dans son système Exalytics, ainsi que d'autres éditeurs de solutions analytiques, comme SAS avec sa récente offre Visual Analytics (qui utilise, comme les offres de SAP et Oracle, une combinaison de logiciel et de plateforme matérielle). Pour Douglas Leland, de Microsoft, greffer la technologie in-memory directement dans SQL Server va simplifier l'architecture informatique du client en supprimant la nécessité d'installer et de maintenir séparément une autre technologie in-memory.

PDW traitera les requêtes Hadoop via Hive

Douglas Leland a également rappelé qu'il ne s'agissait pas là de la première incursion de Microsoft dans le in-memory puisqu'à la fois PowerPivot et Power View utilisent ce mécanisme pour permettre aux utilisateurs de manipuler d'importants jeux de données dans les feuilles de calcul d'Excel.

Sur SQL Server PASS Summit, Microsoft a également annoncé qu'il livrerait bientôt la prochaine version de son appliance SQL Server 2012 Parallel Data Warehouse (PDW) qui utilise un nouveau moteur de traitement des données, baptisé PolyBase. Elle pourra à la fois prendre en charge des requêtes sur des données relationnelles et non relationnelles avec Apache Hadoop. Les requêtes Hadoop seront acheminées via le logiciel de datawarehouse Apache Hive.

L'éditeur de Redmond a par ailleurs livré le Service Pack 1 de SQL Server 2012. Entre autres choses, celui-ci apporte aux utilisateurs d'Excel 2013 la possibilité de travailler directement avec les données de SQL Server. En revanche, Microsoft n'a fourni aucune indication sur la date de sortie de la prochaine version de sa base de données.