PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Intel SSD, jetzt von der sch..ähm, beschämten Liste

Ich habe hier bereits den langen Konferenzbeitrag geschrieben, also nur ein kurzes Update:Folien von PGEast wurden veröffentlicht und nächste Woche werde ich auf der zunehmend falsch benannten MySQL-Konferenz in Santa Clara, Kalifornien, sein.

Eine Sache, für die ich jetzt bekannt bin, ist, über billige Solid State Drives zu schimpfen und wie sie für die Verwendung von Datenbanken scheiße sind. Die Wiki-Seite Reliable Writes sammelt hier den größten Teil des Hintergrunds. Die Situation der letzten Jahre war, dass nicht jedes preiswerte Laufwerk auf dem Markt über einen sicheren Schreib-Cache für die Datenbanknutzung verfügt. Jeder meiner Kunden, der zum Beispiel eines von Intels SSD-Laufwerken gekauft hat, entweder das X25-M oder das überhaupt nicht für Unternehmen geeignete X25-E, hat mindestens einen massiven Datenverlust erlitten.

Um ein Flash-Laufwerk sicher zu machen, müssen Sie eine Batteriesicherung auf dem Gerät haben, aus den gleichen Gründen, aus denen sie auf Hochleistungs-RAID-Controllern benötigt werden. Wenn die Datenbank Daten schreibt und den fsync-Systemaufruf verwendet, um sicherzustellen, dass sie auf die Festplatte geschrieben werden, können Sie diese Daten nicht schnell genug schreiben, um die Leute glücklich zu machen, weder auf sich drehende Festplatte noch auf Flash. Bei Flash ist die Situation sogar etwas schlimmer, da das Schreiben winziger Daten-Commits ohne Cache das Laufwerk tatsächlich auch schneller abnutzt. Fügen Sie eine Batterie hinzu, lassen Sie den Controller des Laufwerks alle ausstehenden Daten löschen, wenn der Strom ausfällt, und Sie können SSD zuverlässig genug für Datenbanken machen.

Wirklich teure Enterprise-Laufwerke haben dies schon seit einiger Zeit, aber Hardware, die für den Heimgebrauch oder kleine Unternehmen geeignet ist, war knapp. OCZ hat letztes Jahr sein Vertex 2 Pro-Laufwerk mit einem Superkondensator und einer ordnungsgemäßen Schreibspülung herausgebracht. Der Kondensator ist der „Pro“-Teil, und verwechseln Sie ihn nicht mit dem regulären Vertex 2. Diese haben für 100 GB SSD rund 650 US-Dollar gekostet und sind wirklich schnell. Aber Sie können nicht nur ein schnelles Laufwerk haben:Sie fallen aus, genau wie jede andere Komponente in Ihrem Computer. Und 1300 Dollar für ein Paar Laufwerke haben sie immer noch außerhalb des Sortiments kleiner Geschäfte gelassen, und selbst ein einziges hat mein persönliches Budget für das Basteln von Heimhardware überschritten.

Nun, jetzt gibt es eine andere Wahl. Intel hat hier endlich aufgeräumt. Die neuen Laufwerke der Serie 320 von ihnen integrieren eine Reihe kleiner Kondensatoren und eine geeignete Abschaltlogik in das Laufwerk. Sie haben es jetzt sogar zu einem Teil des Marketings gemacht, da sie es richtig machen, einschließlich einer ausgefallenen Einweisung, wie es funktioniert. Hier ist übrigens dieses Thema:Wenn der Hersteller das Write-Caching richtig macht, wird er damit prahlen. Wenn Sie keine Prahlerei hören, bedeutet das, dass sie es vermasselt haben und das Laufwerk Ihre Datenbank frisst.

