Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Katalogowanie plików.
MikroUser
post
Post #1





Grupa: Zarejestrowani
Postów: 55
Pomógł: 1
Dołączył: 5.09.2006

Ostrzeżenie: (0%)
-----


Witam.
Przepraszam jeśli źle trafiłem.

Projekt oparty na php i PostgreSQL. Zakładam że będzie to duża baza!

Jest tabela użytkowników (ok. 20 - 30 tys.) Każdy użytkownik może wysłać pliki (zdjęcia) na serwer. Zakładam że tak około 50 zdjęć przypada na jednego użytkownika.

Nie wiem jak przechowywać przesyłane zdjęcia.
1) Czy jest sens dla każdego użytkownika zrobić swój własny folder na dysku? (Wtedy automatycznie mamy 20-30 tys. folderów).

2) Czy pogrupować te zdjęcia względem jakiegoś typu (ludzie, auta, przyroda itd.) i wrzucać do odpowiedniego katalogu? Wtedy w katalogu jakiejś grupy mamy ok. 400 tys. zdjęć.

Z czym sobie będzie lepiej (czytaj szybciej) radził system (raczej jakiś Linux, co dokładnie jeszcze nie wiem)?
A może jakieś inne rozwiązanie?

Dziękuję za odpowiedź.

PS. Aha no i dodam, że w bazie są przechowywane ścieżki do plików. Czyli każdy użytkownik, ma do każdego swojego pliku w bazie zapisaną ścieżkę, a pliki są przechowywane na dysku. Czy to jest dobre rozwiązanie? Chyba nie ma sensu pakować każdy plik do bazy jako blob ...

Ten post edytował MikroUser 1.11.2006, 15:40:00
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
cyphelf
post
Post #2





Grupa: Zarejestrowani
Postów: 68
Pomógł: 1
Dołączył: 27.03.2006

Ostrzeżenie: (0%)
-----


Przy 400 tysiącach plików w jednym katalogu może być problem z czasami dostępów do plików. Niektóre systemy takiej ilości mogą nie obsłużyć.

W tym przypadku dobrym rozwiązaniem może być większe rozbicie struktury katalogów. Np. możesz to zrobić
w oparciu o kombinację kategorii i daty dodania pliku:

/nazwa_kategorii/2006/10/19/nazwa-pliku.xxx

Możesz też zrobić haszowaną strukturę katalogów, np. tak:

/c73/996/a95/7f0/710/nazwa-pliku.xxx

W tym przypadku obliczasz hash md5 unikatowego klucza z tabeli przechowującej informacje o plikach, a następnie na podstawie hasha generujesz sobie ścieżkę katalogów do pliku. Masz tu wtedy pełną dowolność
w kwestii ilości poziomów.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 1.01.2026 - 19:56