Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Składowanie plików w bazie danych
zimi
post
Post #1





Grupa: Zarejestrowani
Postów: 233
Pomógł: 9
Dołączył: 3.06.2007

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


Zacząłem się zastanawiać własnie nad składowaniem plików w bazie danych, do tej pory myślałem że to rozwiązanie jest co najmniej głupie, jednak w pewnym momencie gdy chciałem napisać klasę zarządzającą plikami doszło do mnie że przy dużej ilości plików aby osiągnąć dobrą wydajność, będę musiał się bawić w tworzenie struktury folderów tak że np. dla pliku o id 15742 ścieżka dostępu będzie wyglądała np. /download/01/57/42/15742.jpg albo w jakichś podobny sposób

z tego co się kiedyś dowiadywałem wynikało że OS bierze sobie dane o jakimś folderze i przeszukuje jeden po drugim w poszukiwaniu wskazanego przez nas pliku, tak więc złożoność liniowa

przy bazie danych i kluczu głównym można podejrzewać złożoność będzie logarytmiczna

chciałbym prosić o opinie i wasze doświadczenia... jakie są wady i zalety takiego rozwiązania
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
zimi
post
Post #2





Grupa: Zarejestrowani
Postów: 233
Pomógł: 9
Dołączył: 3.06.2007

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


właśnie zastanawia mnie co znaczy to dużo....
głupotą wprawdzie się nie chwali, ale można to też nazwać doświadczeniem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) , napisałem kiedyś serwis który sobie stoi, ma około 10k odświeżeń dziennie, 10k+ obrazków w folderze i przy właściwie każdym odświeżeniu około 30 z nich jest wysyłanych do użytkownika, nie wiem czy to śmiga... wiem że nie muli bo opierdzielu za to jeszcze nie zebrałem... (wiadomo że po drodze jakieś cache itd. ale mimo wszystko problemów nie widać)

robiłem sobie też kiedyś 'benchmark-a' na localu na windzie, czy załadowałem 100 plików czy 10k nie widziałem specjalnie różnicy (albo rezultaty mi się zatarły), jutro zrobię sobie benchmarka na te metody

w każdym razie domyślam się że to nie teoria spiskowa a rzeczywistość, ale co to znaczy dużo?

co do powolnego działania bazy to jestem dość zdziwiony, wiadomo że będzie ogromna bo jak xxxx plików sklei się w jeden to małe to na pewno nie będzie, ale przy wyszukiwaniu indeks, kilka przeskoków i jesteśmy na miejscu nie wiem/nie rozumiem czemu sądzisz że wydajność będzie kiepska

ogólnie jak wspomniałem chciałbym zrobić benchmarka tylko przydałoby się wiedzieć ile to jest dużo...

ponadto chciałbym zapytać o inne negatywy korzystania z bazy z jakimi się spotkaliście
przykładowo przychodzi mi do głowy, że pakowanie jakiejś "paczki" plików na serwerze i wysłanie jej do użytkownika prawdopodobnie nie będzie zbyt wygodne...

PS. co to jest FS?(IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) :P File System?

EDIT: odnośnie benchmarka zastanawiam się czy ma znaczenie jakie pliki wybiorę, ich długości, zawartość, czy np. mogą być wszystkie puste czy to coś zmieni... przy ich wyszukiwaniu

Ten post edytował zimi 15.07.2008, 22:55:58
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: 28.12.2025 - 05:14