sql >> Databasteknik >  >> RDS >> Sqlserver

Perfekt Storm för att uppgradera till en modern version av SQL Server

Ett antal pågående och kommande utvecklingar inom mjukvara, hårdvara och lagringsteknik formar sig för att göra de kommande tolv till arton månaderna till en idealisk tidpunkt att migrera från en äldre version av SQL Server till en modern version av SQL Server.

Personligen anser jag vilken version av SQL Server som helst före SQL Server 2016 vara en äldre version av SQL Server. SQL Server 2014 kommer att falla bort från det vanliga stödet den 9 juli 2019 (samma datum som SQL Server 2008 och SQL Server 2008 R2 kommer att falla bort från utökat stöd). SQL Server 2012 föll ur det vanliga stödet den 11 juli 2017.

SQL-serverutvecklingar

De moderna versionerna av SQL Server är SQL Server 2016, SQL Server 2017 och den kommande SQL Server vNext. Tidigare skrev jag om varför SQL Server 2017 är ett påtagligt bättre uppgraderingsval än SQL Server 2016 just nu. När SQL Server vNext släpps (kanske under fjärde kvartalet 2018) kommer den sannolikt att ha ett antal användbara nya funktioner och förbättringar som kommer att göra det till ett överlägset uppgraderingsval till SQL Server 2017. Oavsett nya funktioner kommer nästa version av SQL Server vara i vanliga support under en längre period än SQL Server 2016 eller SQL Server 2017.

Utveckling av operativsystem

Microsoft kommer att släppa Windows Server 2019 någon gång senare under 2018. Microsoft hade nyligen ett online Windows Server Summit den 26 juni 2018 som innehöll mycket användbar information om denna utgåva. Det finns ett antal förbättringar i Storage Spaces Direct (S2D), inklusive deduplicering och komprimering i ReFS. En annan förbättring är True Two-Node quorum för S2D-kluster med två noder som använder en USB-minne som en filresurs i en router.

Windows Server 2019 S2D låter dig ha upp till 4 PB rå lagringskapacitet per S2D-kluster, vilket är en 4X förbättring jämfört med Windows Server 2016. Det finns en ny PoSH-cmdlet som heter Get-PhysicalDiskIoReport som låter dig se mycket mer detaljerad prestandainformation för individuella fysiska diskar, som låter dig övervaka enhetslatens manuellt och kan användas för att automatiskt upptäcka avvikelser från disklatens.

Windows Server 2019 stöder fullt befintligt NV-DIMM-beständigt minne, tillsammans med Intel Optane 3D XPoint-minne och lagring. Det finns också förbättringar i det kostnadsfria hanteringsverktyget Windows Admin Center som är en utmärkt instrumentpanel för distributioner av hyperkonvergerad infrastruktur (HCI).

VMware vSphere 6.7 stöder vSphere Persistent Memory, vilket låter dig dra fördel av beständigt minne i en VMware-virtualiserad miljö.

Hårdvaruutveckling

Både Intel och AMD är planerade att släppa nya generationer av serverprocessorer under de kommande tre till sex månaderna, som båda kommer att fungera i befintliga modellservrar. Detta kommer att göra dem tillgängliga snabbare än om de krävde nya servermodeller.

För Intel kommer det att vara den skalbara 14nm Intel Xeon-processorn "Cascade Lake-SP" som enligt rykten kommer att släppas under fjärde kvartalet 2018. Dessa processorer kommer att stödja "Apache Pass" DIMM (vilket betyder Intel Optane 3D XPoint persistent memory) och de är socket kompatibel med nuvarande Intel Xeon Scalable Processor "Skylake-SP"-processorer, vilket innebär att de kommer att fungera i befintliga servermodeller. Viktigare för många kunder är det faktum att Cascade Lake-SP kommer att ha skydd på hårdvarunivå för de flesta sidokanalsattacker (som Spectre/Meltdown), vilket kommer att ha mindre prestandapåverkan än mjukvarubaserade begränsningstekniker.

