[Divers] Format d'archive indexé

Format d'archive indexé [Divers] - Divers - Programmation

Marsh Posté le 19-02-2008 à 13:30:11    

Bonjour à tous,
 
Je cherche à stocker une multitude (plusieurs centaines) de fichier allant de quelques Ko à 2 Go dans une archive, sans les compresser. Il faut ensuite que je puisse, de manière excessivement rapide, supprimer un ou plusieurs fichier de cette archive et concaténer une ou plusieurs archives. Il faut aussi que je puisse interfacer le logiciel/format d'archive d'une manière ou d'une autre avec PHP (donc au minimum une interface CLI).
Premier réflex : tar. Fonctionne super bien, rempli quasiment tous les rôles. Seul problème, c'est lent. Si je veu supprimer un ou plusieurs fichiers, il doit parcourir toute l'archive à la recherche du fichier pour le delete. Quand il ya seulement quelques fichiers c'est super, mais au dessus de la centaine ce n'est plus gérable.
 
J'ai pensé peut-être à un type d'archive indexé, pour éviter de parcourir tous le fichier à la recherche du fichier désiré. Quelqu'un connaitrais quelquechose qui respecterais mes contraintes ?
 
Buny.

Reply

Marsh Posté le 19-02-2008 à 13:30:11   

Reply

Marsh Posté le 19-02-2008 à 14:31:55    

Aucune idée si ça remplit tes besoins vu que je n'ai jamais fait ce genre de chose, mais est-ce que tu as zieuté du côté de zip et consors, en mode uncompressed ?

Reply

Marsh Posté le 19-02-2008 à 14:43:15    

J'ai essayer ZIP avec l'extension PHP, il met tous en mémoire avant d'écrire l'archive. Du coup dès que l'on dépasse 128mo, php plante.
Je n'ai pas essayer une CLI en revanche, je vais regarder.

Reply

Marsh Posté le 19-02-2008 à 14:44:54    

bunyman a écrit :

J'ai essayer ZIP avec l'extension PHP, il met tous en mémoire avant d'écrire l'archive. Du coup dès que l'on dépasse 128mo, php plante.


Ah ouais. :/
 
Mais sinon je me demandais, pourquoi gérer ça sous forme d'archive au lieu de tout stocker dans un répertoire, c'est une forme d'index de fichiers après tout. :??:

Reply

Marsh Posté le 19-02-2008 à 14:45:11    

Question stupide : S'il n'y a pas de compression, pourquoi se faire chier à faire une archive? :??:

 

[:benou_grilled]


Message édité par skeye le 19-02-2008 à 14:45:26

---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 19-02-2008 à 14:49:31    

[:eddy_]


Message édité par Elmoricq le 19-02-2008 à 14:49:40
Reply

Marsh Posté le 19-02-2008 à 15:01:43    

Pour assurer une pseudo sécurité, et faciliter les transfert à serveur.
Les donnés qui sont "archivé" sont sensible. Ca rebute un peu plus de s'ataquer à un énorme fichier pour récupérer celui qu'il faut, pluto que de l'avoir directement.
Deuxièmement, transféré une seul archive (dans un environnement MS) est beaucou plus rapide que de transférer une multitude de fichier.
 
Voila :)

Reply

Marsh Posté le 19-02-2008 à 15:07:57    

Pardon de te dire ça, mais quelle que soit l'archive choisie, le niveau de sécurité est nul. Ça ne rebute personne de voir un .tar ou un .zip, même s'il n'y a pas d'extension (types MIME).
Tu obtiendras plus de résultat en protégeant convenablement l'endroit où sont stockées tes données qu'en les dissimulant d'une quelconque manière, sauf derrière un cryptage correct, mais là tes temps d'accès seront fortement dégradés.

 

Ensuite, pour le transfert réseau, je ne connais pas tes contraintes, mais là il vaut sans doute mieux créer un .tar.gz avant d'attaquer l'envoi, le temps perdu en compression doit largement être récupéré par le temps de transfert si la taille est suffisament conséquente, ce qui semble être le cas.

 

Enfin, qu'elle est la nature des données stockées ?
Si elles sont homogènes, tu as sans doute plus intérêt à travailler avec une base de données...


Message édité par Elmoricq le 19-02-2008 à 15:09:03
Reply

Marsh Posté le 19-02-2008 à 15:25:16    

En fait les donnés sont crypter, fichier par fichier, puis concaténé dans l'archive. Je reste donc sur mon opinion qu'il faut mieu tous concaténé pour un samblant de sécurité et pour le transfert.
 
Ce sont des donnés bureautique, donc assez varié. Je suis actuellement en train de faire un teste de stockage dans une BDD sqlite, voir un peu ce que ça donne niveau perf.

Reply

Marsh Posté le 19-02-2008 à 15:50:25    

un stockage en blob, c'est nickel...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed