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 |
|
|
|
![]() |
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 |
|
|
|
zimi Składowanie plików w bazie danych 15.07.2008, 22:02:25
dr_bonzo Duzo plikow w 1 katalogu i OS/system plikow moze n... 15.07.2008, 22:18:46
dr_bonzo hehehe, benczmark na pustych plikach. bez jaj Mus... 15.07.2008, 23:16:48
zimi tak też myślałem ale wolałem z... 16.07.2008, 21:23:11
dr_bonzo Hmm,
ze baza jest wolna to chyba oczywiste ;D opro... 20.07.2008, 12:02:49
zimi CytatA co do podzialu na katalogi, hmm, moze jest ... 20.07.2008, 14:37:33 ![]() ![]() |
|
Aktualny czas: 28.12.2025 - 05:14 |