TechX Azure – Introduktion till Azure SQL Database

Idag hade jag förmånen att få medverka på Microsofts Azure TechX-konferens. Konferensen var fullsatt med över 250 deltagare som tagit sig till Microsofts kontor utanför Kista för att få ta del av tre parallella spår under två dagar fullspäckade med intressanta dragningar. Kul!

Den mest spännande dragningen jag själv gick på tyckte jag var Robert Lucianis föredrag om Machine Learning. Grymt intressant, inte bara ur ett specifikt teknikperspektiv, utan om något som kommer omvälva hela vår arbetsmarknad – i takt med att smarta maskiner kommer ta över mer och mer av vad vi gör idag. Tyvärr så spelade inte just den sessionen in, men du kan se en intro film om ML i Azure på Channel9 här.

Precis som på TechDays hade vi även med oss vårt IoT-robotprojekt, med uppkopplade legorobotar, vågar och “Candy Push”-godistävling: TechXRobot

Introduktion till Azure SQL Database

Min egen session handlade om Azure SQL Databases. Powerpoint-bilderna som jag visade finns här: Introduktion till Azure SQL Database.pptx.

I presentationen nämnde jag en viktig aspekt: nämligen vad som INTE stöds i Azure SQL Database idag. Här finns Microsofts dokumentation kring vad som inte stöds i Azure SQL Database idag.

De demos jag gjorde av SQL Management Studio var gjorda med Management Studio 2014 samt en uppdatering som gör det möjligt att bland annat högerklicka och välja “Edit Top 200 rows” och “Design” precis som du är van vid från lokala SQL-databaser. En bra genomgång av vad som är nytt i Azure SQL Databases med den nya v12-versionen (som alltså motsvarar SQL Server 2014) finns här.

För att undersöka resursutnyttjandet jämfört med de “DTU”:er, Database Throughput Unit – som du har tillgång till i en viss version av Azure SQL Database så körde jag följande script (finns tillgängligt på MSDN här):

-- dm_db_resource_stats

SELECT
AVG(avg_cpu_percent) AS 'Average CPU Utilization In Percent',
MAX(avg_cpu_percent) AS 'Maximum CPU Utilization In Percent',
AVG(avg_data_io_percent) AS 'Average Data IO In Percent',
MAX(avg_data_io_percent) AS 'Maximum Data IO In Percent',
AVG(avg_log_write_percent) AS 'Average Log Write Utilization In Percent',
MAX(avg_log_write_percent) AS 'Maximum Log Write Utilization In Percent',
AVG(avg_memory_usage_percent) AS 'Average Memory Usage In Percent',
MAX(avg_memory_usage_percent) AS 'Maximum Memory Usage In Percent'
FROM sys.dm_db_resource_stats;

Följande SQL-script är intressant om du vill undersöka en äldre “Web”- eller “Business”-version av Azure SQL Database för att se vad den motsvarar i den nya modellen:


-- DTU mapping, kan bara köras i gamla Web/Business Master db
WITH DTU_mapping AS
( SELECT *
FROM ( VALUES (1, 10,'Basic'), (2, 20,'S0'), (3, 40,'S1'), (4, 100, 'S2')
, (5, 200, 'P1'), (6, 400,'P2'), (7, 1600, 'P3')
) AS t(id, percent_of_S2, target_edition)
), rc as
( SELECT start_time, end_time
, (SELECT Max(v)
FROM (VALUES (avg_cpu_percent)
, (avg_physical_data_read_percent)
, (avg_log_write_percent)
) AS value(v)) as [avg_DTU_percent]
FROM sys.resource_stats
WHERE database_name = 'NamnPåDinDB'
)
SELECT rc.*
, (SELECT TOP(1) t.target_edition
FROM DTU_mapping AS t
WHERE t.percent_of_S2 > CAST(1.2*rc.avg_DTU_percent as int)
ORDER BY t.percent_of_S2) as target_edition
FROM rc;

En utförlig artikel om hur du ska dimensionera Web och Business-version finns här.

Slutligen så visade jag en demo av Elastic Scale som hjälper dig att skala ut Azure SQL Databases på flera instanser. Den demo jag visade på utskalning av Azure SQL Dataabases finns här.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>