Home Innovatie & Strategie Gooi je geld niet uit het raam – hoe te besparen op...

Gooi je geld niet uit het raam – hoe te besparen op licentiekosten voor SQL Server

209
replicatie

Het gebruik van aan het internet gekoppelde toestellen dat bijna alle aspecten van ons leven beïnvloedt, heeft onder meer geleid tot een explosie van de hoeveelheid data die wordt gegenereerd. Bedrijven moeten een strategie ontwikkelen om de hoeveelheid data aan te kunnen en voor velen speelt SQL server een belangrijke rol in deze strategie. De truc is om voor de juiste licentie te kiezen. Dit is niet zo makkelijk gezien het feit dat de licenties nog behoorlijk kunnen verschillen m.b.t. de prijs en functionaliteit. De meeste bedrijven moeten kiezen tussen SQL Server Standard en SQL Server Enterprise. Maar: de Enterprise Edition is vijf keer duurder dan de Standard Edition.

Na een kijkje te hebben genomen op de functielijst van de verschillende versies denken vele organisaties dat zij SQL Server Enterprise Edition nodig hebben en zijn zij bereid om hierin te investeren. Vaak is deze investering echter niet noodzakelijk en hangt de optimale oplossing af van de functionaliteit van het storage platform dat wordt gebruikt. Om de potentiële besparingen te kunnen beoordelen moeten wij nogal wat technische details doorlopen. Maar dat is zeker de moeite waard gezien de mogelijke besparingen.

Mijn stelling is dus dat je in veel gevallen SQL Server Standard kan implementeren en toch van dezelfde features kunt profiteren als met de Enterprise Edition. Ik laat de features de revue passeren: DRAM footprint, AlwaysOn availability groups, application-consistent snapshots, datacompressie en spiegelen van data.

DRAM Footprint
SQL Server Standard Edition kan maar maximaal 128GB DRAM aan. Vandaag de dag hebben de meeste servers die worden gebruikt door organisaties echter meer dan 128 GB RAM. De snelle groei van de hoeveelheid data en de noodzaak om data lang te bewaren betekenen dat moderne databases vaak groter zijn dan 1TB, wat de Standard Edition op zich minder aantrekkelijk maakt. Vele moderne flash arrays bieden echter tot wel 192 GB DRAM, wat hen een ideale basis maakt voor implementaties met een grote hoeveelheid data. Het doel van de software architectuur moet dan ook zijn om het meeste van de I/O traffic op deze DRAM-laag af te handelen. Op deze manier biedt het flash array een DRAM-achtige performance en een lage latency voor de SQL server. Deze performance is aanvullend op de 128 GB DRAM die voor de SQL Server beschikbaar is op de host server.
Een manier om dit te bekijken is dat nu meerdere, in plaats van slechts een enkele SQL server baat heeft van de DRAM. Je kan zelfs een LUN van het flash array gebruiken voor de “Buffer Pool Extension” functie, die geïntroduceerd werd met SQL Server 2014. Op deze manier kan het DRAM gebruik van de SQL server direct worden aangevuld door flash storage met lage latency.

AlwaysOn Availability Groups
Microsoft heeft het concept van altijd beschikbare (AlwaysOn high-availability) groepen al met SQL Server 2012 geïntroduceerd. Het idee was dat meerdere databases als één unit bij een failover worden overgedragen aan de distaster recovery servers. In situaties waar een applicatie beroep doet op meerdere databases is deze functie een absolute noodzaak. Deze functie is echter in de SQL Server Standard Edition niet beschikbaar. Ook hier kan een modern flash array een oplossing bieden, tenminste als het voorziet in application-consistent snapshots.
Hoe werken die? Dit weet ik alleen maar van onze eigen oplossing en wij gebruiken een specifieke software agent. De IntelliFlash storage management software bevat de Tegile Data Protection Agent (TDPA). De TDPA draait op de SQL Server en communiceert met de Microsoft Volume Shadow Copy Service (VSS). Deze constructie maakt het mogelijk om te waarborgen dat de snapshot van meerdere databases en meerdere LUNs als één snapshot werkt. Dit snapshot kan je dan als een separate set van LUNs laten draaien op een alternatieve server en de databases staan ter beschikking voor zowel lezen als schrijven.

Application Consistent Snapshots
SQL Server Standard Edition biedt überhaupt niet de mogelijkheid om snapshots te maken. Zelfs bij de Enterprise Edition is het enkel mogelijk om snapshots te creëren, maar die kunnen alleen worden gelezen. Zoals gezegd biedt Tegiles IntelliFlash software niet alleen de mogelijkheid om snapshots te nemen maar de snapshots kunnen ook worden afgebeeld als LUNs, waar je wel op kan schrijven. Dit levert gebruikers functies die niet eens de Enterprise Edition van SQL Server kan bieden.
Snapshots zijn namelijk niets anders dan verwijzingen naar de originele LUNs. Daarom hebben zij dus een minimale storage footprint en kunnen binnen enkele seconden worden aangemaakt onafhankelijk van de schaal van de database. Dit betekend dat een gebruiker een kopie van een 2 TB grote database binnen seconden kan creëren zonder hiervoor additionele 2TB aan opslagcapaciteit nodig te hebben. Deze functie is bijzonder voordelig als je data snel moet herstellen of een productieve database snel en zonder allocatie van de opslagcapaciteit moet repliceren voor een test/ontwikkel- of QA-omgeving.

Datacompressie
Met SQL Server 2012 introduceerde Microsoft page-level en row-level compressie. Deze functie is echter voorbehouden aan de Enterprise Edition. Bovendien maakt zij zwaar gebruik van de CPU van de host server waar de SQL Server op draait.
Je zou natuurlijk ook voor een flash array kunnen kiezen met software die data in real time tijdens het opslaan comprimeert. Deze manier van datareductie doet geen beroep op de CPU van de host server omdat de arrays hun eigen processors en geheugen hebben. De compressie heeft het aanvullende voordeel dat zij de kosten voor flash storage aanzienlijk verlaagt.

Asynchroon spiegelen
SQL Server Standard Edition ondersteunt alleen maar synchroon spiegelen van data. Dit zorgt voor heel hoge latency als een kopie gecreëerd wordt op een aparte DR-locatie. Wederom kunnen moderne flash arrays een kuur bieden, tenminste als zij een functie voor asynchrone replicatie bieden. Deze maakt het mogelijk om data te repliceren van één array naar velen of van velen naar één array. Beter nog, deze functie werkt ook tussen all flash en hybride arrays. Deze functie is heel erg populair omdat organisaties zo data van een all flash array op hun primaire site op een hybrid array op hun DR-site kunnen repliceren, wat de totale kosten van flash storage verder verlaagt.

Wat betekent dit allemaal?
In vele gevallen kunnen organisaties met SQL Server Standard Edition van dezelfde functies profiteren die zij met SQL Server Enterprise Edition in huis zouden hebben, maar dan op de storage-laag. Met deze besparingen kunnen organisaties zich meerdere Standard Edition SQL Server licenties veroorloven en toch alle functies gebruiken die zij nodig hebben.
Natuurlijk zullen er altijd gevallen zijn waar er op basis van de behoeften geen weg om de SQL Server Enterprise Edition heen leidt. Een nauwkeurige, pragmatische evaluatie van de behoeften zou echter vaak tot het resultaat leiden dat een combinatie van SQL Server Standard Edition met een geschikt flash array enorme besparingen en hoge performance gaat opleveren.

Just Gonggrijp, Regional Director Benelux van Tegile Systems

LAAT EEN REACTIE ACHTER

Please enter your comment!
Please enter your name here