sql >> Database >  >> RDS >> PostgreSQL

Intel SSD, nu van de sh..err, beschaamde lijst

Ik heb de lange conferentie-invoer hier al gedaan, dus even een korte update:dia's van PGEast zijn gepost en volgende week ben ik bij de steeds meer verkeerd benoemde MySQL-conferentie in Santa Clara, Californië.

Een ding waar ik nu om bekend sta, is tekeer gaan over goedkope Solid State Drives en hoe ze slecht zijn voor databasegebruik. De Reliable Writes-wikipagina verzamelt hier het grootste deel van de achtergrond. De situatie van de afgelopen jaren was dat elke goedkope schijf op de markt geen veilige schrijfcache heeft voor databasegebruik. Elke klant van mij die een van Intel's SSD-schijven heeft gekocht, bijvoorbeeld de X25-M of de helemaal geen onderneming X25-E, heeft ten minste één enorm verlies van gegevenscorruptie geleden.

Om een ​​flashdrive veilig te maken, moet u een batterijback-up op het apparaat hebben, om dezelfde redenen die nodig zijn op krachtige RAID-controllers. Wanneer de database gegevens schrijft en de fsync-systeemaanroep gebruikt om ervoor te zorgen dat deze naar de schijf wordt weggespoeld, kunt u die gegevens fysiek niet snel genoeg schrijven om mensen gelukkig te maken, op draaiende schijf of flash. De situatie is zelfs iets erger op flash, omdat het schrijven van kleine gegevenscommits zonder cache de schijf ook sneller zal verslijten. Voeg een batterij toe, zorg dat de controller van de schijf alle wachtende gegevens doorspoelt wanneer de stroom uitvalt, en u kunt SSD betrouwbaar genoeg maken voor databases.

Echt dure zakelijke schijven hebben dit al een tijdje goed gedaan, maar hardware die geschikt is voor thuisgebruik of kleine bedrijven is schaars. OCZ bracht vorig jaar hun Vertex 2 Pro-schijf uit met een supercondensator en een goede schrijfspoeling. De condensator is het "Pro" -gedeelte en verwar dit niet met de reguliere Vertex 2. Die hebben rond de $ 650 gedraaid voor 100 GB SSD en zijn erg snel. Maar u kunt niet slechts één snelle schijf hebben:ze falen, net als elk ander onderdeel van uw computer. En met $ 1300 voor een paar schijven zijn ze nog steeds buiten het bereik van kleine winkels, en zelfs een enkele heeft mijn persoonlijke knutselbudget voor thuishardware overschreden.

Welnu, er is een andere keuze. Intel heeft eindelijk hun act hier opgeruimd. De nieuwe 320-serie drives van hen integreert een set kleine condensatoren en de juiste uitschakellogica in de drive. Ze hebben het zelfs onderdeel van de marketing gemaakt nu ze het goed doen, inclusief een mooie briefing over hoe het werkt. Dat is trouwens waar dit onderwerp nu is:als de fabrikant caching correct schrijft, zullen ze erover opscheppen. Als je geen opschepperij hoort, betekent dat dat ze het hebben verprutst en dat de schijf je database zal opeten.

Er is een hele productlijn van deze nieuwe Intel-schijven beschikbaar, beginnend bij een 40GB-model van minder dan $ 100, allemaal met dezelfde schrijfbetrouwbaarheid. De grotere schijven zijn echter sneller en ik wilde in alle opzichten iets snellers dan de gewone harde schijf die hij verving. Dat punt komt pas bij het 120 GB-model van $ 220, dat een sequentiële schrijfsnelheid heeft die sneller is dan de terabyte-schijven die ik meestal gebruik. Een van de 120 GB Intel 320-schijven is eerder deze week in mijn opgewonden handen aangekomen.

U kunt de volledige cijfers vinden in mijn eerste recensie over pgsql-performance. De basisprestatieparameters zijn zoals verwacht:253 MB/s leesbewerkingen, 147 MB/s schrijfbewerkingen en een respectabele 5000 vastleggingen/seconde, alle overeenkomende specificaties en verwachtingen. Het enige waar ik over kan klagen, zijn de willekeurige lees-/schrijfresultaten. Ondanks claims van veel hogere aantallen, krijg ik slechts ongeveer 3500 IOPS, wat zich vertaalt naar 27 MB/s bij een gemengde werkbelasting. Dit is acceptabel, elke gewone schijf verslaan, maar het is aan de lage kant als SSD gaat. Ik kan niet klagen gezien de prijs - als ik sneller wil, kan ik altijd 3x zoveel uitgeven voor de OCZ Vertex 2 Pro - maar het is iets om op te letten. Er zijn een heleboel schaamteloze Intel-liefdevolle recensies die dit verkeerd begrijpen; de enige recensie die ik tot nu toe heb gezien die hetzelfde probleem ving en in het juiste perspectief plaatste, is die van Anand. Het toont de 300 GB 320-serie drive (die zelfs sneller is dan degene die ik heb) die gemiddelde tot lage snelheden levert bij willekeurig werk, en dat is waar het realistisch is. Dat is niet onaanvaardbaar, het is gewoon belangrijk om te begrijpen welke voordelen deze schijven bieden.

Als uw gegevens in 120 GB passen, is deze schijf een zeer aantrekkelijk alternatief voor de traditionele krachtige databaseconfiguratie. Het aanschaffen van een RAID-controller met schrijfcache met batterijvoeding en een paar schijven komt normaal gesproken uit op ongeveer $ 600, en u krijgt alleen eerlijke willekeurige I/O-prestaties van het resultaat. Koop een paar van deze schijven voor ongeveer $ 450, gebruik software-RAID voor redundantie en je zult het grootste deel van de tijd ver vooruit zijn. Zorg ervoor dat u goede SMART-bewakingspraktijken voor deze schijven volgt. Ze gaan niet eeuwig mee, waarbij de schrijflimiet een bekend faalpunt is, zelfs als er voor die tijd niets kapot gaat. Er zijn hier echter ook tal van verbruiksartikelen met de oudere technologie, waaronder vervangende schijven, vervangende batterijen en soms het nodig hebben van extra controllers als reserveonderdelen voor kritieke systemen. Er zou nu een kostenbesparing moeten zijn met SSD, zolang uw gegevens maar in de beschikbare grootte passen. En de prestaties zullen een grote stap vooruit zijn als je nu schijf raakt. De beste manier om de prestaties te verbeteren is door meer RAM toe te voegen, maar aangezien die gegevens uiteindelijk van en naar de schijf moeten gaan, is dat misschien niet altijd goed genoeg.

Intel, je krijgt hier mijn officiële duim omhoog:je hebt eindelijk het juiste gedaan en ik zal je graag aanbevelen als leverancier nu je dat hebt gedaan. Ik probeer nog steeds uit te zoeken wat ik ga doen met mijn nu snellere dan ooit server thuis, en dat is een goed probleem om te hebben.


  1. TO_TIMESTAMP_TZ() Functie in Oracle

  2. Hoe current_time werkt in PostgreSQL

  3. Database implementeren vanuit bronbeheer

  4. SQLite-JSON()