![]() |
|
|
google unix.com
|
|||||||
| Forums | S'inscrire | Forum Rules | Liens | Albums | FAQ | Liste des membres | Calendrier | Recherche | Aujourd'hui, les postes | Marquer les forums comme lus |
| High Level Programming Posez vos questions à propos de C, C + +, Java, SQL, et d'autres langages de programmation ici. |
Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
|
||||
| Fil | Thread Starter | Forum | Réponses | Last Post |
| Comment ajouter des métadonnées à des images numériques à partir de la ligne de commande | iBot | UNIX et Linux News RSS | 0 | 09-19-2008 03:30 PM |
| Hachoir métadonnées 1,2 (Default branch) | iBot | Logiciel de presse - RSS News | 0 | 09-03-2008 08:30 PM |
| Yet Another FLV MetaData Injector de 1,4 (Default branch) | iBot | Logiciel de presse - RSS News | 0 | 05-25-2008 10:10 AM |
| Yet Another FLV MetaData Injector de 1,3 (Default branch) | iBot | Logiciel de presse - RSS News | 0 | 04-27-2008 05:30 PM |
| d'aide, quelle est la différence entre le noyau et la panique dépotoir? | Aileen | UNIX pour les nuls Questions et réponses | 1 | 06-11-2001 09:08 PM |
![]() |
|
|
LinkBack | Thread Tools | Recherche sur ce Thread | Rate Thread | Modes d'affichage |
|
|
|
||||
|
La meilleure façon de larguer les métadonnées dans le fichier: quand et par qui?
Salut,
ma demande (en fait, bibliothèque), un fichier index de nombreux GB produire les tableaux (tableaux de l'offset et la longueur des données de l'index) pour les réutiliser plus tard. Les tableaux sont trop gros, si gros que j'ai manqué de mémoire dans mon processus (limite de 3 Go), lors de l'indexation de plus de 8 Go de fichiers ou plus. Même si je pouvais la fourche à un autre processus de travail autour de la taille limite de mémoire, cela ne résoudrait pas le problème, je voudrais à larguer les tableaux dans un fichier afin de libérer la mémoire, et d'éviter de re-indexer le même fichier plus qu'une seule fois. Gardez à l'esprit qu'à l'heure actuelle, les tableaux sont conservés en mémoire en une seule liste liée, partagé avec un autre fil que l'utiliser pour produire une autre liste de données filtrées. Donc, je préfère ne pas modifier ce schéma. L'autre fil accéder à la liste une fois le fichier a été indexé. Maintenant, les questions que je me pose sont les suivantes: - Quand et comment il le meilleur temps de larguer les tableaux dans un fichier? L'immersion d'une table car il est plein ne semble pas très efficace pour moi. Aurais-je rien de garder en mémoire? La liste liée serait toujours vide? Si je décide de garder N tables en mémoire, et de larguer toutes les N, comment puis-je éviter de faire un chèque de combien de tables je en mémoire à chaque cycle? - Qui devrait larguer les métadonnées produites au dossier? Différents fil? Même fil que l'indice des données? Je ne tiens pas à produire des métadonnées des fichiers lorsque le fichier est traitée en moins de giga (petit fichier de cas), mais en même temps, je ne voudrais pas que la complexité du code de l'indexation, ce droit est maintenant très simple: analyser, de trouver les données, créer une entrée de table, ajoutez-le. Si la table est pleine, en créer un autre et l'ajouter à la liste chaînée. - Disons que j'ai réalisé (merci à vous) la meilleure manière (dans mon cas) à larguer les métadonnées. Quelle politique faut-il utiliser pour charger les données de manière à laisser l'autre thread filtrage de l'index de données sans modifier radicalement la façon dont il travaille maintenant (par exemple grâce à la liste liée)? Une solution qui me viennent à l'esprit, qui permettrait d'éviter un changement drastical dans mon schéma est de créer une "liste de gestionnaire», qui fournissent une interface d'ajouter et de récupérer l'élément de la liste. Cette entité (soit un thread ou un processus) qui prennent soin de conserver certaines données en mémoire (liste liée) et quelques autres dans le fichier. S'il vous plaît partager avec moi votre compétence et votre expérience! :-) Merci d'avance. Observe, S. |
|
||||
|
Citation:
Citation:
Citation:
L'autre fil (B), sur la base d'un drapeau, soit lire les tables à partir du fichier ou la liste en mémoire. Merci pour votre aide, S. |
|
||||
|
Vous voulez dire que je devrais utiliser une base de données pour la tenue des tables, comme sqlite?
|
|
|||||
|
Quelle base de données dépend de la façon dont vous beaucoup de colonnes à indexer et unique que vous avez, sur le rapport du lecteur à des écrivains. sqlite? LOL. Je pensais plus dans le sens de MySQL ou BerkelyDB / DB de Sleepycat.
|
|
||||
|
Citation:
Je n'ai qu'un écrivain, et un lecteur. Les données sont écrites de façon séquentielle, et jamais modifiée. Write once, read many. Une solution ad hoc, je pensais que serait mon meilleur chemin à parcourir. Je vous remercie de votre pensée sur ce point. Merci, S. |
![]() |
| Bookmarks |
| Thread Tools | Recherche sur ce Thread |
| Modes d'affichage | Rate this thread |
|
|