Les bases de données en mémoire

Les bases en mémoire accélèrent le traitement des données transactionnelles ou décisionnelles. La baisse des prix de la mémoire en 2006-2007 a incité de grands acteurs comme SAP et Oracle à s'y rallier.

Le disque dur est remplacé par la mémoire vive afin d’accélérer les traitements des données.
Les gains
1. Un ratio performance/coût imbattable. Le principal avantage de la RAM est sa vitesse de lecture, plus élevée que celle sur disque (environ 60 nanosecondes pour lire une donnée contre 10 millisecondes sur disque). Or le prix de la mémoire s’est effondré et se situe désormais sous la barre des 0,10 dollar le gigaoctet. Les bases de données en RAM deviennent donc une aubaine pour les entreprises qui réalisent plus de 100 000 transactions par jour, comme c’est le cas dans la finance ou les transports, et pour celles qui comptent des centaines de milliers d’utilisateurs, tels les spécialistes de l’e-commerce.
2. Des étapes de préparation raccourcies voire supprimées. Qu’elles servent des besoins transactionnels ou décisionnels, les bases in memory réduisent les étapes de préparation des données. Le cabinet Octo Technology rappelle qu’il est toujours plus rapide de calculer une valeur à la volée dans la mémoire, que d’accéder sur disque au résultat précalculé. Fini donc les opérations d’agrégat de données, les bases en mémoire ne s’appuyant que sur les données de détail. Exit aussi l’élaboration des axes d’analyses définis a priori. Désormais, ces derniers sont calculés sur le vif, à la demande de l’utilisateur.
3. Des usages métier inédits. Si les bases en mémoire relèvent historiquement de spécialistes (Redis, SolidDB, TimesTen), elles sont aujourd’hui au cœur des offres applicatives de géants comme SAP (avec Hana) ou Oracle (Exalytics). Pour l’éditeur allemand, cette nouvelle technologie laisse entrevoir des usages métier inédits, aussi bien sur le terrain décisionnel qu’opérationnel. Particulièrement dans le domaine financier, grâce à des informations bien plus précises et plus fraîches que par le passé. Au-delà de ces mastodontes, il faut compter sur une vague de solutions regroupées sous la bannière du « noSQL ». Ces bases, la plupart open source (Cassandra, Mango DB), vont plus loin que d’autres dans l’exploitation du cache, notamment en utilisant mieux les architectures matérielles.
Les limites
1. Une administration matérielle encore perfectible. Certes, toutes les étapes traditionnelles conditionnant la performance globale du système, telles que l’élaboration du modèle de données ou la pose d’index, sont moins cruciales en in memory. Mais d’autres opérations d’administration, plus proches du matériel celles-là, sont requises. Principalement, la gestion de l’espace disque ou l’optimisation du cache. Or les administrateurs ne disposent pas, avec les bases en mémoire, d’outils d’administration aussi éprouvés que ceux livrés, par exemple, avec Oracle ou IBM DB2.
2. Une cohérence de données assez fragile. La plupart des bases en mémoire reposent sur une architecture distribuée, avec plusieurs clusters répartis dans le monde en haute disponibilité. Mais cette caractéristique fait une victime : la cohérence des données. Ces systèmes in memory ont parfois du mal à gérer les écritures concurrentes, surtout lorsqu’elles sont effectuées depuis des points géographiques éloignés. Octo Technology recommande alors aux utilisateurs d’une même région de travailler sur un périmètre qui leur est propre (les dossiers français pour le site de Paris, les dossiers asiatiques pour celui de Singapour). Lorsque tous les utilisateurs sont potentiellement amenés à exploiter l’ensemble des données, les bases relationnelles sont mieux adaptées.
Votre opinion