Wist je dat Logging I/O vaak de nummer één bottleneck is bij het laden van data? Helaas staat de Azure SQL Database altijd op ‘Full’ recovery model (i.t.t. ‘Simple’ recovery model, wat nog wel kon on-premise).
Gebruik je een Azure SQL Database en sta je op het punt om véél data te laden middels BULK INSERT (of SSIS Fast Load)? Dit gaat enorm helpen!
Vanaf ‘BC_Gen4_8‘ kun je genieten van 48 MB/s ‘Log rate limits’:
Meer info: https://docs.microsoft.com/en-us/azure/sql-database/sql-database-vcore-resource-limits-single-databases
Brent Ozar heeft hier onderzoek naar gedaan:
https://www.brentozar.com/archive/2019/02/how-fast-can-a-21468-mo-azure-sql-db-load-data/
Dus…snel even opschalen (BusinessCritical), data laden en weer netjes afschalen (Standard).
Opschalen:
(uitvoeren op [master])
BEGIN TRANSACTION
ALTER DATABASE [STAGING] MODIFY (Edition=’BusinessCritical‘, service_objective=’BC_Gen4_8‘)
WAITFOR DELAY ’00:00:03’
WHILE
(
SELECT TOP(1) slo.service_objective JobOutcomeSTG
FROM sys.databases d
JOIN sys.database_service_objectives slo ON d.database_id = slo.database_id AND d.name = ‘STAGING‘
) <> ‘BC_Gen4_8‘
BEGIN
WAITFOR DELAY ’00:00:03’
END
COMMIT TRANSACTION
Afschalen:
(uitvoeren op [master])
BEGIN TRANSACTION
ALTER DATABASE [STAGING] MODIFY (Edition=’standard‘, service_objective=’S0‘)
WAITFOR DELAY ’00:00:03’
WHILE
(
SELECT TOP(1) slo.service_objective JobOutcomeSTG
FROM sys.databases d
JOIN sys.database_service_objectives slo ON d.database_id = slo.database_id AND d.name = ‘STAGING‘
) <> ‘S0‘
BEGIN
WAITFOR DELAY ’00:00:03’
END
COMMIT TRANSACTION
Een belangrijke bevinding is dat de performance van ‘BC_Gen4_8‘ vergelijkbaar blijkt te zijn als ‘P1‘.
Heb samen met een collega een test uitgevoerd met het inladen van ca. 5,5 GB (5 bestanden) naar Staging en het scheelde slechts enkele seconden tussen beide Pricing Tiers.
Wat wel een flink verschil is, zijn de kosten voor ieder:
– P1 op € 392,15 per maand (250GB)
– BC_Gen4_8 op € 3.640,55 per maand (250GB)
(Factor x 9,3)
Kortom, ‘P1’ is meer dan voldoende.
Nieuwsgierig naar de mogelijkheden van Azure en DevOps binnen uw organisatie?
Neem dan contact met ons op: clint.huijbers@monkeyconsultancy.nl