Sens danych nprawczych
Witam!
Ponieważ jestem stosunkowo nowym użytkownikiem chciałbym przy okazji powitać wszystkich: Witam!
A teraz do sedna tematu. Ostatnio zastanawiałem się nad sensem istnienia danych naprawczych, które większość z Was dodaje do swoich upload'ów (5% to standard, często widuje też 10%). Zastanawiałem się czy jest jakikolwiek sens i po co je dodawać. Doszedłem do następujących wniosków:
Pomysł 1:
Dane naprawcze istnieją po to, aby podczas ściągania pliku z serwera uniknąć błędów transmisji.
Współczesne protokoły (w tym i HTTP, z którego przecież korzysta większość serwisów do przechowywania plików) posiadają mechanizm detekcji i korekcji błędów. Większość z nich opiera się na protokołach TCP, które sprawdzają każdy pakiet danych i jeżeli się coś nie zgadza to wysyłają żądanie retransmisji uszkodzonej porcji danych. To już ich zadanie, aby użytkownik pobierający np. plik z serwera otrzymał dokładnie ten sam plik co na serwerze.
Dowód: Jeżeli masz dwa komputery w domu pracujące w sieci lokalnej, na jednym z nich utwórz duże (powiedzmy 10GB) archiwum bez danych naprawczych. Plik prześlij do drugiego komputera, na którym go rozpakuj - rozpakuje się bez problemu. Czyli nawet jeżeli były jakieś błędy transmisji to protokół je poprawił. Nawet jak powtórzysz całą operacje 100 razy to za każdym razem plik się poprawnie wypakuje. Czyli szansa, na to, żeby coś się stało z archiwum podczas przesyłania pliku jest mniejsza od 1:10.000.000, czyli wystarczyłoby już 0,000001% danych naprawczych, żeby było ok.
Wniosek: Dodawanie danych naprawczych aby uniknąć błędów transmisji pliku to kłamstwo.
Pomysł 2:
Dane naprawcze istnieją po to, aby uniknąć błędów sprzętowych - popularnych bad sectorów.
Tu musimy rozważyć dwa przypadki - '2a' jeżeli archiwum z danymi naprawczymi znajduje się na tym samym nośniku co pliki wynikowe (rozpakowujemy np. na tym samym dysku twardym) i '2b' jeżeli pliki znajdują się na innym medium (np. archiwum z danymi naprawczymi na płycie, a wynik na dysku twardym).
2a - jeżeli mamy jakieś błędy na dysku twardym i nie wiemy o ich istnieniu to mogą one pojawić się równie dobrze na powierzchni na którą będziemy rozpakowywać pliki, co na powierzchni gdzie jest zapisane archiwum. Jeżeli pojawią się na powierzchni gdzie jest archiwum z danymi naprawczymi, to archiwum wypakuje się bez problemu, ale jest takie samo prawdopodobieństwo, że wypakuje się na powierzchnie gdzie także są błędne sektory, więc pomimo "zadziałania" danych naprawczych plik wynikowy i tak zawiera błędy. Po za tym, jeżeli mamy dość dużo błędnych sektorów, tyle, żeby było potrzebne aż 10% danych naprawczych to raczej mało prawdopodobne, żebyśmy odczytali jakikolwiek plik z tego dysku, więc raczej byśmy zauważyli.
Dowód: Wyciągnij z szafki jakiś stary dysk twardy - pojemność nie gra roli i pograj sobie z nim w piłkę nożną, tak aby pojawiły się na nim błędne sektory. Utwórz jakieś większe archiwum - powiedzmy 1GB z 10% danymi naprawczymi i zapisz go na ten dysk, następnie rozpakuj na ten sam dysk - pliki prawdopodobnie się rozpakują, ale pliku nie odczytasz.
2b - jeżeli będzie uszkodzona płyta na której mamy archiwum to podczas kopiowania z niej archiwum z danymi naprawczymi proces kopiowania zatrzyma się na pierwszym napotkanym błędzie.
Dowód: Nagraj na płytę archiwum z danymi naprawczymi, porysuj płytę i spróbuj przekopiować to archiwum na dysk twardy - mimo istnienia danych naprawczych nie uda się to.
Wniosek: Dodawanie danych naprawczych aby uniknąć błędów sprzętowych pliku to kłamstwo.
Pomysł 3:
Dane naprawcze istnieją po to, aby zarabiać na nich $/zł/£/ (szmal).
Wszyscy wiedzą, że większość serwisów hostingowych płaci symboliczne kwoty za ilość pobrań, więc dla osoby wysyłającej plik jest ważne aby jak najwięcej osób pobrało jak najwięcej. Więcej pobrań = większy szmal, większe dane = większy szmal, ale też więcej osób = większy szmal. Osobiście, zważywszy na dwa w/w punkty pobieram (jeżeli jest taka możliwość) te pliki, gdzie nie ma danych naprawczych (i sądzę, że nie tylko ja) więc ci co je wystawili mają więcej pobrań, a jak już wspomniałem więcej osób = więcej szmalu. Czyli de facto pomimo tego, że udostępniają mniejsze pliki zarabiają więcej. Z drugiej strony ktoś musi wysłać go na serwer, więc jeżeli wysyłasz dużo i każdy twój upload posiada powiedzmy 10% danych naprawczych wysyłasz od cholery dodatkowych danych, czy nie lepiej wysyłać więcej plików? Więcej plików = większy wybór = więcej osób = więcej szmalu.
Przykład: Pan Iksiński upload'uje sporo filmów - zawsze w dobrej jakości 1/3DVD (2xCD) i dodaje do nich zawsze 10% danych naprawczych. W przypaku kiedy Pan Iksiński wyśle 10 filmów z 10% danymi naprawczymi wysyłał 15,4GB danych, jeżeli nie było by danych naprawczych to wysyłając tyle samo wysłał by o jeden film więcej. Więcej plików = większy wybór = więcej osób = więcej szmalu (a tyle samo danych).
Przykład2: Ja, chcąc pobrać jakiś plik - pozostańmy przy tych filmach - czyli 1,4GB filmu. Wolę pobrać 1,4GB danych niż 1,54GB danych i mieć ten sam plik wynikowy. A często się zdarza, że przez te dodatkowe MB plik ma o więcej części. Więcej części = więcej danych do ściągnięcia = więcej czekania = mam mniej tego, czego chce.
Przykład3: A raczej sugestia: zastanówcie się, czemu np. w programach typu p2p nikt nie zamieszcza danych naprawczych?
Dowód: Jak następnym razem będziesz coś upload'ował wyślij to dwa razy - raz z 10% danymi naprawczymi i raz bez - zobaczysz, że tam gdzie nie było danych naprawczych było więcej pobrań niż tam gdzie były.
Wniosek: Dodawanie danych naprawczych aby zarobić więcej to frajerstwo.
Dlatego proszę was: nie zamieszczajcie danych naprawczych - oszczędzajcie nasz czas. Ściągając mniej pobierzemy więcej, a Ty i tak zarobisz więcej! I wszyscy będą zadowoleni.
Ktoś podejmie temat?
Szczególnie mile widziane wypowiedzi krytykujące.
Na zakończenie jeszcze jeden przypadek - na końcu piszecie, że upload sprawdzony/0% CRC itp. Czyli, że co? Wysłaliście pliki, pobraliście je z serwera, rozpakowaliście i porównaliście sumy kontrolne z oryginałami? Patrz pkt 1 i 2. No proszę, nie róbcie z siebie frajerów.
PS: Swoja wypowiedzią nie miałem zamiaru nikogo obrazić - jeżeli czujesz się obrażony to przepraszam - nie to było moim zamiarem.
|