PracticU

CLR - יתרונות וחסרונות

בלי כתוביותעם כתוביות
PracticU › קורס DBA אפליקטיבי - שפת SQL למתחילים › CLR - יתרונות וחסרונות
מילון מושגים:
CLR - סביבת הריצה של .NET שמריצה את הקוד, מנהלת את הזיכרון ומטפלת בשגיאות (Common Language Runtime).
פרוצדורה מאוחסנת - קטע קוד SQL שמור במסד הנתונים שאפשר להפעיל לפי שם, לביצוע חוזר של פעולות על הנתונים.
SQL Server - מערכת ניהול מסדי נתונים יחסיים של מיקרוסופט, הנשלטת בשפת T-SQL.
.NET - פלטפורמת פיתוח של מיקרוסופט להרצת יישומים בשפות כמו C#, הכוללת ספריות וסביבת ריצה משותפות.
מערך - מבנה נתונים שמאחסן אוסף ערכים מאותו סוג ברצף, שאפשר לגשת אליהם לפי מספר מיקום (אינדקס).
מחלקה - תבנית בתכנות מונחה עצמים שמגדירה אילו נתונים ופעולות יהיו לאובייקטים שנוצרים ממנה.

CLR - יתרונות וחסרונות
השיעור מסכם מתי כדאי לכתוב לוגיקה כ-Stored Procedure בתוך SQL Server, ומתי להעביר אותה לקוד .NET דרך CLR. כמעט כל קוד אפשרי בשתי הסביבות, והשאלה היא איפה הוא נוח ונכון יותר.
השלבים העיקריים
1. חוזק של .NET: מגוון מבני בקרה כמו WHILE, SWITCH, DO-WHILE ו-IF, וגם מערכים, אוספים ומחלקות. יש גם אפשרות לעבודה מקבילית על כמה מעבדים.
2. חולשה של .NET: פתיחה וסגירה של החיבור לדאטאבייס נעשות ידנית.
3. חוזק של T-SQL: השרת כבר מחובר למסד הנתונים, ושליפה ופעולות DML נוחות יותר.
4. חולשה של T-SQL: מבני ההחלטה מצומצמים יותר, ואין מערכים, אוספים או מחלקות.
5. כלל אצבע: אם התהליך מורכב מבחינה לוגית, מעדיפים .NET. אם התהליך מעביר כמות גדולה של נתונים, בשליפה או בעדכון, מעדיפים Stored Procedure.
שימו לב
שני השיקולים המרכזיים הם מורכבות הלוגיקה וכמות הנתונים שעוברים בתהליך.
בסיום תוכלו להחליט איפה לכתוב תהליך: בתוך ה-SQL Server או בקוד .NET.

פרקי ההרצאה: CLR - יתרונות וחסרונות

  1. 00:00

    כלל אצבע: Stored Procedure או CLR

  2. 00:55

    אותו קוד ניתן לכתוב בשתי הסביבות

  3. 01:34

    זרימת בקרה ומקביליות בתוך .NET

  4. 02:12

    יתרונות T-SQL בשאילתות ו-DML

  5. 02:48

    שיקולי תעבורת נתונים ומורכבות לוגית

תמלול ההרצאה: CLR - יתרונות וחסרונות

הטקסט המלא של הדקות הראשונות בהרצאה «CLR - יתרונות וחסרונות» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:19

    מכאן חברים וחברות, אחרי שראינו את האפשרות לקרוא מתוך Store Procedure ב-SQL Server לפונקציה שרשמתי אותה דוטנטית בתוך ה-C-Sharp, נשאלת השאלה מה יהיה בעצם הכלל אצבע או מה הם יהיו הפרמטרים שבאמצעותם אני אוכל להחליט האם לכתוב Store Procedure פנימי בתוך ה-SQL Server או שמא ללכת על פונקציה בתוך הדוטנט.

  2. 00:45

    את הכללים הללו אני סיכמתי לפניכם בשקף הבא. שימו לב שהשקף הזה בעצם מסכם את הנקודות חוזקה וחולשה של כל אחת מן האפשרויות שמוצגות לפנינו.

  3. 00:59

    בגדול כל קוד שנוכל לכתוב אותו בתוך ה-tsql אנחנו נוכל גם לכתוב אותו בתוך ה-dotnet ולהפך, אולם השאלה היא מה תהיה הנוחות המרבית יותר ומה תהיה ההחלטה הנכונה יותר היכן בכל זאת לעשות זאת.

  4. 01:14

    הדוטנט בעצם החולשה שלו זה שאני צריך לבצע פתיחה וסגירה של קונקשן בצורה ידנית ה-tsql בהיותו בתוך ה-sql סרבר כבר מחובר לתוך הדאטה בס וזה נקודת חוזק לטובת ה-tsql לעומת זאת הדוטנט נותן לי גוד קונטרול פלואו ומולטי פרוססור אני יכול לעבוד בצורה מקבילית וגם אנחנו יכולים להשתמש בהרבה מאוד אובייקטים

  5. 01:43

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

  6. 02:05

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

  7. 02:23

    מנגד, היתרון של העבודה מול 2SQL, ה-good-quering-data יש לי אפשרות לשלוף נתונים בצורה נוחה יותר, פעולות ה-DML וה-quering הן הרבה יותר נוחות לבצע מתוך ה-TSQL, מתוך הדאטאבס עצמו, ולא לעשות אותם מתוך הדוטנט.

  8. 02:43

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

  9. 03:02

    ככל שהתהליך יצריך לי תעבורה גדולה יותר של נתונים, הן בשליפות הן במניפולציה,

לקורס המלא: קורס SQL ו‑DBA אפליקטיבי

ההרצאה הקודמת: CLR - פונקציה עם פרמטרים - חלק 2

ההרצאה הבאה: ייבוא נתונים - מאקסל ל-SQL

הרצאות קשורות מקורסים אחרים

  • Mutable - יתרונות וחסרונות
  • יתרונות של MongoDB
  • מבוא - יתרונות הענן
  • יתרונות של Azure

קורסים נוספים במסלול

  • קורס NoSQL - MongoDB
  • קורס SSIS
  • קורס BI - ניתוח מסדי נתונים - Qlik Sense
  • קורס Power BI