Clustrix, a-t-on trouvé le Graal des SGBD ?

Par:
gvidal

lun, 05/07/2010 - 11:44

Aujourd’hui les applications web 2.0 utilisent deux types d’organisation des données : des bases relationnelles facilitant le développement mais limitées en capacité de stockage, ou des environnements à base de fichiers indexés étendus comme ceux de Google ou Amazon.

Si l’on veut concevoir une organisation de données pour des volumes quasiment illimités, les temps de développement consacrés  à cette partie de l’application doubleront par rapport à l’utilisation d’une base SQL traditionnelle. On se retrouve un peu dans la situation des années 80, ou les bases relationnelles se cantonnaient aux applications décisionnelles, et le transactionnel restait l’apanage de l’informatique mainframe traditionnelle. Puis est arrivé Sybase, avec son architecture innovante et sa percée dans les salles de marché. Les autres acteurs du marché lui ont vite emboité le pas, et aujourd’hui le problème ne se pose plus dans ces termes.

Quand les données sont réparties sur de grands nombres de serveurs, on se retrouve exactement face à la même équation qu’il y a 25 ans : base de données réparties pour les applications de type data wharehousing (décisionnel étendu) et fichiers indexés améliorés pour le Cloud et le SaaS.

Clustrix, startup de San Francisco, pense avoir trouvé une solution, en proposant un système de bases de données réparties sur plusieurs serveurs et compatible MySQL. L’architecture de base comporte 3 serveurs et peut aller jusqu’à 20.

Dans la théorie des bases de données réparties, il n’existe que deux choix : amener les données au moteur de requêtes ou l’inverse. Et c’est cette dernière solution que Clustrix a adoptée. Elle nécessite une architecture permettant le découpage des demandes pour les envoyer aux serveurs ad-hoc. Ce moteur a été baptisé Clustrix Sierra.

Les fragments de requête sont alors exécutés en parallèle sur les différents nœuds, et renvoient leurs données pour consolidation. On obtient alors des performances linéaires avec l’accroissement du nombre de serveurs.

D’autres technologies sont associées pour améliorer les performances : tout d’abord une liaison entre les serveurs de type Infiniband à 10 Gb/s et d’autre part la possibilité de dupliquer certaines tables sur plusieurs serveurs afin d’accélérer les jointures.

L’autre intérêt de la solution Clustrix est sa facilité d’évolution. On peut en effet rajouter un serveur à chaud, et le système adaptera sa répartition de données automatiquement pour profiter au mieux de l’espace supplémentaire disponible.

http://www.clustrix.com