2011-08-04 3 views
0

J'ai beaucoup de données à exploiter (écriture, tri, lecture). Ces données peuvent potentiellement être plus grandes que la mémoire principale et n'ont pas besoin d'être stockées de manière permanente.Dans la base de données de mémoire avec repli sur le disque sur MOO

Existe-t-il un type de bibliothèque/base de données qui peut stocker ces données pour moi en mémoire et qui a automatiquement et se replie sur le disque si le système s'exécute dans une situation de MOO? L'API et le type de stockage n'ont pas d'importance tant qu'ils peuvent stocker des types Python de base (str, int, list, date et idéalement dict).

+2

Vous pouvez également augmenter la taille de votre fichier d'échange jusqu'à ce qu'il soit assez grand et laisser le système d'exploitation décider ce qu'il faut mettre sur le disque et ce qu'il faut conserver dans la RAM, et tout faire en mémoire. – agf

+1

Dans une situation de MOO, votre système a déjà écrit sur le disque, et vous êtes également hors d'échange. Le tueur OOM sera sur son chemin pour commencer à tuer vos processus. – JimB

Répondre

0

Je vais opter pour la solution en mémoire et laisser le système d'exploitation permuter. Je peux toujours remplacer le composant de stockage si ce sera vraiment un problème. Merci agf.

1

Le système sqlite3 intégré de Python met en cache les écritures de système de fichiers.

Questions connexes