Les SSD (Solid-State Drive) : une technologie d’avenir pour nos SGBD ?

13 mai 2008 par arnaud

Modifier une petite ligne dans le fichier de configuration de son SGBD et obtenir les performances souhaitées, c’est possible… si vous êtes chanceux. La performance globale d’un SGBD repose en effet sur un ensemble de briques, logicielles ou matérielles, qui une fois empilées correctement forment un ensemble cohérent (et performant) : la seule étape du fichier de configuration ne suffit pas.

Dans un de ses récents billets, Matt Yonkovit a déclenché une série de réflexions intéressantes à propos de l’impact des performances des disques durs sur l’ensemble du SGBD.

Selon lui, les problèmes de performance au sein d’un SGBD sont la plupart du temps relatifs aux disques durs et notamment au nombre d’I/O (Entrées/Sorties) qu’ils sont capables de traiter par seconde (IOPS).

Comparés aux processeurs actuels capables de prendre plusieurs milliards de décisions par seconde (Ghz) et aux mémoires vives dont les temps d’accès se mesurent en nanosecondes, le temps d’accès d’un disque dur se compte encore en millisecondes… Difficile de lutter contre des éléments purement électroniques quand on est constitué d’éléments mécaniques en mouvement (têtes de lecture, plateaux…).

Afin d’avoir recours le moins possible aux disques, l’utilisation des index est une première étape qu’on complètera par différents mécanismes de caching afin de limiter encore davantage les accès à ce support et éviter ainsi que le disque ne constitue un goulet d’étranglement (« I/O bound »).

Outre ces mécanismes, la technologie SSD pourrait bien à l’avenir changer la donne.

Les SSD, littéralement Solid-State Drives (ou Disk par abus de langage), ne sont pas des disques mais des unités de stockage constituées de mémoire flash (persistante).

Au vu des benchmarks les concernant, il y’a fort à parier que les SSD seront de plus en plus d’actualité dans les mois qui viennent.
Ces benchmarks sont unanimes sur un point : les SSD obtiennent d’excellentes performances lors des random read, laissant loin derrière les disques « classiques ». Grosse ombre au tableau néanmoins : les tests effectués sur des random write ne sont pas aussi concluants. Pourquoi ?

Sur un disque classique un « random read » entraîne (du plus couteux au moins couteux) :
- le déplacement de la tête de lecture/écriture sur la bonne piste (« seek time »)
- une fois la tête sur la bonne piste, il faut encore repérer sur celle-ci le bloc secteur demandé (« rotational latency »)
- la lecture et la transmission de la donnée vers le système.

Avec un SSD, le même « random read » est beaucoup plus rapide : pas de tête de lecture à déplacer ni d’attente liée à la rotation d’un plateau. Conclusion, comptez environ 5 ms de temps d’accès à un secteur particulier pour un disque performant et environ 0.15 ms pour un SSD.

En revanche, lors d’une écriture, le SSD est par conception beaucoup plus lent qu’en lecture : la « préparation » obligatoire de l’importante zone dédiée à l’écriture (« erase block ») et un ensemble d’écritures spécifique à cette technologie pénalisent les performances.

Face à ce problème connu, des parades logicielles voient le jour et la plupart des constructeurs de SSD proposeront sûrement leur propre solution dans les mois à venir. Actuellement la technologie MFT (Managed Flash Technology) offre déjà de grandes améliorations (cf lien « benchmarks » ci-dessus, 3ème graphique). Les performances obtenues sont sensiblement égales lors des random read par rapport aux SSD classiques mais les résultats sont 30x supérieurs en random write par rapport aux SSD et 15x supérieurs aux disque durs.

Enfin, un autre signe que le SSD est très certainement une technologie d’avenir : un des plus récents moteurs pour MySQL, PBXT, est conçu pour fonctionner avec les SSD (pdf).

Pour résumer, concernant les SSD :

Avantages :
- Très rapide en random read
- Peu sensible à la fragmentation des fichiers : performances constantes.
- Fiabilité supérieure au HD (pas d’éléments mécaniques en mouvement)

Inconvénients des SSD :
- Prix
- Capacités en deça des disques actuels
- Durée de vie plus courte qu’un disque (nombres de cycles d’écriture limités)

Améliorations attendues (et en cours) :
- Chute des prix
- Augmentation des performances en écriture
- Augmentation de la capacité
- Meilleure répartition des écritures sur le support (augmentation du nombre de cycles écritures / durée de vie)

Si cette rapide présentation des SSD a aiguisé votre curiosité, voici quelques pistes pour aller plus loin :
- Le blog de Kevin Burton.
- La rubrique SSD sur Wikipédia (notamment les références en bas de page).

Mots-clefs : ,

7 commentaires sur “Les SSD (Solid-State Drive) : une technologie d’avenir pour nos SGBD ?”

  1. [...] A lire aussi: DbNews – Les SSD (Solid-State Drive) : une technologie d’avenir pour nos SGBD ? [...]

  2. Eric V dit :

    J’entends ça et la des problemes avec les nouveaux SSD…

    Bien qu’il soit impossible qu’il soit exempts de défaut, est ce juste une impression ou un fait avéré ?

  3. arnaud dit :

    Salut Eric,

    Comme tu le fais remarquer dans ton article, Matt a effectivement rencontré quelques soucis, essentiellement autour du driver MFT. On ne peut donc pas généraliser ce type de problème aux SSD eux-mêmes puisqu’il s’agit dans ce cas précis d’une tentative logicielle de palier à une lenteur matérielle.

    Cependant je serais curieux d’en savoir plus à propos de la mésaventure de SVM Mac dont tu parles, as-tu plus d’infos là-dessus ? Etaient-ils au milieu d’un benchmark ou d’une utilisation plus traditionnelle de leur matériel par exemple ?

  4. [...] sont-elles toutes en mémoire ou en partie sur disque ? On peut également parier sur le fait que l’apparition des disques SSD devrait par exemple impacter les choix de l’optimiseur à l’avenir… Bref, à [...]

  5. Joey dit :

    Je dirais plutôt que les SSD sont très rapide..en SEQUENTIAL READ ! (non en random)

  6. arnaud dit :

    @joey

    Peux-tu nous expliquer ce qui te fait dire ça ?
    Pour moi ces graphiques sont plutot parlant :
    http://www.bigdbahead.com/?p=44, il s’agit bien de random read où le SSD surclasse particulièrement le disque « classique ».

    … et l’intel SSD qui fait l’actu en ce moment offre également de belles performances en écriture : http://www.anandtech.com/cpuchipsets/intel/showdoc.aspx?i=3403&p=8&cp=3

  7. [...] propos des random I/O, voici un court extrait d’un billet précédent sur les SSD [...]

Laisser une réponse