¿Cómo organiza las carpetas para el escalado futuro?

¿Cuál es la mejor manera de organizar carpetas para futuras escalas? Estoy en progreso para lanzar un nuevo website. Espero que en el futuro tendré que ocuparme de la capacidad de almacenamiento de las fotos subidas, respectivamente, tendré que distribuirlas en varios controlleres duros. Actualmente uso algo como esto:

/1/1/photo.jpg /1/2/photo.jpg. /10/10/photo.jpg

Utilizo parte de un hash de file como un nombre de file (y almacenar el hash en la database), y luego organizarlos en subdirectorys basados ​​en la primera letra (o letras). Por ejemplo, el file de9f2c7fd25e1b3afad3e85a.jpg va a

 /storage/d/de9f2c7fd25e1b3afad3e85a.jpg 

Dado que los hashes se distribuyen uniformemente, es fácil dividir el almacén en varias unidades, cada directory debe tener aproximadamente el mismo número de imágenes. Actualmente, tengo cerca de 2TB de imágenes organizadas como esta, y funciona como un encanto.

Por cierto, una cosa aseada acerca de esto es si de alguna manera estropear sus nombres de file, no tendrá gazillion de imágenes unorganized, sólo hash ellos y estás de vuelta al negocio.

Las URL únicas marcadas con el time serían un buen comienzo, fe 2009/11/30 / photo-widthxheight- {otra información EXIF ​​extraída} .jpg

Intereting Posts