J'ai un problème, enfin, une sorte de problème. Je suis en train de refaire une des parties de ma "pseudo" base de données. La dernière fois que j'avais eu un problème avec c'était pour une histoire de BTree mais maintenant c'est encore un niveau en dessous : Mon fichier est découpé en blocs de 64 octets chacuns. Tous les 512 blocs forment une page et le moteur charge à chaque fois une page en mémoire. Toute cette partie fonctionne nikel (je me suis même débrouillé pour faire des caches et tout et tout). Le niveau juste au dessus c'est pouvoir organiser les blocs pour pouvoir "émuler" un flux de données (pouvant faire largement plus que 64 octets) et pour l'organisation j'ai du mal.
Ce que je faisait c'était une liste de blocs chainés (les 8 derniers octets indiquent le numéro du bloc suivant) et ainsi de suite. Cependant pour un flux de 24 Mo pour faire un seek à la position du byte commençant le 23e Mo je me retrouve à devoir lire tous le fichier pour pouvoir y arriver. Y'a t'il donc des documents ou des méthodes sur les méthodes les plus "pratiques" pour stocker l'adresse d'une série de blocs (sachant que cette liste elle aussi doit être contenue dans les blocs ...) ?
Partager