Dlaczego pliki baz danych i multimedialne zachowują się inaczej na domowym NAS?

Eva Wong jest Technicznym pisarzem i stałym majsterkowiczem w ZimaSpace. Całe życie geek z pasją do homelabów i oprogramowania open-source, specjalizuje się w tłumaczeniu skomplikowanych koncepcji technicznych na przystępne, praktyczne przewodniki. Eva wierzy, że samodzielne hostowanie powinno być zabawą, a nie czymś onieśmielającym. Poprzez swoje samouczki umożliwia społeczności rozwiewanie tajemnic konfiguracji sprzętu, od budowy pierwszego NAS po opanowanie kontenerów Docker.

Pliki baz danych i pliki multimedialne zachowują się inaczej na domowym NAS, ponieważ jeden to zmienna kolekcja stron, a drugi to zazwyczaj stabilny strumień bajtów.

Bazy danych wykonują małe losowe odczyty, dopisują dzienniki odzyskiwania, aktualizują indeksy i czekają na trwałe zatwierdzenia. Odtwarzanie mediów odczytuje długie zakresy w kolejności i może buforować dane z wyprzedzeniem. Oba mogą zajmować tę samą liczbę gigabajtów, ale obciążają opóźnienia, pamięć podręczną, rekordy systemu plików i kolejki dyskowe w bardzo różny sposób.

Pliki baz danych to zmienne strony; pliki multimedialne to stabilne strumienie

Silnik bazy danych traktuje swoje pliki jako strukturalne strony. Jedno zapytanie może pobrać wąską stronę indeksu, a następnie przejść do kilku niezwiązanych stron danych. Aktualizacja może dotyczyć danych, indeksu, dziennika transakcji, a później punktu kontrolnego. Zwięzły przegląd wzorców I/O baz danych wyjaśnia, dlaczego dzienniki i pliki danych mogą mieć różne profile opóźnień w tym samym silniku.

Finalny plik filmu lub muzyki jest zazwyczaj niezmienny podczas odtwarzania. Odczytujący przechodzi przez długie zakresy i rzadko musi nadpisywać wcześniejsze bajty. Ta przewidywalność pozwala systemowi operacyjnemu i urządzeniu pamięci masowej łączyć żądania i pobierać dane z wyprzedzeniem.

Trwałość powoduje, że zapisy w bazie danych czekają

Wiele baz danych używa dzienników zapisu w przód: rekord zmiany musi dotrzeć do stabilnej pamięci, zanim zmodyfikowana strona danych zostanie uznana za bezpiecznie zatwierdzoną. sekwencja dzienników zapisu w przód pokazuje, dlaczego małe sekwencyjne dopisanie do dziennika może być na ścieżce krytycznej, nawet gdy jego przepustowość jest niewielka.

Punkty kontrolne później wypłukują brudne strony partiami, dodając drugi kształt operacji I/O. Oznacza to, że baza danych może przełączać się między krótkimi zatwierdzeniami wrażliwymi na fsync a intensywnym zapisem w tle. Dysk SSD może poprawić oba, ale liczby przepustowości mediów nadal nie przewidują czasu reakcji bazy danych, ponieważ baza często czeka na opóźnienie zakończenia, a nie na megabajty na sekundę.

Odtwarzanie mediów korzysta z odczytu z wyprzedzeniem i dostępu do zakresów

Wykrywanie sekwencyjne pozwala jądru pobierać dane zanim odtwarzacz ich zażąda. Na przykładzie NFS zwiększenie odczytu z wyprzedzeniem systemu plików sieciowych znacznie podniosło przepustowość dla dużych sekwencyjnych plików, choć autor ostrzega, że nadmierne pobieranie z wyprzedzeniem może marnować zasoby przy pół-losowym dostępie.

Odtwarzacze mogą także żądać wybranych zakresów bajtów podczas startu lub przewijania. Praktyczne wyjaśnienie żądań zakresów wideo pokazuje, jak klient przeskakuje do części dużego pliku bez pobierania wszystkiego przed nią. Te żądania są większe i bardziej przewidywalne niż przejście po indeksie bazy danych, nawet gdy oba przychodzą przez sieć.

