תוכן עניינים – מה זה DBA:
- מהן התכונות החשובות ביותר של בסיס נתונים
- אז מהו התפקידו של DBA?
- Microsoft SQL Server
- מבנה הקורס בנאיה קולג’
צפו בוידאו מערב ההסברה על DBA:
Database זהו מסד נתונים או מערכת מידע שאוגרת את כל הנתונים של הארגון. כל ארגון, מהקטן ועד לגדול, מחזיק במידע מגוון ורב בלעדיו לא יכול להתקיים ולתפקד. ובהתאמה, מסד נתונים יכול להיחשב ככזה מהכי קטן (קובץ אקסל בחנות מכולת) עד למאוד גדול ששומר מליוני ומילארדי רשומות של מידע – כל אותם מסדי הנתונים הגדולים כמו SQL Server, Oracle ואחרים.
מטרת מסד הנתונים לשמור את המידע המגוון של הארגון שקשור להפעילות של אותו הארגון, כגון: לקוחות, עובדים, מוצרים, ספקים, ועוד ועוד. המידע נכנס למסד נתונים ממקורות שונים: אינטרנט, חיישנים, מערכות של הארגון, מדיה חברתי, טלפונים סלולריים ועוד.
כיום אנחנו בעידן של המידע, ויש כמויות עצומות של מידע. יש מחקרים המצביעים על כך ש-95% מהמידע שקיים בכלל הצטבר בכמה שנים אחרונות, ומספר הזה הולך וגדל. הדרישות מהמידע הולכות וגדלות, הדרישות של זמינות שלו הולכות וגדלות וכך הטכנולוגיה מתפתחת בהתאם. על כן ה-Database הוא הלב של הארגון עליו מתבסס הקיום של הארגון והשרידות שלו בעולם התחרותי.
צפו בסרטו הסבר קצר שיענה על השאלה מה זה DBA
בכל ארגון קיים תפקיד קריטי שמטפל ומנהל את מסד הנתונים – DBA – Database Administrator – שתפקידו לנהל את מסד הנתונים, לדאוג לעיצוב ובניה של בסיסי הנתונים, ולאחר מכן לתחזוקה השוטפת, פיתוח שאילתות שבאמצעותן ניתן לעדכן את מסד הנתונים וגם לתחקר אותו בצורה הכי מהירה ומדויקת. ועוד מספר תפקידים קריטיים.
מהן התכונות החשובות ביותר של בסיס נתונים:
-
- מבנה מתאים לאופי הארגון – בסיס נתונים קודם כל חייב להיות מעוצב בצורה כזו שמתאימה לאופי הארגון, סוג פעילות הארגון. האם זה מסד נתונים גדול או קטן, איזה כמות מידע, כמות טבלאות שבסיס נתונים צריך להחזיק, מה צריך להיות הקשר בין הטבלאות ועוד. כל זה כמובן על מנת לספק את הצורך של הארגון – בכל רגע נתון לקבל נתונים שונים ולהיות בעל יכולת לתחקר אותם כדי לקבל החלטות אסטרטגיות. לשם כך בסיסי הנתונים צריך להיות מאורגן ובנוי נכון.
-
- זמינות – בסיס נתונים חייב להיות זמין כל הזמן 24/7, ולתפקד ללא תלות באירועים בלתי צפויים כגון הפסקות חשמל, תקלות ועוד. אם המערכות לא עולות, לא ניתן יהיה להכניס נתונים או לעדכן נתונים.
-
- מהירות תגובה – בסיס נתונים חייב להיות מהיר, המידע חייב להגיע מהר למשתמש הקצה, או לקוחות שצופים באתר אינטרנט שמספק פרטי חשבון – חייבת להיות תגובה מהירה ואף מידית.
-
- אמינות – נתונים חייבים להיות שמורים בבסיס הנתונים, המשתמש צריך לדעת שבכל רגע נתון הוא ייגש לבסיס הנתונים ולקבל את המידע שהוא זקוק לו, ושהמידע הזה נכון ולא שגוי. יש לדאוג למצב שהנתונים לא הולכים לאיבוד ואם כן לדאוג לשחזור.
-
- אבטחת מידע – יש לאבטח את הנתונים, המערכת צריכה להית זמינה למשתמשים לפי הרשאות שונות, בהתאם להגדרות הארגון. הרבה פעמים הפריצות הכי משמעותיות וגדולות נגרמו ע”י עובדי החברה. כמובן שמסד נתונים חייב להיות מאובטח גם לגורמים מחוץ לארגון (פריצות והתקפות סייבר).
ב-Database נאגרים המון נתונים. הנתונים למעשה צריכים לעבור מהלכים שונים (ארגון, סדר, טיוב, עיבוד, ניתוח, ועוד) כדי שבסופו של דבר יהפכו למידע שמיש לארגון.
המטרה שלנו שככל שאנו מייצרים כמויות גדולות יותר של נתונים והעבודה עם הנתונים הופכת להיות יותר ויותר מאתגרת, להפוך את הנתונים האלה למידע וידע, ידע עסקי שהוא יקר מפז, וכאן התפקיד של מערכת מידע הוא לסייע לנו בכך ומי שיטפל בכל המשימות הללו הם אנשי DBA, כולל עבודה שלו עם גורמים נוספים בארגון.
אז מהו התפקידו של DBA?
המאפיינים של בסיס נתונים טוב שהצגנו קודם מובילים אותנו לגיבוש מסקנה מהו התפקיד של DBA בארגון. נתחיל מזה שתפקיד של DBA הינו תפקיד מפתח בארגון, כל גורם בארגון זקוק ל-DBA בצורה כזו או אחרת כי הוא האיש שאחראי על המידע.
החלוקה הראשונית של התפקיד הינה לפי שני תחומים עיקריים:
- Application DBA – תחום אפליקטיבי – למעשה מאגר המידע הוא אפליקציה/תוכנה שמאחסנת את הנתונים. ישנן גם אפליקציות נוספות בארגון שעובדות עם המידע, כגון ERP, CRM ואחרות, שבין היתר מזינות ומנתחות את הנתונים, או עושות את כל העיבודים של המידע עבור הארגון.
DBA עובד למעשה עם האפליקציות הללו ומבצע מגוון רחב של משימות, וכמובן עובד גם עם גורמים נוספים בארגון שמנהלים את האפליקציות הארגוניות השונות, כולל מנתחי מערכות, ראשי צוותים, אנשי QA, מפתחים ואף המיישמים.
לדוגמא, כאשר מיישם מגיע לאתר הלקוח להטמעת מוצר/כלי כלשהו שאמור להתחבר לבסיסי נתונים מאחורי הקלעים ויש להם בעיה בתהליך הטמעת התוכנה – ייפנו ל-DBA על מנת להבין איפה התקלה ואיך מתחברים לבסיס נתונים. בנוסף בתחום האפליקטיבי ה-DBA צריך לדאוג לתוכן ומבנה לוגי של בסיס הנתונים, לעיצוב ובניית בסיס נתונים מתאים לארגון, ליצירת קשרים נכונים, להגדרת ישויות וקשרים בין הטבלאות ובין הישויות, לבניית טבלאות וכמובן לפיתוח שאילתות מבסיסיות ועד למורכבות מאוד. ובצורה יותר מפורטת בין התפקידים של DBA:- Design – עיצוב סכמה (הטבלאות) – DBA צריך לדעת איך בסיס הנתונים בנוי, צריך לדעת לתכנן ולעצב אותו, מה זה בדיוק טבלאות, איזה סוגים יש ומה לשים בכל סוג, איזה אילוצים יש, אילו חיפושים יהיו בהמשך (תהליך ERD במסגרת ניתוח מערכות). את התשתית של הסכמה עבור אפליקציה בונים כבר בשלב הראשון של ניתוח מערכות וה-DBA מעורב בו יחד עם מנתחי מערכות, על מנת לעשות Design נכון וחכם ולאפשר ל-Database לעבוד טוב ויעיל. בתוך בסיס נתונים גדול יש הרבה סכמות. צריך לדעת לעצב כך שייווצרו קשרים בין הטבלאות וה-Database יצליח לתפקד.
- לפתח בשפת SQL ברמה גבוהה – זו השפה הסטדנרטית לעבוד מול Database. שפה זו נדרשת בכל תקפיד שיש בו נגיעה ב-Database: מפתחים, בודקים, אנשי BI, אנשי אבטחת מידע וכו’. DBA לעומתם צריך לדעת את השפה גם ברמה מתקדמת. עליו למעשה לדואג לכתוב שאילתות, כלומר באמצעות שפת SQL לכתוב קוד, וכך להוציא נתונים רלוונטיים לתחקור ועדכון.
- פיתוח למערכות צדדיות – איך לכתוב שאילתות במערכות צדדיות, מערכות שמתחברות למסד נתונים ועובדות בצורה אינטגרלית, ששולפות או מכניסות את הנתונים.
- Performance Tuning – שיפור ביצועים – נושא של ביצועים של בסיס נתונים הוא קריטי – לדאוג שהשאילתות יהיו יעיליות, מהירות, לדעת איך לבדוק אותן, איזה מהן רצות לאט ולשפר אותן. באמצעות הטכניקות המתאימות אפשר לקחת מהלכים שרצים שעות ולהפוך אותם לשניות. מדובר בתחום מרתק כי זהו קצה היכולת של DBA ומאוד מעניין את אנשי המקצוע.
- Infrastructure DBA – תחום ניהולי/תשתיתי – לדאוג לתחזוקה שוטפת, לשרידות של בסיס הנתונים, זמינות שלו, שחזור וגיבוי של הנתונים – אחריות על בסיס נתונים “בריא”:
- שרידות – בסיס נתונים חייב להיות נגיש בכל רגע, יעשה גיבויים, ושחזורים.
- זמינות – לדאוג שבכל רגע נתון המידע זמין ושבסיס הנתונים לא”נופל” אף פעם, או אם נופל – המידע עדיין זמין ונגיש.
- אבטחה – הגדרה של משתמשים והרשאות, דווקא בתחום הזה ישנן נקודות השקה עם הצד האפליקטיבי.
- ביצועים – גם כאן תפקידו של DBA הוא לדאוג לביצועים, יעילות שלו, שימוש בכמות הזכרון המתאימה, לדאוג לצד התשתיתי עליו נשען בסיסי הנתונים כגון זכרון, CPU, דיסק, OS ועוד.
- נושאים כלליים כגון התקנות, שדרוגים, עבודה עם מספר DB במקביל.
הקשר בין שני התחומים האלה מאוד חזק, למרות שעל פניו נשמע שמדובר בשני תפקידים שונים, אבל DBA טוב יידע להתמודד עם כל סוג בעיה וכן לייצר את הקשר בין השניים במהלך פתרון בעיה כזו או אחרת.
אז כאמור כל Database מכיל מידע, בעבודה מולו צריך להיות בעל יכולות אפליקטיביות ותשתיתיות. ובכל Database שנבחר לשים בארגון ניתן ליישם את היכולות הללו.
יש מספר יצרנים מובילים בשוק כגון Oracle, (DB2) IBM, וכמובן אחד השחקנים המובילים בשוק עם טכנולוגיה מדהימה שצומחת ומתעדכנת כל הזמן – טכנולוגיה של מיקרוסופט – SQL Server, הנמצאת בשוק מאז שנת 1989. מדובר בטכנולוגיה שמתפתחת כל הזמן, כמעט כל שנה יוצאת גרסא חדשה עם פיצ’רים חדשים, עם המון משתמשים גם בארץ וגם בעולם. יתרון נוסף של SQL Server – זהו Database ידידותי ומאוד קל ללמידה והטמעה.
ברגע ש-DBA מתחיל מבין את העיקרון המוביל מהו Database, מהן הטבלאות, הגיבויים, השחזורים, הביצועים ועוד, הוא יכול ללמוד די בקלות Database של יצרנים אחרים – אם יש כאלה בארגון, הוא רק צריך למפות את הנושאים שבהם צריך לחדד את הידע ולהשלים את החוסרים.
מבנה הקורס בנאיה קולג’
ניהול מידע הוא נושא עצום. היום יש הרבה פלטפורמות שניתן באמצעותן לנהל Database – אנחנו בקורס DBA שלנו מתמקדים במערכות של מיקרוסופט – SQL Server. המטרה של הקורס לתת מענה לשני התחומים כדי לאפשר לבוגרי המכללה להתאים את עצמם להזדמנויות רבות ומגוונות בעת חיפוש העבודה. למעשה גם המודול האפליקטיבי מועבר ברמה מאוד מעמיקה ומעשית, וכך גם המודול התשתיתי.
- המודול הראשון במסלול – מודול המכינה. במודול זה לומדים את העקרונות של מסדי נתונים רלציוניים, איך עושים Design, מה זה טבלאות, מה זה עמודות, טיפוסים של מידע, וכל מה שקשור לעבודה תקינה של Database וכמובן לומדים שפת SQL – שזה הנושא המרכזי במכינה. איך עושים שליפות של הנתונים באמצעות השפה.
- במודול השני נכנסים לנושאים אפליקטיביים – וכאן לומדים יותר לעומק את נושא העיצוב, פונקציות, משתנים, תנאים, לולאות – כל האובייקטים של קוד, וכמובן נושאים שקשורים לביצועים – כגון אינדקסים, תוכניות פעולה וכו’.
- מודול תשתיתי כאמור מכיל נושאים כגון גיבויים, שחזורים, הרשאות, ניהול שרידות וזמינות, אוטומציות, JOB-ים ועוד – שזהו לב לבו של הקורס.
- נושאי אקסטרא שאינם חלק מתחום ה-DB אבל מהווים ידע הכרחי לכל DBA מקצועי. למשל נושא של Data Warehouse – מתוך לעולם התוכן של תחקור מידע ו-BI, תחום שלם בעולם של הנתונים – איך מתחקרים מידע. ל-DBA חשוב להכיר מה זה מחסן נתונים ואיך בונים אותו כדי שישמש את הגורמים הרלוונטיים בהמשך לצורך תחקור המידע. לצד זה כמובן לומדים SSIS – כלי אינטגרציה של הנתונים, High Availability ועוד.
- המודול המעניין והמשמעותי בקורס – Data Architect – המטרה שלנו כאן להרחיב את התפיסה לטכנולוגיות שיש היום מעבר ל-Database קלאסי – וכאן מדובר תחומים כמו Big Data ו-Cloud. ישנם אתגרים שהפתרון שלהם הוא לא Database רגיל אלא טכנולוגיה מספקת מענה לנפחים גדולים יותר של המידע. Big Data – ביג דאטה – לפי הויקיפדיה “התפוצצות של המידע” – בעולם של היום, כמויות המידע עצומות ובלתי נתפסות. נוצרת בעיה של ניהול המידע בצורה אפקטיבית, כלומר לא רק לאגור את הנתונים אלא גם לנהל אותו ולהפוך אותו לידע.
כיום, בעידן המידע, קיימים בסיסי נתונים שמאחסנים כמויות כאלו של המידע, ויודעים לעבד אותו. אנחנו מדברים על בסיסי מידע NOSQL – טכנולוגיה שמצליחה לעבוד עם כמויות עצומות של מידע, מליונים ועשרות מליונים של טרנזקציות בשניה. המודול מלמד מהן הטכנולוגיות המרכזיות בתחום הזה, איך הן עובדות, מה המטרה של כל טכנולוגיה ואיזה מענה היא נותנת, ועיקר המיקוד במודול מוקדש לטכנולוגיה מובילה – HADOOP – הטכנולוגיה המרכזית שנמצאת היום בכל ארגון שנכנס לביג דאטה. אז מצד אחד זה אתגר של כמות המידע וקצב הכניסה שלו לבסיסי הנתונים, אבל מצד שני גם הבעיה תשתיתית וחומרתית – כמות הדיסקים וזכרון שנדרש לכל זה.
הנושא השני החשוב לא פחות הוא נושא הענן – Cloud – בשנים אחרונות מתאפשר טכנולוגית ליותר ויותר ארגונים להעביר לפחות חלק מה-DATA – שיש להם לשירותי הענן. השחקנים העיקרים שאנחנו מכירים – Azure , Amazon, Google– ולכל ארגון יש אפשרות להחליט איפה לשמור את הכל הdata- שלהם.