Le stockage physique BTREE des fichiers

Le stockage physique BTREE des fichiers

par malika younes,
Nombre de réponses : 1

bonjour

 

je comprends pas ces phrases le stockage physique des fichiers dans Moodle 2 ne reflète plus du tout l'organisation logique des cours et des contextes contenant les fichiers.

Le nouveau stockage physique est un BTREE optimisé pour accélerer l'obtention des fichiers.

et pourquoi en utilise la classe file_info() ca sert à quoi?

Moyenne des évaluations  -
En réponse à malika younes

Re: Le stockage physique BTREE des fichiers

par Valery Fremaux,
Avatar Développeurs de plugins

Le stockage physique des fichiers est maintenant un stokage unique : deux fichiers rigoureusement identiques ne seront physiquement stockés qu'une seule fois sous un nom correspondant à leur hash de contenu (md5). 

Si moodle a utilisé un BTREE c'est que mettre tous les fichiers à plat dans un seul répertoire n'est pas viable pour les gros sites :

  • Explosion de limites de capacité des tables d'inodes
  • Temps d'accès au fichier croissant en complexité log2Non

Le BTREE range les fichiers avec une croissance acceptable, même pour les très très gros sites. 

La relation entre le fichier et la structure des cours est maintenant assurée par la table "mdl_files". 

la classe file_info est une représentation de ces données descriptives dévrivant virtuellement le fichier suffisamment pour pouvoir le manipuler.

Il faut donc ABSOLUMENT arrêter de l'imaginer manoeuvrer les fichiers directement par des chemins de stockage explicites ou des fopen et des fwrite sur les emplacements physiques.

mais toujours utiliser le système de gestion des fichiers :

$fs = get_file_storage()

et ses primitives (ou les primitives attachées à un objet file_storage, à un niveau en dessous) pour dealer avec les fichiers.