Właściwość Pliki baz danych Pliki multimedialne Konsekwencja dla NAS
Wzorzec odczytu Małe i losowe przy brakach w pamięci podręcznej Długie sekwencyjne zakresy Opóźnienie kontra przepustowość
Wzorzec zapisu Dzienniki, aktualizacje stron, punkty kontrolne Zazwyczaj zapis raz, odczyt wiele razy Różna amplifikacja zapisu
Trwałość Zatwierdzenie może czekać na stabilną pamięć Odtwarzanie toleruje buforowanie Opóźnienie fsync ma znaczenie głównie dla bazy danych
Wartość pamięci podręcznej Mały gorący zestaw może być często używany ponownie Duże skanowanie może być użyte jednokrotnie Media mogą wypierać strony bazy danych

Biblioteki mediów generują też pracę poboczną podobną do bazy danych

Payload mediów może być sekwencyjny, ale otaczająca go biblioteka już nie. Plakaty, miniaturki, napisy, historia oglądania, indeksy wyszukiwania i bazy metadanych tworzą aktywność małych plików i baz danych. Skanowanie może odczytać każdy nagłówek mediów, jednocześnie zapisując tysiące drobnych pochodnych plików.

To wyjaśnia, dlaczego odtwarzanie może być płynne, podczas gdy przeglądanie biblioteki lub generowanie miniaturek wydaje się wolne. Duża ścieżka pliku jest zdrowa; baza poboczna czeka na losowe I/O lub zajęty dziennik. Testowanie tylko jednej kopii filmu pomija obciążenie, z którym faktycznie mają do czynienia użytkownicy.

Jeden NAS może obsługiwać oba, ale wąskie gardło się zmienia

Używaj zestawów danych lub woluminów specyficznych dla obciążenia, gdy platforma je obsługuje. Duże rekordy i odczyt z wyprzedzeniem pasują do stabilnych mediów, podczas gdy przechowywanie bazy danych korzysta z niskich opóźnień, odpowiedniego wyrównania stron, konserwatywnego buforowania i niezawodnych synchronicznych zapisów. Oddzielne pule fizyczne zapewniają silniejszą izolację, gdy skanowanie mediów wielokrotnie blokuje pracę bazy danych.

Nie dostrajaj tylko na podstawie rozszerzeń plików. Mierz opóźnienia zatwierdzeń bazy danych i braki w pamięci podręcznej obok przepustowości odczytu mediów i buforowania. Aktualne porównanie dostrajania odczytu z wyprzedzeniem pokazuje przydatność granicy: sekwencyjne kopie zapasowe i obciążenia wideo mogą korzystać z większego pobierania z wyprzedzeniem, podczas gdy losowy dostęp do bazy danych może marnować przepustowość, gdy ta sama polityka jest stosowana bez rozróżnienia.

FAQ

Czy szybki sekwencyjny test NAS dowodzi, że baza danych będzie szybka?

Nie. Mierzy obciążenie bliższe transferowi mediów. Wydajność bazy danych zależy w dużym stopniu od losowych IOPS, kolejkowania, opóźnień fsync, zachowania pamięci podręcznej i zakłóceń punktów kontrolnych.

Czy pliki mediów i bazy danych zawsze powinny korzystać z oddzielnych dysków SSD?

Nie zawsze. Lekkie obciążenia mogą współistnieć. Separacja staje się wartościowa, gdy skanowania, transkodowanie lub transfery powodują powtarzające się skoki opóźnień bazy danych, których nie da się kontrolować harmonogramem i politykami zestawów danych.

Dlaczego przeglądanie mediów może się zacinać, gdy odtwarzanie jest płynne?

Przeglądanie często zapytuje bazę danych i otwiera wiele miniaturek lub plików pobocznych. Odtwarzanie zazwyczaj odczytuje kilka długich zakresów i buforuje dane z wyprzedzeniem, więc obciąża inną część ścieżki pamięci masowej.

Centrum Technologii i Sztucznej Inteligencji

Więcej do przeczytania

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.