Accediendo a un diccionario grande

Accediendo a un diccionario grande

Digamos que tengo 250.000 entradas de diccionario divididas en otros tantos archivos. Cada archivo comienza con una línea que contiene el título. En conjunto son 2 GB. ¿Cuál es la mejor manera de organizar la información para poder buscar una palabra fácil y rápidamente? ¿Debo crear subdirectorios abc, etc.? ¿Debo combinar varios archivos en archivos más grandes?

Respuesta1

No dices mucho sobre lo que intentas hacer o cuáles son los datos, pero aquí está mi idea: que asume que todas las palabras son únicas. No dice que le preocupa el uso eficiente del espacio en disco.

Sistema de archivos ext4. Almacene cada palabra en un archivo separado en un directorio grande. Deje que el sistema de archivos los encuentre por usted, muy fácil para usted (simplemente abra el archivo que desea por nombre) y el sistema de archivos tiene un método eficiente para encontrar los archivos.

Deberá asegurarse de que su sistema de archivos tenga suficientes inodos libres: uno por archivo, por lo que necesitará 250.000 libres: du -i.

Evite hacer lsu otras cosas que tengan que enumerar los archivos (como abrirlos en un explorador de archivos) y el rendimiento debería ser bueno.

Respuesta2

Si es un diccionario como un diccionario de Python, conviértalo a JSON y guárdelo en MongoDB o alguna implementación NoSQL y acceda a él desde la base de datos.

información relacionada