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.
11.
12.
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
22. Backup DB– אין אפשרות להריץ גיבוי יזום להיכן שאתה רוצה. יש 3 פתרונות אפשריים:
23. לקנות כלי שמבצע את הגיבוי להיכן שאתה רוצה (יש כלים יקרים שעושים הכל ויש זולים שנותים לכם כלים לבצע)
24. לבצע copy בענן באותו שרת לבסיס נתונים חדש ואז תשלם עליו לפי ההסכם הרגיל וזהו סוג של גיבוי.
25. לבצע data sync – שזה כלי שמיקרוסופט מספקת לסנכרן בין טבלאות בין בסיסי נתונים – אפשרי בין שרתים מקומיים לבין שרתים בענן ואפשרי בענן בין מרכזים שונים.
26. SQL Agent – אין את כל המנגנון – אנו בנינו פרוצדורה מחליפה וworker role שמריץ אותה.
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.
41. ולסיום קצת על ארכיטקטורה: כמו שהסברנו כשאחד נופל המערכת דואגת שיהיה אחר חלופי לכל אחד מאלו שנפלו.