Es ist eine ganze Produktlinie dieser neuen Intel-Laufwerke erhältlich, beginnend bei einem 40-GB-Modell unter 100 US-Dollar, alle mit der gleichen Schreibzuverlässigkeit. Die größeren Laufwerke sind jedoch schneller, und ich wollte in jeder Hinsicht etwas Schnelleres als die normale Festplatte, die sie ersetzte. Dieser Punkt kommt erst beim 120-GB-Modell für 220 US-Dollar, das eine schnellere sequentielle Schreibgeschwindigkeit hat als die Terabyte-Laufwerke, die ich die meiste Zeit verwende. Eines der 120-GB-Intel-320-Laufwerke kam Anfang dieser Woche in meinen aufgeregten Händen an.

Die vollständigen Zahlen finden Sie in meiner ersten Bewertung zu pgsql-performance. Die grundlegenden Leistungsparameter sind wie erwartet:253 MB/s beim Lesen, 147 MB/s beim Schreiben und respektable 5.000 Commits/Sekunde, alles entspricht den Spezifikationen und Erwartungen. Das einzige, worüber ich meckern kann, sind die zufälligen Lese-/Schreibergebnisse. Trotz Behauptungen von viel höheren Zahlen erhalte ich nur etwa 3500 IOPS, was bei einer gemischten Arbeitslast 27 MB/s entspricht. Dies ist akzeptabel und schlägt jedes normale Laufwerk, aber es ist auf der niedrigen Seite, wenn es um SSD geht. Ich kann mich angesichts des Preises nicht beschweren – wenn ich schneller will, kann ich immer das Dreifache für das OCZ Vertex 2 Pro ausgeben – aber es ist etwas, dessen man sich bewusst sein sollte. Es gibt eine Menge schamloser Intel-liebender Rezensionen, die das falsch machen; Die einzige Rezension, die ich bisher gesehen habe und die dasselbe Problem aufgegriffen und in die richtige Perspektive gerückt hat, ist die von Anand. Es zeigt das 300-GB-Laufwerk der 320-Serie (das sogar schneller ist als eines, das ich habe), das bei zufälliger Arbeit mittlere bis untere Geschwindigkeiten des Pakets liefert, wo es realistisch ist. Das ist nicht inakzeptabel, es ist nur wichtig, die Kompromisse zu verstehen, die diese Laufwerke bieten.

Wenn Ihre Daten in 120 GB passen, ist dieses Laufwerk eine sehr überzeugende Alternative zum herkömmlichen Hochleistungs-Datenbank-Setup. Die Anschaffung eines RAID-Controllers mit batteriegepuffertem Schreib-Cache und einem Laufwerkspaar summiert sich normalerweise auf etwa 600 US-Dollar, und Sie erhalten nur eine faire zufällige E / A-Leistung aus dem Ergebnis. Kaufen Sie ein Paar dieser Laufwerke für etwa 450 US-Dollar, verwenden Sie Software-RAID für Redundanz, und Sie werden die meiste Zeit weit voraus sein. Stellen Sie einfach sicher, dass Sie gute SMART-Überwachungspraktiken für diese Laufwerke befolgen. Sie halten nicht ewig, wobei das Schreiblimit ein bekannter Fehlerpunkt ist, auch wenn vorher nichts kaputt geht. Es gibt jedoch auch hier viele Verbrauchsmaterialien mit der älteren Technologie, darunter Ersatzlaufwerke, Ersatzbatterien und manchmal die Notwendigkeit, zusätzliche Controller als Ersatzteile für kritische Systeme bereitzuhalten. Es sollte jetzt eine Kostenersparnis mit SSD geben, solange Ihre Daten in die verfügbare Größe passen. Und die Leistung wird ein großer Schritt nach oben sein, wenn Sie jetzt auf die Festplatte setzen. Die beste Möglichkeit, die Leistung zu steigern, besteht darin, mehr RAM hinzuzufügen, aber da diese Daten letztendlich auf und von der Festplatte übertragen werden müssen, ist dies möglicherweise nicht immer gut genug.

Intel, Sie erhalten hier meine offizielle Daumen hoch:Sie haben endlich das Richtige getan, und ich werde Sie jetzt, wo Sie es getan haben, gerne als Anbieter weiterempfehlen. Ich versuche immer noch herauszufinden, was ich mit meinem jetzt schnelleren Server zu Hause machen soll, und das ist ein gutes Problem.