האם SQL תהיה איתנו לנצח?

האם שפת השאילתות SQL למסדי נתונים עדיין יכולה להתמודד עם הדרישות העצומות בעידן הנוכחי, וכיצד מפתחי ה-NoSQL מתכוונים להרחיב את היקף השימוש בטכנולוגיה?

ליאור תגור, מנכ"ל קאוצ'בייס ישראל.

במשך עשרות שנים, עוד משנות ה-70' של המאה הקודמת, היו מסדי נתונים רלציוניים הסטנדרט הכמעט יחידי למסדי נתונים. לאורך כל השנים שימשה שפת SQL פתרון יציב, קל לשימוש, אמין ומוכר מאוד, כפי שיעידו מיליוני מפתחים ומנהלי מסדי הנתונים בכל העולם. שפת SQL הייתה פורצת דרך, ולא סתם – זו השפה של מסדי הנתונים הרלציוניים, שהיו המנוע מאחורי הנתונים של כל ארגון, גדול כקטן, במשך עשורים רבים. אבל בשנת 2009 החלו להתפתח מערכות שאינן רלציוניות, המכונות NoSQL.

עומד במבחן הזמן 

האקו-סיסטם של כלי SQL, אשר כולל כל דבר מאקסל ועד Spark SQL, נמצא בשימוש על ידי יותר מ-60% מהארגונים בעולם. הישג מרשים ביותר, במיוחד אם מתחשבים בעובדה שהשפה חגגה 48 אביבים לא מזמן. אבל זה לא תמיד היה כך. לפני כעשור היו כאלה שסברו, שמסדי נתונים רלציוניים, ואיתם שפת SQL, מתקרבים לקיצם. לכולם היה ברור, שהמערכות הרלציוניות לא נבנו לעידן החדש, שבו כמות עצומה של משתמשים ושירותים מחוברים למערכת, ובהתאם – מייצרים כמות מידע עצומה במהירות רבה. גם הרצון לספק חוויית שימוש מהירה וחלקה, לתמוך בגידול מהיר (Scale) והמעבר למתודולוגיות פיתוח מהיר (Agile) – כל אלה הובילו לעלייתו של דור חדש של מערכות מסדי נתונים – מערכות NoSQL. מערכות אלה פותחו כדי להשתחרר מהמגבלות של מסדי הנתונים הרלציוניים, וכיום הן מהוות נתח שוק הולך וגדל בשוק מסדי הנתונים.

אפילו עלייתן של מערכות ה-NoSQL, אשר רובן אינן תומכות בשפת SQL, לא באמת שינתה את ההעדפה של קהילת המפתחים להמשיך ולהשתמש בשפת SQL

שיתוף פעולה במקום תחרות

למרות עלייתן של מערכות NoSQL, המערכות הרלציוניות המסורתיות עדיין מהוות את נתח השוק העיקרי בשוק מסדי הנתונים. הסיבה העיקרית לכך היא, שרוב מסדי נתונים מסוג NoSQL אינם תומכים באופן טבעי בשפת SQL. למעשה, שפת התשאול SQL היא אחת הסיבות העיקריות שבגינה משתמשים נשארו נאמנים לאורקל, SQL Server ודומיהן. אין שפת שאילתות אשר מסוגלת לבטא אילו נתונים צריך לקרוא, לשנות או לייצא, כפי ש-SQL יכולה, והיא עושה זאת באופן מדויק וידידותי. גם אין שפה אחרת אשר נתמכת בצורה כה נרחבת על ידי כלים שונים, מערכות הפעלה, קונקטורים ושפות תכנות ומוכרת היטב לקהילת המפתחים. כמעט יובל של שימוש הוא כנראה ההוכחה הטובה ביותר לכך.

אפילו עלייתן של מערכות ה-NoSQL, אשר רובן אינן תומכות בשפת SQL, לא באמת שינתה את ההעדפה של קהילת המפתחים להמשיך ולהשתמש בשפת SQL. זאת הסיבה שבגינה כמה יצרני מערכות NoSQL החלו להציג תמיכה מלאה או חלקית בשפת SQL במוצריהן. הללו מספקים מודל נתונים גמיש, תמיכה טבעית בפורמט JSON, ביצועים יוצאי דופן ואפשרות לגדול – לצד השימושיות שמעניקה SQL. מערכות אלה מאפשרות לבצע מיליוני פעולות בשנייה, ובמקביל להריץ אלפי שאילתות תובעניות – הכל באמצעות SQL.

לצד מערכות אלו, נוסף סוג חדש של מסדי נתונים, אמנם רלציוני, אך מספק סקלביליות על ידי ביזור נתונים. מערכות אלו מכונות NewSQL. מערכות NewSQL מעדיפות את המבנה הטבלאי ואינן תומכות באופן טבעי במודל נתונים גמיש. עם זאת, הן מאפשרות להריץ את מסד הנתונים על מערכות מבוזרת (Clusters) הניתנות להרחבה, ובכך מאפשרות ליותר תהליכים לגשת למידע במקביל.

ל-SQL עדיין יש פוטנציאל גדול

גם ענקיות הטכנולוגיה המובילות הבינו היטב את הפוטנציאל של SQL. אמזון מציעה לאחרונה שפה בשם PartiQL, הדומה מאד ל-SQL (אם כי לא מספקת את הפונקציונלית המלאה של SQL) ומאפשרת באמצעותה גישה לנתונים במערכת ה-NoSQL שהיא מציעה בשירות הענן שלה. במאמר שפורסם על ידי גוגל ב-2017, הסבירה ענקית הטכנולוגיה מדוע היא יצרה את מערכת ה-NewSQL שלה. הסיבה לכך הייתה פשוטה – היא נדרשה לשפת שאילתות חזקה, שתסייע לה להתגבר על קשיים רבים שמפתחי אפליקציות OLTP התמודדו איתם.

כיום, SQL עודנה שפת השאילתות המובילה הודות ליכולותיה, והיא ממשיכה להתפתח ולהתאים את עצמה לדרישות העולם המודרני, זאת באמצעות חידושים כמו ++SQL, אשר מציעה את מלוא הפונקציונליות של SQL יחד עם תמיכה מלאה במידע המאוחסן בפורמט JSON. בסיס המשתמשים העצום של SQL ימשיך להיות המנוע העיקרי להתפתחותה ולשיפורה של השפה – גם בגילה המופלג.

 

הכותב הוא מנכ״ל קאוצ'בייס (Couchbase) ישראל, רוסיה ומדינות CIS, המפתחת פלטפורמת נתונים NoSQL, המתאימה ליישומים שבהם יש חשיבות רבה לביצועים גבוהים. שפת התשאול של קאוצ'בייס היא SQL.

 

תגובות

(0)

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *

אין לשלוח תגובות הכוללות דברי הסתה, דיבה, וסגנון החורג מהטעם הטוב

אירועים קרובים