Cascade Lake-SP-processorerna kommer att följas av 14nm "Cooper Lake-SP" 2019, och sedan 10nm "Ice Lake-SP"-serverprocessorer 2020. Intels fortsatta kamp med 10nm-tillverkning kommer definitivt att skada deras konkurrensposition jämfört med AMD 2019/2020. Jag förväntar mig att AMD kommer att ta betydande marknadsandelar från Intel i serverutrymmet under denna period.

AMD kommer att ha 2 generationens 7nm "Zen2" EPYC "Rome" familjeprocessorer i början av mitten av 2019. Dessa processorer är tänkta att vara socketkompatibla med befintliga servermodeller och ha upp till 48 kärnor/96 trådar per processor. Dessa processorer ryktas också ha PCIe 4.0-stöd, vilket ger dem dubbelt så mycket bandbredd per fil jämfört med PCIe 3.0.

När man ser längre ut planerar AMD att släppa 3 generationens 7nm+ "Zen3" EPYC "Milan" familj av processorer någon gång under 2020.

Lagringsutveckling

Intel släppte sin första 3D XPoint-lagringsprodukt, 375 GB Intel Optane DC P4800X SSD under Q1 2017. Dessa använder en PCIe 3.0 x4-länk tillsammans med NVMe-protokollet, och de har ungefär 10X lägre latens och 5-8X bättre genomströmning vid låga ködjup jämfört med de snabbaste PCIe NVMe NAND-baserade SSD:erna. De har också 2-4 gånger bättre skrivuthållighet än NAND-baserade SSD-enheter för företag.

Jag har haft stor framgång med att använda dessa DC P4800X-enheter för SQL Server-instanser med extremt tunga tempdb-arbetsbelastningar. De är relativt billiga och erbjuder den snabbaste tillgängliga typen av traditionell blocklägeslagring, utan någon. De är transparenta för SQL Server och fungerar i alla system som stöder PCIe 3.0 x4-platser som HHHL-tilläggskort eller U.2-anslutna enheter.

Det som kommer inom en mycket nära framtid är Intel 3D XPoint-baserade DIMMs ("Apache Pass") som använder ett traditionellt DDR4-minnesgränssnitt och formfaktor med låg latens. Dessa DIMM:er kommer att finnas tillgängliga i 128 GB, 256 GB och 512 GB kapacitet, och de kommer att passa i DDR4-minnesplatser. De kommer att vara adresserbara i ett blockeringsläge med lägre prestanda som använder hela lagringsstacken, eller ett läge med mycket högre prestanda för direktåtkomst (DAX) som är byteadresserbart och kringgår lagringsstacken.

Både Windows 10 och Windows Server 2016 har redan DAX-stöd, och SQL Server 2016 SP1 har den beständiga loggbuffertfunktionen som låter dig utnyttja en DAX-lagringsvolym som är byggd på beständigt minne för att skapa en liten extra 20 MB transaktionsloggfil som används för att minska fördröjningen avsevärt att skriva till transaktionsloggen. Min gissning att SQL Server vNext kommer att förbättra just denna funktion.

Windows Server 2019 kommer att ha ännu bättre stöd för beständigt minne. Nya två-sockets servrar med Intel Xeon "Cascade Lake-SP"-processorer kommer att stödja upp till 6 TB 3D XPoint DIMM, som kan kombineras med traditionellt DDR4-minne i andra minneskortplatser.

Slutsats

Under de närmaste månaderna kommer vi förmodligen att se en ny version av SQL Server, tillsammans med lanseringen av Windows Server 2019, nya generationer av serverprocessorer från både Intel (och en nyligen konkurrerande AMD) och nya högpresterande lager i minnes- och lagringshierarkin.

Denna konvergens av händelser gör det mycket lättare att bygga ett affärsmässigt och tekniskt fall för att gå från en äldre version av SQL Server som körs på ett äldre operativsystem på gammal hårdvara utan garanti och långsam lagring till en mycket bättre och mer flexibel dataplattform som kan dra fördel av alla dessa nya utvecklingar för att få bättre prestanda och skalbarhet.


  1. Fråga som returnerar en hierarkisk lista över triggerhändelsetyper i SQL Server

  2. SQL Server SELECT i befintlig tabell

  3. Oracle Trigger ORA-04098:triggern är ogiltig och misslyckad omvalidering

  4. Hur migrerar man en PostgreSQL-databas till en SQLServer-databas?