PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Intel SSD, teraz poza sh..err, zawstydzona lista

Zrobiłem już tutaj długi wpis z konferencji, więc tylko krótka aktualizacja:slajdy z PGEast zostały opublikowane, a w przyszłym tygodniu będę na coraz błędniej nazwanej konferencji MySQL w Santa Clara w Kalifornii.

Jedną z rzeczy, które na razie jestem znany, jest narzekanie na tanie dyski półprzewodnikowe i to, jak są do bani przy użyciu bazy danych. Strona wiki Reliable Writes zbiera tutaj większość tła. Sytuacja z ostatnich kilku lat była taka, że ​​każdy niedrogi dysk na rynku nie ma bezpiecznego cache zapisu do wykorzystania w bazie danych. Każdy mój klient, który kupił jeden z dysków SSD firmy Intel, na przykład X25-M lub X25-E, który nie jest przeznaczony do użytku w przedsiębiorstwie, poniósł co najmniej jedną ogromną utratę danych.

Aby pamięć flash była bezpieczna, musisz mieć zapasową baterię w urządzeniu, z tych samych powodów, które są potrzebne w przypadku wysokowydajnych kontrolerów RAID. Kiedy baza danych zapisuje dane i używa wywołania systemowego fsync, aby upewnić się, że jest opróżniona na dysk, nie można fizycznie zapisać tych danych wystarczająco szybko, aby ludzie byli szczęśliwi, ani na obracającym się dysku, ani na pamięci flash. Sytuacja jest nieco gorsza nawet w przypadku pamięci flash, ponieważ pisanie niewielkich zmian danych bez pamięci podręcznej również spowoduje szybsze zużycie dysku. Dodaj baterię, spraw, aby kontroler dysku opróżnił wszystkie oczekujące dane, gdy spadnie zasilanie, i możesz sprawić, że dysk SSD będzie wystarczająco niezawodny dla baz danych.

Naprawdę drogie dyski korporacyjne już od jakiegoś czasu sprawdzają się dobrze, ale sprzęt odpowiedni do użytku domowego lub dla małych firm był rzadkością. W zeszłym roku firma OCZ wypuściła swój dysk Vertex 2 Pro z superkondensatorem i odpowiednim płukaniem zapisu. Kondensator jest częścią „Pro” i nie myl tego ze zwykłym Vertex 2. Te kosztują około 650 USD za 100 GB dysku SSD i są naprawdę szybkie. Ale nie możesz mieć tylko jednego szybkiego dysku:zawodzą, tak samo jak każdy inny element komputera. A 1300 dolarów za parę dysków sprawiło, że wciąż znajdują się poza zasięgiem małych sklepów, a nawet jeden przekroczył mój budżet na majsterkowanie sprzętu domowego.

Cóż, teraz jest inny wybór. Intel wreszcie uporządkował swoje działania tutaj. Nowe dyski z serii 320 od nich zawierają zestaw małych kondensatorów i odpowiednią logikę wyłączania w napędzie. Uczynili to nawet częścią marketingu teraz, gdy robią to dobrze, w tym fantazyjne informacje na temat tego, jak to działa. Nawiasem mówiąc, w tym miejscu jest teraz ten temat:jeśli producent poprawnie napisze buforowanie, będzie się tym chwalić. Jeśli nie słyszysz żadnych przechwałek, oznacza to, że schrzanili to, a dysk pożre Twoją bazę danych.

Dostępna jest cała linia produktów tych nowych dysków firmy Intel, począwszy od modelu 40 GB poniżej 100 USD, z tą samą niezawodnością zapisu. Większe dyski są jednak szybsze i chciałem czegoś szybszego pod każdym względem niż zwykły dysk twardy, który zastępował. Ten punkt pojawia się dopiero w modelu 120 GB o wartości 220 USD, który ma prędkość zapisu sekwencyjnego szybszą niż dyski terabajtowe, których używam przez większość czasu. Jeden z dysków Intel 320 120 GB trafił w moje podekscytowane ręce na początku tego tygodnia.

