• Save
7   sql azure for sql explore
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

7 sql azure for sql explore

on

  • 1,010 views

 

Statistics

Views

Total Views
1,010
Views on SlideShare
829
Embed Views
181

Actions

Likes
0
Downloads
0
Comments
0

1 Embed 181

http://www.sqlserver.co.il 181

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

7 sql azure for sql explore Presentation Transcript

  • 1. SQL Azure על פרקטיקה, ניהול וקצת ארכיטקטורה
    פיני קרישר/ מנהל פיתוח ו DBA/ForexManage
  • 2. מהו SQL Azure– בקיצור נמרץ.
    התחברות לבסיסי נתונים בענן.
    יצירת בסיסי נתונים בענן.
    ניהול בסיסי נתונים בענן.
    דברים הנתמכים והלא-נתמכים ב SQL Azure מול גרסאות אחרות של SQL Server.
    חישובי עלויות.
    שינויים ב SSMS בין SQL Azure מול גרסאות אחרות של SQL Server.
    קצת על ארכיטקטורה.
    עצות כלליות.
  • 3.
  • 4. SQL Azureהוא SQL Serverבענן (כאן כמובן לא נדבר על מהו ענן...). עקב מספר מגבלות בענן נוצר מצב של אי תאימות לגרסאות רגילות ויש צורך בתהליכי המרה.
    מה שרץ לאט על SQL Serverבגרסאות הרגילות, ירוץ לאט בענן.
    אז למה לעבוד עליו?
    הארגון החליט לעבוד בענן.
    אתה רוצה לתרום למיקרוסופט...
    זמינות מהירה מאד של משאבים.
    תשלום לפי נפח בלבד – אפשרות להגדלה בפקודה אחת.
    עלויות נמוכות מהרגיל ועוד ...
    6 מרכזי שרתים בעולם המכילים את חוות השרתים (צפי לעוד כמה).
    יושב ומנוהל תחת מערכת הפעלה Windows Azure.
    מהו SQL Azure (בקיצור נמרץ) ?
  • 5. ישנן מספר דרכים להתחבר לבסיס הנתונים בענן:
    דרך SSMS– כאן מדובר על התחברות רגילה למי שיש סטודיו של SQL עושים פשוט מקש ימני connect ומתחברים לבסיס הנתונים בענן עם שם יוזרוססמא ממש כמו שרת רגיל, כאשר יש חיבור השרת בענן מסומן טיפה בצורה אחרת.
    התחברות לבסיסי נתונים בענן
  • 6. דרך הפורטל – ניתן ליצור שרתים בסיסי נתונים וכדומה
    התחברות לבסיסי נתונים בענן
  • 7. התחברות לבסיסי נתונים בענן
    דרך פרויקט יוסטון (https://manage-sgp.cloudapp.net/ ) – זהו פרויקט שעשו עבור מי שאין לו SSMSושם יש גישה לבסיס נתונים לראות שאילתות לבנות טבלאות וכדומה
  • 8. יצירתבסיסי נתונים בענן
    • ישנן מספר דרכים ליצור בסיס נתונים בענן:
    • 9. דרך ssms– כמו שראינו מתחברים ויוצרים או במסך עצמו או ב T-SQL בפקודה פשוטה של Create DataBase...
    • 10. דרך הפורטל – כמו שראינו מתחברים ויוצרים במסך עצמו את בסיס הנתונים הרצוי. בפורטל גם ניתן לראות לכל שרת כמה בסיסי נתונים יש לנו מה הגירסה, היכן הוא ממוקם ומה הגודל שלהם.
  • ניהול בסיסי נתונים
    ניהול בסיס הנתונים כולל כמה דברים כמו הרשאות firewall, פעולה זו מתבצעת בפורטל – ניתן גם כמובן לעשות הכל בפקודות T-SQL. פה אפשר להוסיף למחוק ולעדכן IP.
  • 11. ניהול בסיסי נתונים
    • ניהול יוזרים הוספת Login מתבצע על ידי פקודת T-SQL:
    ואלו היוזרים עימם נתן לעבוד מול בסיס הנתונים.
    מכאן ייפתח הסקריפט שלמעלה...
    CREATE LOGIN [testdemo]
    WITH PASSWORD=N'ò>ßá'a4:Z·ª',
    DEFAULT_DATABASE=[master],
    DEFAULT_LANGUAGE=[us_english],
    CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
    GO
  • 12. ניהול בסיסי נתונים
    • וככה זה נראה בבסיס הנתונים
    SELECT *
    FROMsys.sql_logins
    SELECT *
    FROMsys.firewall_rules
  • 13. ניהול בסיסי נתונים
    ניהול בסיס הנתונים - ביצועים CPU:
    אפשר לבדוק את השאילתות המייצרות את ה cpu הגבוה ביותר ולטפל בהן – שימו לב אי אפשר להגדיל או לשנות את החומרה:
    SELECT TOP 5 query_stats.query_hash AS "Query Hash",
    SUM(query_stats.total_worker_time) / SUM(query_stats.execution_count) AS "Avg CPU Time",
    MIN(query_stats.statement_text) AS "Statement Text"
    FROM
    (SELECT QS.*,
    SUBSTRING(ST.text, (QS.statement_start_offset/2) + 1,
    ((CASE statement_end_offset
    WHEN -1 THEN DATALENGTH(st.text)
    ELSE QS.statement_end_offset END
    - QS.statement_start_offset)/2) + 1) AS statement_text
    FROM sys.dm_exec_query_stats AS QS
    CROSS APPLY sys.dm_exec_sql_text(QS.sql_handle) as ST) as query_stats
    GROUP BY query_stats.query_hash
    ORDER BY 2 DESC;
    GO
  • 14. ניהול בסיסי נתונים
    ניהול בסיס הנתונים - ביצועים IO :
    אפשר לבדוק את השאילתות המייצרות את ה IOהגבוה ביותר ולטפל בהן – שימו לב לשלוט ב io למשל על ידי הפרדת הלוג לכונן אחר וכל מה שעשינו ב SqlServer– פה מנהלי האתר אחראים לזה ואתה רק יכול לנסות ולשפר את השאילתא שלך.
    SELECT TOP 5
    q.[text],
    (total_logical_reads/execution_count) AS avg_logical_reads,
    (total_logical_writes/execution_count) AS avg_logical_writes,
    (total_physical_reads/execution_count) AS avg_phys_reads,
    Execution_count
    FROM sys.dm_exec_query_stats
    cross apply sys.dm_exec_sql_text(plan_handle) AS q
    ORDER BY
    (total_logical_reads + total_logical_writes) DESC
  • 15. ניהול בסיסי נתונים
    ניהול בסיס הנתונים - גדלים ועלויות (ענן כבר אמרנו????): נושא חישוב הגדלים ובהתאמה חישוב העלויות מורכב מ 2 רכיבים :
    Storage– התשלום הוא לפי כמות בסיסי נתונים שהזמנת לפי גודל אם אתה מזמין אחד בגודל של 1 GB תשלם עליו לפי 10 דולר לחודש שזה שליש דולר ליום בממוצע – החישוב הוא לפי ימים, שימו לב ניתן בכל רגע בפקודה להגדיל את בסיס הנתונים. אם לא תגדילו ויגיע לקצה גבול היכולת ניתן יהיה לקרוא ממנו אולם לא לכתוב אליו.:
    Web Edition
    $9.99 per database up to 1GB per month
    $49.95 per database up to 5GB per month
    Business Edition
    $99.99 per database up to 10GB per month
    $199.98 per database up to 20GB per month
    $299.97 per database up to 30GB per month
    $399.96 per database up to 40GB per month
    $499.95 per database up to 50GB per month
  • 16. ניהול בסיסי נתונים
    גם לזה יש שאילתא לדעת כמה בסיס נתונים יחושבו פר יום:
    selecttime,sku,quantity
    fromsys.database_usage
  • 17. ניהול בסיסי נתונים
    תעבורה (Bandwidth) -
    מידע Internal לא מחויב. מידע פנימי פירושו מידע היוצא או הנכנס מה windows azure ל SQL Azure ולא אל שאר העולם. זה בבחינת מיקום המידע.
    עכשיו נדבר על כיוון המידע מידע הזורם פנימה Ingress בזמן OffPeak גם לא מחושב – וזה נכון עד סוף יוני 2011. זמן לחץ נמדד לפי שרת כך שלמשל שרתי צפון אמריקה נמדדים כשעות לחץ בין 10 בבוקר ל 6 בערב.
    מתחילת יולי מידע הזורם פנימה Ingress בזמן OffPeak ובזמן Peak גם לא מחושב.
    עלויות של זרימת המידע תלויות היכן המרכז מחשבים שאתה מתחבר אליו:
    Europe or North America: 0.10$ per GB in / $0.15 per GB out
    Asia: 0.10$ per GB in / $0.20 per GB out
  • 18. ניהול בסיסי נתונים
    תעבורה (שאילתא ועמודה נוספת של המידע ב MB כאשר בטבלה הוא מוצג ב KB:
    SELECT * FROMsys.bandwidth_usageWHERE time >= '20110501’
  • 19. ניהול בסיסי נתונים
    עכשיו שאילתא - בסופה נסכם מה שצריך (כאמור זה השתנה השבוע) – וזו עלות התעבורה.
    select direction,
    time_period,
    Sum(case when sys.bandwidth_usage.direction = 'Egress'then (0.15 * quantity/ (1024*1024) )
    whensys.bandwidth_usage.direction = 'Ingress'then (0.10 * quantity/ (1024*1024))
    end ) as "cost"
    fromsys.bandwidth_usage
    wheredatepart(yy,time) = datepart(yy, getutcdate()) anddatepart(mm,time) = datepart(mm, getutcdate()) and
    class = 'external'group by direction, time_period

    צירוף 2 סכומים אלו מביא לנו את עלות ה SQL Azure
  • 20. דברים נתמכים ולא-נתמכים ב SQL Azure מול גרסאות אחרות של SQL Server
    • ישנה רשימה מתועדת של דברים שאינם נתמכים מול גירסאות קיימות של SQL Server להלן כמה דוגמאות וכמה פתרונות:
    • 21. Db_Name()– פונקציה שאינה נתמכת. – אנו יצרנו פונקציה מקבילה.
    • 22. Backup DB– אין אפשרות להריץ גיבוי יזום להיכן שאתה רוצה. יש 3 פתרונות אפשריים:
    • 23. לקנות כלי שמבצע את הגיבוי להיכן שאתה רוצה (יש כלים יקרים שעושים הכל ויש זולים שנותים לכם כלים לבצע)
    • 24. לבצע copy בענן באותו שרת לבסיס נתונים חדש ואז תשלם עליו לפי ההסכם הרגיל וזהו סוג של גיבוי.
    • 25. לבצע data sync – שזה כלי שמיקרוסופט מספקת לסנכרן בין טבלאות בין בסיסי נתונים – אפשרי בין שרתים מקומיים לבין שרתים בענן ואפשרי בענן בין מרכזים שונים.
    • 26. SQL Agent – אין את כל המנגנון – אנו בנינו פרוצדורה מחליפה וworker role שמריץ אותה.
    • 27. Select... INTO
    • 28. אין CLR, אין Broker Service
    • 29. קריאה בין שני בסיסי נתונים באותו השרת
    • 30. לכל הטבלאות חייב להיות clustered Index
    • 31. אין DBCC CHECKDB ועוד ועוד רשימה של דברים שמתועדת בעמוד של מיקרוסופט (http://msdn.microsoft.com/en-us/library/ee336253.aspx).
    • 32. בדיקות ביצועים – הרוב קיים ומה שלא כרגע אין...
  • שינויים ב SSMS בין SQL Azure מול גרסאות אחרות של SQL Server
    • כאשר עובדים ב SSMS ישנם מספר דברים שונים בין עבודה על שרת רגיל לבין עבודה על SQL Azure להלן מספר דוגמאות:
    • 33. מקש ימין על פרוצדורה לדוגמא אין Alter או אין EXecute:
  • שינויים ב SSMS בין SQL Azure מול גרסאות אחרות של SQL Server
    • מקש ימין על טבלה לדוגמא אין select or edit ואין Design ועוד:
  • ולסיום קצת על ארכיטקטורה:
    • כל המחשבים הם אותם מחשבים רק הסטורג' שונה כרגע הם:
    • 34. 32 GB RAM, 8 cores, and 12 disks
    • 35. כל בסיס נתונים מרופלק ל 3 בסיסי נתונים אחד ראשי ו 2 משניים.
    • 36. Commit מתבצע רק אחרי שאחד מהמישניים מאשר שנכתב אצלו
    • 37. כאשר יש נפילה היכן שהוא מתבצע תהליך הקרוי 'reconfiguration' לוקח פיקוד אחד המשניים – הוא נהייה ראשי ונבנה מיד אחד חדש, נאמר כי שרתים אלו שוכנים פיסית בשרתים אחרים.
    • 38. למרות זאת ב 23 ליוני היתה נפילה כללית הם ישרים לומר את זה...
    • 39. Jun 23 2011 9:36AM We were experiencing an outage preventing access to SQL Azure Database Service. We have determined this to be a network issue and have resolved it. Posting this update for informational purposes only.
    • 40. ATS – Azure table storage– זהו מענה לשמירת מידע מעולם ב NoSQL עלותו הרבה יותר נמוכה, הוא יכול לתת מענה לגיבויים לוגים וכדומה. זהו אינו בסיס נתונים רציונלי. והדיון עליו בהקשר של הענן דורש הרצאה נפרדת.
  • ולסיום קצת על ארכיטקטורה:
    הכל מלבד הקליינט נמצא בענן, צורת החיבור חייבת להיות מותאמת לענן וזו צורת העובדה מולם.
  • 41. ולסיום קצת על ארכיטקטורה:
    כמו שהסברנו כשאחד נופל המערכת דואגת שיהיה אחר חלופי לכל אחד מאלו שנפלו.
  • 42. לינקים שימושיים:
    • Main Portal: http://windows.azure.com/
    • 43. Service Dashboard: http://www.microsoft.com/windowsazure/support/status/servicedashboard.aspx
    • 44. DB Web Connect: https://manage-sgp.cloudapp.net/
    • 45. SQL Azure Labs: https://www.sqlazurelabs.com/
    • 46. Pricing calculator:
    • 47. http://www.microsoft.com/windowsazure/pricing-calculator/
    • 48. http://azureroi.cloudapp.net/
    • 49. Inside SQL Azure: http://social.technet.microsoft.com/wiki/contents/articles/inside-sql-azure.aspx