2015-09-09

Managing Versions in SQL Azure

שלום לכולם
והיום על versions.
קיימים שלושה מספרים המייצגים את version של ה sql שלך:

  • Select @@version --> Microsoft SQL Azure (RTM) - 12.0.2000.8   Sep  2 2015 20:51:51   Copyright (c) Microsoft Corporation 
  • select  DATABASEPROPERTYEX(db_name(), 'Version')  --> number like 826 or any other
  • The Performance tier
שלושה מספרים אלו מייצגים את מספר גרסת ה sql ברמת בסיס נתונים כאשר ייתכן שתהיה אותה ורסיה אולם מספר שונה - ואפילו באותו שרת ייתכנו שינויים בין בסיס נתונים.

למה זה חשוב? לא באמת זה חשוב ולא באמת זה מועיל - אבל יש פה כמה היבטים - ראשית אפשר ללמוד הרבה מהגלגולים ופריסת הגרסאות הרבה ויחד עם זאת אפס אחוז  downtime.

שנית כאשר ישנה תקלה יותר נוח למסור ישר את 3 המספרים אלו ואז הטיפול יהיה ממש מהיר - הם יוכלו לזהות במהירות מצי נפרסה הגרסה וכך לזהות בעיות שיכלו להתרחש.

ועכשיו ארחיב לגבי הנקודה השלישית.

אם תיראו בפוסט הקודם הזכרתי את 3 הגרסאות שקיימות היום ב SQL Azure.
  • web\ business
  • V2 - basic\ standard S1\ Standard S2\ Premium P1\ Premium P2\ Premium P3
  • V12 - basic\ standard S0\ standard S1\ Standard S2\ standard S3\ Premium P1\ Premium P2\ Premium P3\ Premium P4\ Premium P6\ Premium P11
ישנם מספר הבדלים בין השכבות השונות (אצרף מספר לינקים חשובים בהמשך הפוסט) :
  • ה - DTU שהסברתי עליו בפוסטים קודמים.
  • גודל מקסימלי של בסיס הנתונים האפשרי.
  • זמן בו אפשר לעשות ריסטור לתקופה מסוימת.
  • type of geo replication
  • קבצי לוג שיושבים על SSD בשכבות מסוימות.
  • V12 - הוא קומפטבילי לגמרי לגרסה האחרונה של sql וכולל את כל החידושים שיהיו ב 2016
  • עלויות - כמובן :-) .
מה שחשוב להבין הוא שהדברים מעצם היותם בענן הם דינמיים. יש שינויים וחידושים כל הזמן, וצריך לדעת מהיכן לקבל את המידע. וגם להיכנס לראש הזה שפתאום בסיס הנתונים הוא אפליקציה דינמית מתעדכנת בתדירות גבוהה.

מצורפת טבלה מתוך הלינק הזה:

זו טבלת ה"גזור והדבק" למי שעובד עם SQL Azure.
פה אפשר להבין מה רמת הביצועים שיכולה להיות בבסיס הנתונים הרלוונטי.
לא לשכוח שגם טבלה זו היא דינמית - הנה השבוע הוסיפו p11 והוא עוד לא מעודכן בטבלה הזו.

Service Tier/Performance Level
DTU
MAX DB Size
Max Concurrent Requests
Max Concurrent Logins
MaxSessions
Benchmark Transaction Rate
Predictability
Basic
5
2 GB
30
30
300
16,600 transactions per hour
Good
Standard/S0
10
250 GB
60
60
600
521 transactions per minute
Better
Standard/S1
20
250 GB
90
90
900
934 transactions per minute
Better
Standard/S2
50
250 GB
120
120
1,200
2,570 transactions per minute
Better
Standard/S3
100
250 GB
200
200
2,400
5,100 transactions per minute
Better
Premium/P1
125
500 GB
200
200
2,400
105 transactions per second
Best
Premium/P2
250
500 GB
400
400
4,800
228 transactions per second
Best
Premium/P4
500
500 GB
800
800
9,600
447 transactions per second
Best
Premium/P6 (formerly P3)
1000
500 GB
1,600
1,600
19,200
735 transactions per second
Best


עוד טבלה חשובה היא טבלת העלויות היא נמצאת בלינק הזה:

גם זו טבלה של "גזור הדבק"



DATABASE THROUGHPUT UNITS
DATABASE SIZE
POINT IN TIME RESTORE
PRICE
B
5
2 GB
7 Days
$0.0067/hr (~$5/mo)
S0
10
250 GB
14 Days
$0.0202/hr (~$15/mo)
S1
20
250 GB
14 Days
$0.0403/hr (~$30/mo)
S2
50
250 GB
14 Days
$0.1008/hr (~$75/mo)
S3
100
250 GB
14 Days
$0.2016/hr (~$150/mo)
P1
125
500 GB
35 Days
$0.625/hr (~$465/mo)
P2
250
500 GB
35 Days
$1.25/hr (~$930/mo)
P4
500
500 GB
35 Days
$2.50/hr (~$1,860/mo)
P6
1000
500 GB
35 Days
$5/hr (~$3,720/mo)
P11
1750
1 TB
35 Days
$9.41/hr (~$7,001/mo)


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

מידע מעניין נוסף זה מספר הגירסה שרואים ב SSMS... שימו לב מספר הגירסה של השרת שרואים ב SSMS מול שרתים ב AZURE, תלוי בגרסת ה SSMS שיש לך.
אם זה 2012 תראה על גירסה אחת 13.00
ועל אותו שרת אם זה ssms2014 תראה 12.00
לכן הכי חשוב להריץ @@version
ולדעת...
אם זה באמת מעניין אותכם.
זהו להיום
נסו ותהנו