2019-10-10

Azure SQL DB tiers Short Overview

שלום לכולם
היום אסקור בקצרה את ה tiers השונים לבחירת DB.
במילה tiers מסתתרת משמעות רחבה מאד, טווח רחב מאד של אפשרויות ביצועים.
בפוסט שפרסמתי בחודש מרץ ביצעתי השוואות ביצועים בין tiers שונים:
http://www.sqlazure.co.il/2019/03/azure-sql-db-tiers-comparison.html

והיום אציג טבלה ובה החומרה מתחת לפני השטח נכון להיום!
כידוע יש 2 קבוצות שונות של שרתים שאפשר לבחור עבור Azure SQL DB

  1. DTU
  2. vCore

כאשר באפשרות הראשונה אין אפשרות לבחור קומבינציה של רכיבים - פשוט  בוחרים:
 Basic\Standard1..12\Premium1...15
שזה שוני שנובע מ Local SSD

וכאשר באפשרות השנייה יש אפשרות לבחור בין סוגי CPU שונים
Gen 4 / Gen 5
Gen 4 CPUs are based on Intel E5-2673 v3 (Haswell) 2.4 GHz processors
Gen 5 CPUs are based on Intel E5-2673 v4 (Broadwell) 2.3 GHz processors

שזה גם משפיע על כמות ה RAM
והאם
Busines critical \ General purpose
שגם זה שוני שנובע מ Local SSD
תחת vCore - יש אפשרות לבצע תשלום מראש לכמה שנים ובכך לחסוך המון כסף למי שמשתמש ב  vCore (ועל זה בפעם אחרת)

יש עוד קומבינציות ועוד אפשרויות אבל גם את זה נשמור לפעם אחרת.

מכיוון שאי אפשר לכמת מה יש תחת DTU מבחינת חומרה להלן ההשוואה

 
Tier CPU RAM in GB
s0   1, 1
s1   1, 2
s2   1, 2
s3   2, 9
s4   4, 19
s6   6, 28
s7   12, 56
s9   24, 113
s12  44, 173
p1   2, 9
p2   4, 19
p4   6, 28
p6   12, 56
p11  18, 82
p15  42, 171
GeneralPurpose GP_Gen4_1 1, 4
GeneralPurpose GP_Gen4_24 24, 80
GeneralPurpose GP_Gen5_80 80, 190

 מפה כל אחד ילמד ויבין מה טוב לו
ניתן להסתכל בלינק הבא על כל מיני פרטים נוספים

https://docs.microsoft.com/en-us/azure/sql-database/sql-database-service-tiers-general-purpose-business-critical

את המידע שלפתי לפי השאילתא הבאה:
 
-- CPU assigned to database
SELECT
scheduler_id, cpu_id, status, is_online
FROM sys.dm_os_schedulers
WHERE status = 'VISIBLE ONLINE'
-- Memory allocated to database
SELECT  *, cntr_value / 1024/1024 AS RAM_in_GB
FROM sys.dm_os_performance_counters
WHERE counter_name LIKE '%Target Server Memory%'