Gdy zaczyna brakować miejsca na serwerze, wszyscy programiści zaczynają jęczeć: „Mogę dostać dysk Walmart o pojemności 1 TB za 100 dolców, w czym problem”.
Jak deweloperom wyjaśnić złożoność pamięci, aby zrozumieli, dlaczego dysk 1 TB firmy Walmart po prostu nie działa.
ps Jestem programistą i też chcę wiedzieć:)
Odpowiedzi:
Niektóre domowe prawdy na temat przechowywania danych lub dlaczego przechowywanie danych w przedsiębiorstwie jest tak drogie?
Dyski twarde dla konsumentów oferują duże ilości miejsca, dzięki czemu nawet najbardziej wymagający użytkownik * kaszlu * mediów strumieniowych * kaszlu * może kupić tyle, aby przechowywać kolekcję kilku terabajtów. W rzeczywistości pojemność dysku rośnie szybciej niż tranzystor liczy na krzem od kilku dziesięcioleci.
Pamięć „Enterprise” jest nieco bardziej złożonym zagadnieniem, ponieważ dane mają wymagania dotyczące wydajności i integralności, które narzucają nieco cięższe podejście. Dane muszą mieć pewną gwarancję dostępności w przypadku awarii sprzętu i mogą być udostępniane dużej liczbie użytkowników, co wygeneruje o wiele więcej żądań odczytu / zapisu niż pojedynczy użytkownik.
Rozwiązania techniczne tego problemu mogą być wiele, wiele razy droższe na gigabajt niż rozwiązania pamięci masowej dla konsumentów. Wymagają również fizycznej konserwacji; kopie zapasowe muszą być wykonywane i często przechowywane poza witryną, aby pożar nie zniszczył danych. Ten proces powoduje dodatkowe koszty.
Wydajność
Na swoim 1 TB dysku, a nawet firmowym napędzie stacjonarnym masz tylko jedną głowicę. Dysk obraca się z prędkością 7200 obr / min lub 120 obrotów na sekundę. Oznacza to, że teoretycznie * możesz uzyskać maksymalnie 120 operacji we / wy o losowym dostępie na sekundę, a nieco mniej w praktyce. Dlatego kopiowanie dużego pliku na jednym woluminie 1 TB jest stosunkowo powolne.
Na macierzy dyskowej z 14x 72 GB dyskami masz 14 głowic ponad dyskami, które osiągają (powiedzmy) 15 000 obr./min lub około 250 obrotów na sekundę. Daje to teoretycznie maksymalnie 3500 losowych operacji we / wy na sekundę * (ponownie, nieco mniej w praktyce). Wszystkie inne rzeczy równe kopii pliku będą wiele, wiele razy szybsze.
*
Możesz uzyskać więcej niż jeden losowy dostęp na obrót dysku, jeśli geometria odczytów pozwoliła napędowi przesunąć głowice i odczytać sektor, który okazał się dostępny w obrębie jednego obrotu dysku. Jeśli dostęp do dysku był bardzo rozproszony, prawdopodobnie średnio mniej niż jeden. Jeśli macierz dyskowa sformatowana w układ pasiasty (patrz poniżej), w większości przypadków zostanie odczytany maksymalnie jeden pasek na obrót dysku i (w zależności od kontrolera RAID) średnio mniej niż jeden.Napęd 7200 RPM 1 TB prawdopodobnie będzie dość szybki w sekwencyjnym We / Wy. Macierze dyskowe sformatowane w schemacie rozłożonym (RAID-0, RAID-5, RAID-10 itp.) Zazwyczaj mogą odczytać maksymalnie jeden pasek na obrót dysku. Z paskiem 64K możemy odczytać 64Kx250 = około 16 MB danych na sekundę z dysku 15000 RPM. Daje to sekwencyjną przepustowość około 220 MB na sekundę na macierzy 14 dysków, co nie jest tak dużo szybsze na papierze niż 150 MB / s lub mniej więcej w przypadku nowoczesnego dysku SATA 1 TB.
W przypadku przesyłania strumieniowego wideo (na przykład) tablica 4 dysków SATA w macierzy RAID-0 o dużym rozmiarze paska (niektóre kontrolery RAID obsługują paski o wielkości do 1 MB) mają dość dużą przepustowość sekwencyjną. Ten przykład teoretycznie może teoretycznie przesyłać strumieniowo około 480 MB / s, co jest wystarczająco wygodne, aby przeprowadzić nieskompresowaną edycję wideo HD w czasie rzeczywistym. Właściciele komputerów Mac Pro i podobnego sprzętu mogą wykonywać zadania związane z komponowaniem wideo HD, które kilka lat temu wymagałyby komputera z macierzą światłowodową z bezpośrednim podłączeniem.
Prawdziwą zaletą macierzy dyskowej jest praca z bazą danych, która charakteryzuje się dużą liczbą małych, rozproszonych żądań We / Wy. Przy tego rodzaju obciążeniu wydajność jest ograniczona fizycznym opóźnieniem bitów metalu na dysku, które poruszają się w kółko i w przód iw tył. Ta metryka jest znana jako IOPS (operacje we / wy na sekundę). Im więcej masz fizycznych dysków - niezależnie od pojemności - tym więcej IOPS możesz teoretycznie zrobić. Więcej IOPS oznacza więcej transakcji na sekundę.
Integralność danych
Ponadto większość konfiguracji RAID zapewnia nadmiarowość danych - która z definicji wymaga więcej niż jednego dysku fizycznego. Połączenie schematu przechowywania z taką redundancją i większą liczbą napędów daje systemowi możliwość niezawodnego obsługi dużego obciążenia transakcyjnego.
Infrastruktura dla macierzy dyskowych (i SAN w bardziej ekstremalnych przypadkach) nie jest dokładnie elementem rynku masowego. Ponadto jest to jeden z bitów, który naprawdę naprawdę nie może zawieść. To połączenie standardu kompilacji i mniejszych wolumenów rynkowych nie jest tanie.
Całkowity koszt przestrzeni dyskowej wraz z kopią zapasową
W praktyce największym kosztem utrzymania 1 TB danych jest prawdopodobnie tworzenie kopii zapasowych i odzyskiwanie. Napęd taśmowy i 34 zestawy taśm SDLT lub ultrium do pełnego cyklu tworzenia kopii zapasowych i odzyskiwania dziadka prawdopodobnie będzie kosztować więcej niż macierz dyskowa 1 TB. Dodając koszty przechowywania poza witryną i wynagrodzenie nawet jednej małpy taśmowej, nagle Twój 1 TB danych nie jest już tak tani.
Koszt dysków często obniża hierarchię dominujących kosztów przechowywania. W jednym banku miałem okazję pracować dla magazynu SAN, który kosztował 900 GBP / GB za system programistyczny i 5000 GBP / GB za dysk na serwerze produkcyjnym. Nawet przy cenach dostawców korporacyjnych koszt fizyczny dysków stanowił tylko niewielki ułamek tego. Kolejny przykład, o którym wiem, ma (stosunkowo) skromnie skonfigurowaną SAN IBM Shark, która kosztowała go gdzieś ponad 1 milion funtów. Tylko fizyczne miejsce na tym dysku kosztuje około 9 £ / gigabajt, czyli około 9000 £ za miejsce odpowiadające dyskowi twardemu o pojemności 1 TB.
źródło
Po prostu powiedz: „Tak, a ja mogę uzyskać programistę Java za 5 USD za godzinę”.
źródło
Może zadaj im kilka pytań dotyczących ich napędu Walmart:
... Porównaj te odpowiedzi z dyskiem działającym jako część macierzy RAID 5 w dobrze zarządzanym centrum danych.
(Ujawnienie: Ja też jestem programistą - po prostu zgaduję!)
źródło
Może powinieneś rozważyć zróżnicowane przechowywanie.
Twój deweloper może potrzebować więcej miejsca, ale być może nie jest to przestrzeń napędowa „klasy korporacyjnej”. Może po prostu musi mieć miejsce do przechowywania plików .vhd i ISO, co w przypadku awarii dysku można pobrać ponownie z MSDN. Być może przebiegi testowe wymagają dużych wymagań dotyczących przestrzeni przejściowych, które muszą istnieć tylko przez czas trwania testu. Dla nich wszystkich ważnym rozwiązaniem może być dysk Wallmart o wartości 50 USD.
źródło
Najważniejszą rzeczą, którą ludzie muszą wiedzieć o pamięci, jest duża różnica między pojemnością a IOPS. Rzeczy takie jak wytrzymałość itp. Są zwykle sporne, prawie zawsze sprowadza się do IOPS vs.
źródło
Zależy to od tego, o jakie serwery pytają. Dla podstawowego serwera deweloperskiego lub testującego jeden napęd TB z Wallmart jest prawdopodobnie wystarczająco dobry. Jeśli masz do czynienia z wysokiej klasy serwerem, który nie używa gotowych komponentów, zapytaj ich, czy zbudują samochód wyścigowy i kupią opony w sklepie z częściami samochodowymi, aby zaoszczędzić kilka dolarów.
źródło
Tak to wyjaśniam. Jeśli twój szef podpisze się przy zakupie. Umieszczę znak na dysku Wal-Mart, który mówi:
„Sys Ad został poinstruowany, aby umieścić to tutaj wbrew jego woli i jelitom”. A kiedy dysk umrze, podam go i zanotuję deweloperowi i zapytam, jak wykonać moją pracę tym razem.
Zgadzam się z Portmanem ... zaufaj drużynie lub odejdź.
źródło
Prosta odpowiedź w jednym wierszu: napędy 1 TB są zwykle SATA, ale twój serwer to SCSI. (Nawet jeśli serwer nie jest SCSI, może to zatrzymać linię zapytania ... na razie.)
Dysk SCSI o pojemności 300 GB jest zwykle czterokrotnie wyższy niż cena, następnie należy wykonać kopię zapasową istniejących danych, zorganizować przestoje, przeprowadzić instalację, coś może pójść nie tak, nadgodziny itp. Podsumowując, proste rozszerzenie pamięci masowej może prowadzić do wszystkich rodzaje bólu - za który twórca nie jest bezpośrednio odpowiedzialny. Mówienie, że można kupić gotowy napęd spełniający obecne potrzeby, jest beznadziejnie uproszczone.
Ale wiesz, że powinieneś umieścić większe dyski na cholernych serwerach, kiedy je kupiłeś, a teraz kopiesz się! Ale chciałeś, aby serwery zostały zainstalowane, a one zwiększyłyby koszty początkowe i być może musiałoby przejść dodatkową rundę zatwierdzenia ... witamy w świecie bólu sysadmina ...
źródło