DBToaster fait sauter les bouchons dans les bases de données

© photos.com

© photos.com

Des milliards de données sont triées à chaque instant par des fermes de serveurs toujours plus importantes. Des chercheurs de l’EPFL ont mis au point le système DBToaster, qui améliore drastiquement la circulation de ces flux. L’enjeu est économique et environnemental.

Les bases de données ont révolutionné le monde de l’entreprise. A chaque bouteille de shampooing achetée, à chaque transaction effectuée, c’est une fiche de plus qui vient encombrer les serveurs de votre supermarché ou de votre établissement bancaire. Des quantités phénoménales d’informations, qui permettent d’optimiser l’achalandage des marchandises ou la circulation des flux financiers. Pour suivre cette cadence infernale, de gigantesques fermes de serveurs sont déployées. Des chercheurs du laboratoire DATA de l’EPFL ont mis au point DBToaster, qui permet d’accélérer le temps des opérations par un facteur impressionnant de 100 à 10'000. La dernière version est disponible depuis peu sur www.dbtoaster.org.

«Il y a une dizaine d’années, le CERN préparait l’une des plus grosses bases de données au monde, explique Christoph Koch, chercheur à l’EPFL et créateur de DBToaster. Aujourd’hui, n’importe quel supermarché dispose d’un système plus important.» L’inflation est telle que l’optimisation des bases est également devenue un véritable enjeu environnemental. Aux USA, les fermes de serveurs représentent plus de 2% de la consommation électrique totale, pour une croissance exponentielle.

Eviter les bouchons de données – pour accélérer le flux
Dans une base classique, les données sont traitées par paquets successifs. Par exemple, une banque cherche à dresser la liste de tous ses clients résidents à Zurich, et disposant d’un solde supérieur à 5'000 francs. L’utilisateur fait sa requête en sélectionnant ces critères. La demande est traduite dans une suite d’opérateurs mathématiques. Le premier opérateur trie dans des milliards de fiches – chaque transaction donnant lieu à la création d’une fiche, la quantité d’information à trier est phénoménale. Le paquet de données est ensuite trié par l’opérateur suivant, et ainsi de suite, jusqu’à ce que l’on réduise la liste à l’identité des clients recherchés.

Les données sont si nombreuses que, souvent, la mémoire vive du serveur ne suffit pas à stocker les premiers résultats. Cela occasionne de véritables bouchons de données. L’ordinateur doit donc stocker temporairement les résultats intermédiaires sur le disque dur, avant de les envoyer vers l’opérateur suivant. Une importante perte de temps – l’accès au disque dur est plus de 10'000 fois plus lent que celui à la mémoire vive - et d’énergie.

Les chercheurs de l’EPFL sont parvenus à faire en sorte que le système compile les opérateurs successifs en un seul. Cette opération extrêmement complexe évite de devoir stocker d’imposants résultats intermédiaires. De la sorte, le système DBToaster évite efficacement les congestions.

Garder la mémoire des requêtes – pour ne pas faire deux fois le même chemin
Le système DBToaster repose également sur une seconde innovation. Ici, les chercheurs ont pris en compte le fait que les requêtes sont souvent répétitives. «Généralement, le même opérateur est utilisé à de nombreuses reprises et à brefs intervalles, explique Christoph Koch. Plutôt que de devoir tout recalculer à chaque fois, le système garde la mémoire du résultat précédent et combine les nouvelles entrées. «La grande innovation de DBToaster, c’est de pouvoir générer un code efficace, qui parvient à comprendre comment les anciennes requêtes doivent être changées pour être remises à jour.» De la sorte, la base n’interroge que les informations récemment introduites au lieu de trier dans des milliards d’entrées.

DBToaster est disponible gratuitement en ligne. Pour l’heure les institutions financières, tout particulièrement, ont témoigné un enthousiasme certain pour le système. Selon Christoph Koch, les banques «ont un intérêt évident à pouvoir gagner quelques fractions de secondes dans leurs transactions». Mais l’intérêt du système va bien au-delà. A l’heure où les flux de données consomment toujours plus d’énergie, DBToaster représente une solution pouvant être aisément déployée sur les serveurs actuels, afin de baisser la facture et l’impact environnemental.


Auteur: Lionel Pousaz

Source: EPFL