Jeg har allerede lavet det lange konferenceindlæg her, så lige en hurtig opdatering: slides fra PGEast bliver lagt ud, og i næste uge er jeg til den stadig mere forkerte navngivne MySQL-konference i Santa Clara, Californien.
En ting, jeg er kendt for nu, er at skændes om billige Solid State-drev, og hvordan de suger til databasebrug. Reliable Writes wiki-siden samler det meste af baggrunden her. Situationen de sidste par år har været, at alle billige drev på markedet ikke har en sikker skrivecache til databasebrug. Hver af mine kunder, der har købt et af Intels SSD-drev, f.eks. enten X25-M eller X25-E, der ikke er en virksomhed, har lidt mindst ét massivt tab af datakorruption.
For at gøre et flashdrev sikkert, skal du have en batteri-backup på enheden, af de samme grunde, som de er nødvendige på højtydende RAID-controllere. Når databasen skriver data og bruger fsync-systemkaldet til at sikre, at det skylles til disken, kan du ikke fysisk skrive disse data hurtigt nok til at gøre folk glade, hverken på en roterende disk eller flash. Situationen er endda noget værre på flash, fordi at skrive små commits af data ud uden en cache faktisk også vil slide drevet hurtigere. Tilføj et batteri, få drevets controller til at skylle alle ventende data, når strømmen falder, og du kan gøre SSD pålidelig nok til databaser.
Virkelig dyre virksomhedsdrev har fået dette rigtigt i et stykke tid nu, men hardware egnet til hjemmebrug eller små virksomheder har været knap. OCZ udgav deres Vertex 2 Pro-drev med en super-kondensator og ordentlig skriveskylning sidste år. Kondensatoren er "Pro"-delen, og du må ikke forveksle dette med den almindelige Vertex 2. De har kørt omkring $650 for 100 GB SSD, og de er virkelig hurtige. Men du kan ikke kun have ét hurtigt drev: de fejler, på samme måde som enhver anden komponent i din computer. Og 1300 $ for et par drev har efterladt dem stadig uden for rækkevidden af små butikker, og endda en enkelt har overskredet mit personlige budget for hardware til hjemmebrug.
Nå, nu er der et andet valg. Intel har endelig ryddet op i deres handling her. De nye drev i 320-serien fra dem integrerer et sæt små kondensatorer og korrekt nedlukningslogik i drevet. De har endda gjort det til en del af markedsføringen nu, hvor de gør det rigtigt, inklusive en fancy briefing om, hvordan det fungerer. Det er i øvrigt her, dette emne er nu: hvis producenten skriver caching korrekt, vil de prale af det. Hvis du ikke hører nogen pral, betyder det, at de har skruet det sammen, og drevet vil æde din database.
Der er en hel produktlinje af disse nye Intel-drev tilgængelig, startende ved en under-$100 40GB-model, alle med samme skrivepålidelighed. De større drev er dog hurtigere, og jeg ville have noget hurtigere på alle måder end den almindelige harddisk, den erstattede. Det punkt kommer ikke før $220 120GB-modellen, som har en sekventiel skrivehastighed hurtigere end de terabyte-drev, jeg bruger det meste af tiden. Et af 120 GB Intel 320-drevene kom i mine spændte hænder tidligere på ugen.
Du kan finde de fulde tal fra min første anmeldelse på pgsql-performance. Grundlæggende ydeevneparametre er som forventet: 253 MB/s læsninger, 147 MB/s skrivninger og respektable 5000 commits/sekund, alt sammen matchende specifikationer og forventninger. Det eneste, jeg kan brokke mig over, er de tilfældige læse-/skriveresultater. På trods af påstande om meget højere tal, får jeg kun omkring 3500 IOPS, hvilket svarer til 27 MB/s på en blandet arbejdsbyrde. Dette er acceptabelt og slår ethvert almindeligt drev, men det er på den lave side, når SSD går. Jeg kan ikke klage i betragtning af prisen - hvis jeg vil have hurtigere, kan jeg altid bruge 3X så meget for OCZ Vertex 2 Pro - men det er noget, man skal være opmærksom på. Der er en flok skamløse Intel-kærlige anmeldelser, der tager det forkerte; den eneste anmeldelse, jeg har set indtil videre, der fangede det samme problem og satte det i det rigtige perspektiv, er den fra Anand. Det viser drevet i 300GB 320-serien (som er endnu hurtigere end et, jeg har), der leverer hastigheder fra midten til bunden af pakken ved tilfældigt arbejde, hvilket er, hvor det realistisk set er. Det er ikke uacceptabelt, det er bare vigtigt at forstå de afvejninger, som disse drev giver.
Hvis dine data passer til 120 GB, er dette drev et meget overbevisende alternativ til den traditionelle højtydende databaseopsætning. At få en RAID-controller med batteriunderstøttet skrivecache og et par drev summer normalt til omkring $600, og du får kun rimelig tilfældig I/O-ydeevne fra resultatet. Køb et par af disse drev for omkring $450, brug software RAID til redundans, og du vil være langt foran det meste af tiden. Bare sørg for at følge god SMART-overvågningspraksis for disse drev. De varer ikke evigt, hvor skrivegrænsen er et kendt fejlpunkt, selvom intet går i stykker inden da. Der er dog masser af forbrugsvarer med den ældre teknologi også her, inklusive udskiftningsdrev, udskiftningsbatterier og nogle gange behov for at have ekstra controllere rundt som reservedele til kritiske systemer. Der burde være en omkostningsbesparelse med SSD nu, så længe dine data passer i den tilgængelige størrelse. Og ydeevnen vil være et stort skridt op, hvis du rammer disken lige nu. Den bedste måde at øge ydeevnen på er at tilføje mere RAM, men da disse data til sidst skal til og fra disken, er det måske ikke altid godt nok.
Intel, du får min officielle thumbs-up her: du har endelig gjort det rigtige, og jeg vil med glæde anbefale dig som leverandør nu, hvor du har. Jeg forsøger stadig at finde ud af, hvad jeg skal gøre med min nu hurtigere end nogensinde før server derhjemme, og det er et godt problem at have.