Pregunta

Estoy a punto de crear un sitio web basado en el usuario y tendrá que tienda de fotos, documentos y otros datos para cada usuario.

Si tomo un número tonto como 1 000 000 000 usuarios, creo que de una carpeta con 1 000 000 000 no va a ser la cosa más rápida del mundo! Así que estaba pensando de crear algo así como

primero nivel: [a-z] nivel segundo: [a-z] 3er nivel: [a-z]

para ello Bobby estará en / b / o / b / por

Pero esto también significa que no se extenderá ido evolucionando, ya que habrá muy pocos usuarios empezando con una Z y muchos más con un M, S, L ...

así que estaba pensando en utilizar un identificador de usuario tales como "000000000001", "000000000001", etc ...

1er nivel: [000-999] 2º nivel: [000-999] 3er nivel: [000-999]

por lo tanto, datos del usuario 000000000001 será tienda en datos / / 000/000/000/001 entonces voy a estar seguro de tener un máximo de 1.000 carpeta en cada nivel.

¿Qué piensan ustedes al respecto, lo que debería hacer o no hacer?

El servidor va a correr Centos 5.4 con EXT3 en RAID 1, si la E / S get es muy malo Probablemente voy a ir a una incursión 10.

¿Fue útil?

Solución

función hash A proporciona una manera de distribuir grandes cantidades de datos a través de una estructura fácilmente búsquedas.

Vea esta pregunta relacionada: ¿Por qué utilizar hash para crear rutas de acceso para grandes colecciones de archivos?

Y también tratar de mirar a través de los resultados de Google para Directorio Hashing .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top