J'ai besoin d'un conteneur d'index muti basé sur des arbres rouge-noir (quelque chose comme boost::multi_index::multi_index_container
) pour le cas du stockage sur disque dur. Toutes les données doivent être stockées sur le disque dur plutôt qu'en mémoire.Existe-t-il un conteneur d'index muti pour le stockage du disque dur plutôt que de la mémoire?
Existe-t-il un conteneur open source tel que les conditions décrites soient remplies?
Remarque. J'utilise C++
.
Ce n'est pas vrai. Tout d'abord, la solution en mémoire est stable par rapport à une fragmentation car il existe des pages de mémoire dans le système d'exploitation. Vous avez de nombreux problèmes avec les allocations de mémoire dynamique et les désallocations dans le stockage de fichiers. Deuxièmement, il y a une restriction de 2 Go sur les systèmes 32 bits. –
@alexey Toute solution basée sur des fichiers sera sujette à la fragmentation, mais un allocateur personnalisé approprié peut minimiser cela. La limite de 2 Go peut être un problème, si vous attendez un ensemble de données plus volumineux que cela. Vous pouvez utiliser plusieurs fichiers mappés, mais cela peut devenir trop complexe pour être réalisable. La question n'a pas dit que vous avez besoin de plus de 2 Go sur un système 32 bits. Peut-être était-il impliqué par le besoin de stockage de fichiers, mais je ne l'ai pas compris de cette façon. (Pardon). –
Un autre problème est comment attacher un fichier existant avec des données au conteneur multi-index. –