[En bref] Comment fonctionnent les disques durs (pour mieux comprendre les B-Trees !)

[En bref] Comment fonctionnent les disques durs (pour mieux comprendre les B-Trees !)

On commence la nouvelle semaine avec le fonctionnement des disques durs. Et nous avons besoin de ces connaissances parce que les B-Trees ont été conçus pour fonctionner spécifiquement avec les disques durs ! Donc, comprendre les B-Trees nécessite de comprendre POURQUOI ils ont été conçus de cette manière :slight_smile:

Les disques durs (et franchement même pas les SSD) ne peuvent pas accéder à des 1 et des 0 individuels. À la place, ils fonctionnent en lisant un seul morceau de données à la fois (qui fait généralement 4 Ko) et ce morceau de données s’appelle « un bloc ». Parce que c’est en réalité un bloc de 1 et de 0 regroupés ensemble.

La façon dont tout cela fonctionne repose sur un plateau magnétique qui tourne à très haute vitesse. Et sur ce plateau, vous avez vos 1 et vos 0 stockés. C’est vraiment SIMILAIRE (bien que assez différent en fait) à un gramophone. Vous avez un disque qui tourne (magnétique au lieu de plastique) et un bras qui survole une partie de votre disque. Et ce bras peut charger 4000 bits (des uns et des zéros) depuis une seule position, d’où la taille du bloc de 4 Ko.

Comme vous pouvez l’imaginer, lire 10 blocs consécutifs est extrêmement rapide - vous continuez simplement à tourner dans la même direction et vous lisez au fur et à mesure.

MAIS ! Et c’est là que ça se complique - si vos données finissent par être fragmentées (certains blocs du côté NORD, d’autres blocs du côté SUD) - alors votre disque doit beaucoup tourner pour collecter tous les fragments. Et ça, c’est problématique !

Donc, pour mieux comprendre tout cela, je veux que vous pensiez à une GRUE. La grue, c’est votre bras mécanique. Et les blocs du disque sont des conteneurs remplis de données. Et cette grue ne peut pas soulever un seul objet (en raison de la taille de son crochet) mais doit plutôt soulever un conteneur entier d’un coup.

Donc, si vous cherchez à concevoir quelque chose d’efficace, vous voulez regrouper autant de données que possible dans des conteneurs adjacents. Et surprise, comme vous le verrez dans les prochains articles, c’est exactement ce que font les B-Trees :slight_smile:

Restez à l’écoute, car il y a encore plus à venir dans les prochains jours !