Możesz znaleźć pełne liczby z mojej wstępnej recenzji na temat pgsql-performance. Podstawowe parametry wydajności są zgodne z oczekiwaniami:odczyty 253 MB/s, zapisy 147 MB/s i przyzwoite 5000 zatwierdzeń na sekundę, wszystkie zgodne ze specyfikacjami i oczekiwaniami. Jedyne, na co mogę narzekać, to losowe wyniki odczytu/zapisu. Pomimo twierdzeń o znacznie wyższych liczbach, uzyskuję tylko około 3500 IOPS, co przekłada się na 27 MB/s przy mieszanym obciążeniu. Jest to dopuszczalne, uderzanie każdego zwykłego dysku, ale jest to zaniżone, gdy idzie SSD. Nie mogę narzekać, biorąc pod uwagę cenę - jeśli chcę szybciej, zawsze mogę wydać 3 razy więcej na OCZ Vertex 2 Pro - ale jest to coś, o czym należy pamiętać. Istnieje wiele bezwstydnych, kochających Intel recenzji, które źle to rozumieją; jedyna recenzja, jaką do tej pory widziałem, która uchwyciła ten sam problem i umieściła go we właściwej perspektywie, to ta od Ananda. Pokazuje dysk 300 GB z serii 320 (który jest nawet szybszy niż ten, który mam), zapewniając prędkość od środka do dołu paczki przy losowej pracy, czyli tam, gdzie jest realistycznie. To nie jest nie do przyjęcia, ważne jest po prostu zrozumienie zestawu kompromisów, które zapewniają te dyski.

Jeśli Twoje dane mieszczą się w 120 GB, ten dysk jest bardzo atrakcyjną alternatywą dla tradycyjnej konfiguracji bazy danych o wysokiej wydajności. Otrzymanie kontrolera RAID z pamięcią podręczną zapisu podtrzymywaną bateryjnie i parą dysków zwykle daje około 600 USD, a wynik uzyskuje się tylko z uczciwą losową wydajnością I/O. Kup parę tych dysków za około 450 USD, użyj oprogramowania RAID do nadmiarowości, a przez większość czasu będziesz o wiele do przodu. Tylko upewnij się, że postępujesz zgodnie z dobrymi praktykami monitorowania SMART dla tych dysków. Nie trwają wiecznie, a limit zapisu jest znanym punktem niepowodzenia, nawet jeśli wcześniej nic się nie zepsuje. Istnieje jednak wiele materiałów eksploatacyjnych ze starszą technologią, w tym zapasowe dyski, zapasowe baterie, a czasami potrzeba dodatkowych kontrolerów jako części zamiennych do krytycznych systemów. Dysk SSD powinien teraz przynieść oszczędności, o ile dane mieszczą się w dostępnym rozmiarze. A wydajność będzie dużym krokiem naprzód, jeśli teraz uderzasz w dysk. Najlepszym sposobem na zwiększenie wydajności jest dodanie większej ilości pamięci RAM, ale ponieważ ostatecznie dane muszą być przesyłane na dysk i z dysku, co może nie zawsze być wystarczająco dobre.

Intel, oto moja oficjalna aprobata:w końcu postąpiłeś słusznie i z przyjemnością polecę Cię jako dostawcę teraz, gdy już to zrobiłeś. Nadal próbuję wymyślić, co mam zrobić z moim teraz szybszym niż kiedykolwiek serwerem w domu i to dobry problem.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Instalacje PostgreSQL High Availability

  2. leniwe zapytanie clojure.java.jdbc

  3. MigrationSchemaMissing (Nie można utworzyć tabeli django_migrations (%s) % exc)

  4. Jak prawidłowo wstawić wiele wierszy do PG za pomocą węzła postgres?

  5. Tworzenie bazy danych PostgreSQL