DBA בישראל: מה התפקיד עושה, שכר, ואיך נכנסים
זמן קריאה: 8 דקות
DBA אחראי/ת על כך שמסדי הנתונים של הארגון יהיו זמינים, מהירים וניתנים לשחזור. הכותרת עצמה כמעט לא מופיעה יותר במשרות בישראל, אבל העבודה לא נעלמה - היא נבלעה בתפקידי Data Platform ו-DevOps. בלוח HiTakeJob פתוחות כרגע 133 משרות שמזכירות SQL ו-36 שמזכירות PostgreSQL.
מה קרה לכותרת DBA
נתחיל בעובדה שראוי לומר בגלוי: בסריקה על כותרות המשרות בלוח, המילה DBA אינה מופיעה כלל. אפס משרות נושאות את הכותרת הזו. זה לא אומר שאין ביקוש לידע, אלא שהוא נמכר תחת שמות אחרים.
הראיה לכך היא במספרים של הטכנולוגיות עצמן. נכון להיום פתוחות 133 משרות שמזכירות SQL, 36 משרות שמזכירות PostgreSQL, 28 משרות שמזכירות MongoDB ו-16 משרות שמזכירות MySQL. הידע מבוקש מאוד; הכותרת אינה.
שלוש סיבות לשינוי. הראשונה היא מסדי נתונים מנוהלים בענן, שהעבירו את עבודת התחזוקה השגרתית - התקנה, תיקוני אבטחה, הקמת גיבוי - לספק. השנייה היא שצוותי הפיתוח קיבלו בעלות על מסדי הנתונים שלהם, במקום צוות מרכזי שמאשר כל שינוי. השלישית היא ריבוי סוגי מסדי הנתונים: ארגון טיפוסי מריץ היום מסד יחסי, מסד מסמכים, מטמון וכלי חיפוש, ומומחה לסוג אחד כבר לא מכסה את הצורך.
מי שמחפש עבודה בתחום כדאי שיחפש לפי הטכנולוגיה ולפי מילים כמו Data Platform, Database Engineer או Infrastructure, ולא לפי ראשי התיבות.
גיבוי ושחזור: התרגיל שמגדיר את המקצוע
המשפט המקובל בתחום הוא שאין דבר כזה תוכנית גיבוי - יש רק תוכנית שחזור. גיבוי שלא נוסה שחזור ממנו אינו גיבוי אלא הנחה. התרגיל המעשי כולל את השלבים האלה:
- שחזור לסביבה נפרדת מהעותק האחרון, בלי לגעת בייצור.
- מדידת הזמן בפועל מרגע ההחלטה ועד מסד עובד, ולא ההערכה שרשומה במסמך.
- בדיקת שלמות - ספירות, אילוצים, השוואה לדוגמאות ידועות.
- שחזור לנקודת זמן מסוימת, למשל חמש דקות לפני מחיקה שגויה.
- תיעוד הפערים מול היעדים שהוגדרו.
שני היעדים שמנחים את כל זה הם כמה נתונים מותר לאבד וכמה זמן מותר להיות מושבת. הם החלטה עסקית ולא טכנית, והם מכתיבים את הארכיטקטורה. דרישה לאובדן של דקות ספורות מחייבת שילוב של גיבוי מלא עם שמירת יומן שינויים רציפה, וזה עולה יותר.
המקרה שתופס ארגונים לא מוכנים אינו קריסת שרת אלא מחיקה שגויה בייצור. שרת חלופי לא עוזר שם, כי המחיקה משוכפלת אליו מיד. רק שחזור לנקודת זמן פותר, וזו הסיבה שזה השלב הרביעי ברשימה.
מה נמצא על השולחן בשבוע ממוצע
כדי לתרגם את התיאור לעבודה ממשית, כך נראה שבוע של מי שמחזיק את שכבת הנתונים בחברה בינונית: בקשה מצוות פיתוח לסקור שינוי סכמה לפני פריסה; חקירה של שאילתה שהאטה אחרי שהטבלה גדלה; הוספת עותק קריאה כדי להוריד עומס דוחות; בדיקה אחרי התראת ניטור על מקום פנוי בדיסק שיורד; ותרגיל שחזור מתוזמן לסביבת בדיקות.
הפריט הראשון הוא זה שמשפיע הכי הרבה לטווח ארוך. סקירת שינוי סכמה לפני שהוא מגיע לייצור תופסת את הבעיות הקלאסיות: הוספת עמודה עם ערך ברירת מחדל על טבלה ענקית שנועלת אותה, אילוץ שנוסף בלי בדיקה של הנתונים הקיימים, או טיפוס נתונים שנבחר בגדול מדי ומכפיל את גודל האינדקס. תפיסה של אלה בסקירה עולה עשר דקות; תפיסה שלהן בייצור עולה חלון תחזוקה.
רפליקציה וזמינות
| מנגנון | למה משמש | המחיר |
|---|---|---|
| עותק קריאה | הסרת עומס דוחות מהמסד הראשי | פיגור קצר, נתון לא עדכני לרגע |
| עותק כשירות | המשכיות כשהראשי נופל | עלות תשתית כפולה |
| החלפה אוטומטית | זמן השבתה קצר בלי התערבות | סיכון למצב של שני ראשיים |
| פיצול לפי מפתח | נפח שלא נכנס לשרת אחד | מורכבות גבוהה בשאילתות חוצות |
השורה השלישית היא המלכודת הקלאסית. מערכת שמחליפה תפקידים אוטומטית יכולה להגיע למצב שבו שני עותקים משוכנעים שהם הראשי, ואז מתקבלות כתיבות בשני צדדים ואיחודן דורש עבודה ידנית. ההגנה המקובלת היא גורם שלישי שמכריע, ובדיקה תקופתית של תרחיש ההחלפה בסביבת בדיקות.
השורה הראשונה היא הפתרון הפשוט שעובד ברוב המקרים. העברת דוחות כבדים לעותק קריאה נותנת שיפור ביצועים מיידי בייצור בלי לשנות שורת קוד.
תוכניות שאילתה ואינדקסים
הבקשה הנפוצה ביותר שמגיעה ל-DBA היא "השאילתה איטית". התהליך שעונה עליה זהה כמעט בכל מנוע: מסתכלים בתוכנית הביצוע האמיתית, מחפשים סריקה מלאה של טבלה גדולה, בודקים את הפער בין מספר השורות שהמנוע צפה למספר שהוחזר בפועל, ורק אז נוגעים באינדקסים.
מה שחשוב להבין על אינדקסים:
- סדר העמודות באינדקס מורכב קובע. אינדקס על שתי עמודות משרת חיפוש לפי הראשונה, לא לפי השנייה לבדה.
- אינדקס מכסה שמכיל את כל העמודות שהשאילתה מבקשת חוסך פנייה נוספת לטבלה.
- כל אינדקס מאט כתיבה ותופס מקום. טבלה עם שנים עשר אינדקסים היא לרוב סימן שאף אחד לא ניקה.
- סטטיסטיקות ישנות מייצרות תוכניות גרועות גם כשהאינדקס הנכון קיים.
- פונקציה על עמודה בתנאי מבטלת את השימוש באינדקס ברוב המנועים.
הפער בין ההערכה לתוצאה בפועל הוא הרמז הכי שימושי בקריאת תוכנית: מנוע שציפה לחמישים שורות וקיבל חצי מיליון בחר אסטרטגיה שגויה, והבעיה היא בסטטיסטיקות או בניסוח התנאי, לא בחומרה.
שדרוגים ומיגרציות
שדרוג גרסה ומעבר בין ספקים הם הפרויקטים שבהם התפקיד נבחן. מה שמפריד בין מעבר חלק לאירוע:
| שלב | מה חייב לקרות |
|---|---|
| לפני | בדיקת תאימות, הרצת עומס מייצג על הגרסה החדשה |
| העתקה ראשונית | טעינה מלאה לסביבה החדשה בזמן שהישנה פועלת |
| סנכרון רציף | העברת שינויים שוטפים עד רגע המעבר |
| אימות | השוואת ספירות ובדיקות שקילות על שאילתות מפתח |
| מעבר | חלון קצר, הפניית האפליקציה, מעקב צמוד |
| אחרי | שמירת הסביבה הישנה זמינה לחזרה לאחור |
השורה האחרונה היא זו שמדלגים עליה בלחץ. סביבה ישנה שנשארת דלוקה שבוע נוסף עולה כסף, אבל היא ההבדל בין חזרה לאחור בשעה לבין שחזור מגיבוי ביום שלם. גם שינויי סכמה בייצור מתנהלים לפי אותו עיקרון: שינוי תואם לאחור תחילה, פריסה, ורק אז הסרת הישן.
מה השתנה עם מסדי נתונים מנוהלים
שירות מנוהל בענן לוקח על עצמו התקנה, תיקוני אבטחה, גיבויים אוטומטיים והחלפה אוטומטית. מה שהוא לא לוקח: תכנון סכמה, ניסוח שאילתות, אינדקסים, החלטה על יעדי שחזור, בקרת עלות ותרגילי שחזור אמיתיים.
הנקודה האחרונה תופסת ארגונים לא מוכנים. גיבוי אוטומטי אינו אותו דבר כמו יכולת שחזור מוכחת, ומי שלא ניסה לשחזר בפועל אינו יודע כמה זמן זה לוקח בנפח שלו. בנוסף, שירות מנוהל מייצר סוג חדש של עבודה: בקרת עלויות. מסד שהוגדר בנדיבות יכול לעלות פי כמה ממה שנדרש, וזיהוי הפער הוא תרומה מדידה. ההקשר הרחב של אחריות משותפת מתואר במה זה DevOps.
הערכת שכר (הערכת שוק)
נאמר בבירור: באתר אין שדה שכר ואין מספרי שכר במשרות. הטבלה הבאה היא הערכת שוק לפי טווחים מקובלים בישראל, ולא נתון שנמדד מהלוח.
| רמה | ותק | הערכת שוק (₪ ברוטו לחודש) |
|---|---|---|
| מהנדס/ת נתונים ג'וניור | 0-2 שנים | 15,000-21,000 |
| Database Engineer | 2-5 שנים | 21,000-31,000 |
| בכיר/ה בתשתיות נתונים | 5-8 שנים | 30,000-42,000 |
| ראש/ת צוות Data Platform | 8+ שנים | 40,000-55,000 |
הגורם שמזיז את הטווח יותר מכל הוא היקף האחריות: מי שאחראי על מסד יחיד לעומת מי שאחראי על פלטפורמת נתונים שמשרתת כמה צוותים. כל המספרים כאן הם הערכת שוק בלבד.
איך נכנסים לתחום בישראל
המסלול הראשון מגיע מפיתוח. מפתח/ת עם שנתיים ניסיון שמפתח/ת עניין בביצועים, לומד/ת לקרוא תוכניות שאילתה ולוקח/ת בעלות על שכבת הנתונים בצוות - זה המסלול הנפוץ ביותר היום.
המסלול השני מגיע מתשתיות. מי שניהל שרתי לינוקס, ניטור וגיבויים מחזיק כבר חצי מהבסיס, וחסרים לו העומק במנוע ובאופטימיזציה. המסלול השלישי מגיע מעולם הדאטה: אנליסטים שכותבים SQL כל היום ועוברים להנדסת נתונים.
מה ששווה להתמקד בו: PostgreSQL, שהפך לברירת המחדל ברוב הסטארטאפים הישראליים והוא הפתוח ביותר ללמידה עצמאית. מעבדה ביתית עם מסד, נתוני דוגמה בהיקף גדול, רפליקציה בין שני מופעים ותרגיל שחזור מתועד היא הדרך המהירה ביותר להביא משהו אמיתי לראיון.
מה פתוח עכשיו
נכון להיום: 36 משרות שמזכירות PostgreSQL ו-28 משרות שמזכירות MongoDB. ההקשר הרחב של אחסון נתונים לניתוח מוסבר במה זה Data Warehouse. המספרים מתעדכנים יומית.
שאלות נפוצות
האם עדיין שווה ללמוד את התחום?
כן, אבל לא כמקצוע נפרד. הידע על ביצועים, על עמידות ועל שחזור מבוקש מאוד, והוא מוכר היום כחלק מתפקידי הנדסת נתונים, תשתיות ו-DevOps. מי שמחפש משרה שנקראת DBA יתאכזב; מי שמחפש לפי הטכנולוגיה ימצא הרבה.
איזה מסד נתונים ללמוד ראשון?
PostgreSQL. הוא נפוץ מאוד בסטארטאפים, פתוח, מתועד היטב, וכלי ניתוח תוכניות השאילתה שלו מצוינים ללמידה. אחריו כדאי להכיר מסד מסמכים ומטמון, כי הארגון הטיפוסי מריץ כמה סוגים במקביל.
מה שואלים בראיון טכני?
שלוש שאלות חוזרות: איך מאבחנים שאילתה איטית שלב אחר שלב; מה קורה כשמישהו מחק שורות בייצור ואיך משחזרים לנקודת זמן; ומתי אינדקס נוסף מזיק. לרוב גם תרגיל SQL על קבוצת טבלאות עם חלונות וצירופים.
צריך לדעת לתכנת מעבר ל-SQL?
כן, ברמה מעשית. פייתון לאוטומציה, סקריפטים לניהול, ולעיתים כלי תשתית כקוד. תפקיד תשתית נתונים היום כולל אוטומציה של הקמה ושל בדיקות ולא רק תפעול ידני.
האם הענן ייתר את התפקיד לגמרי?
הוא ייתר את התחזוקה השגרתית. מה שנשאר, ולעיתים מחריף, הוא תכנון סכמה, ביצועים, בקרת עלות ובעיקר יכולת שחזור מוכחת. שירות מנוהל שמגבה אוטומטית אינו מחליף תרגיל שחזור שנעשה בפועל.
מה ההבדל בין התפקיד למהנדס/ת נתונים?
מהנדס נתונים בונה צינורות שמעבירים ומעבדים נתונים לצורך ניתוח; מי שמחזיק את המסד אחראי על המנוע עצמו - זמינות, ביצועים, עמידות. בפועל התפקידים מתמזגים, ורוב המשרות דורשות משניהם.
כמה משמעותית הכוננות?
משמעותית. מסד נתונים שנופל הוא לרוב אירוע מדרגה ראשונה שדורש טיפול מיידי בכל שעה. שווה לברר בראיון את תדירות הסבב, מי נמצא בו, וכמה אירועים היו בפועל ברבעון האחרון - התשובה מלמדת גם על יציבות המערכת.