top of page

Search Results

41 results found with an empty search

  • איך ארגון גלובלי עבר מיגרציה מ-MSSQL ל-Snowflake – בלי לפגוע באיכות הדאטה? הכירו את quilliup

    פרויקטי מיגרציה של דאטה הם לא רק עניין טכני – הם רגע האמת של מערכות המידע הארגוניות. כשמדובר בארגון גלובלי, עם מיליוני רשומות, מערכות קריטיות, ולקוחות פעילים בכל העולם – כל טעות קטנה עלולה להוביל לנזק תפעולי, תדמיתי ועסקי. כאן בדיוק נכנס לתמונה quilliup  – הפתרון האולטימטיבי לבקרת איכות דאטה בתהליכי מיגרציה מורכבים. על הפרויקט במסגרת פרויקט מיגרציה רחב היקף שביצענו עבור חברת טכנולוגיה גלובלית מובילה בתחום ה ecommerce  (שם שמור במערכת), בוצע מעבר מקצה לקצה מסביבת MSSQL  לפלטפורמת הענן Snowflake . מדובר בתהליך שכלל: המרה של תהליכי SSIS לפלטפורמת Rivery  לטובת Ingestion ועיבוד הנתונים רפליקציה/העתקה של שכבת ה ODS וה DWH לתוך סנופלייק. עבודה מקבילית  של צוותי הפיתוח, לצורך האצה וייעול של מהלכי ההמרה והטעינה. שלב קריטי של בדיקות איכות נתונים , שבוצע באופן אג'ילי תוך כדי חיי הפרויקט ובמיוחד בשלב למה quilliup? עם השלמת ההמרה והרפליקציה, הגיע השלב הרגיש ביותר – שלב הבדיקות. כדי לאמת את אמינות הדאטה, לוודא אפס חריגות, ולזהות פערים – נדרש כלי עוצמתי, חכם, מהיר ואוטומטי.  quilliup  סיפק לנו בדיוק את זה – ואפילו יותר. היתרונות המרכזיים: ✔ השוואת דאטה בין מקורות שונים (MSSQL ו-Snowflake)  ✔ הרצה מקבילית של בדיקות בקנה מידה עצום  ✔ תיעוד מובנה ומאובטח של כל תוצאה – לתחקור עתידי  ✔ אינטגרציה חלקה עם תהליכי CI/CD  ✔ יכולת לזהות פערים מורכבים שלא נראים לעין אנושית סוגי הבדיקות שבוצעו: השוואת סכמות (Schema Validation)  וידוא שהמבנה הסכמטי של הטבלאות נשמר 1:1 – כולל טיפוסים, אינדקסים, אילוצים ועוד. שלמות מפתחות (Data Integrity)  ווידוא שהקשרים הלוגיים בין הטבלאות (Foreign Keys, Primary Keys) לא נשברו. בדיקות אגרגציה (Aggregated Validation)  בדיקה של סכומים, ממוצעים ונתונים מחושבים – כדי לוודא שלא הייתה פגיעה בנתוני אמת. השוואת RAW DATA  בדיקה מדוקדקת של שורות נתונים בודדות – אחד לאחד – כדי לזהות חריגות, הכפלות או חסרים. ממצאים שנמצאו בזכות quilliup: רגישות לאותיות גדולות/קטנות שלא טופלה נכון (Case Sensitivity). מפתחות חסרים בטבלאות משויכות. הבדלים ברמת הדיוק המספרי (Precision Mismatch). כל אחד מהפערים תועד, תוחקר ונסגר באופן מהיר – הודות לאפשרות של quilliup לשמור את כל תוצאות הבדיקות בבסיס נתונים חיצוני, נגיש ומנותח. בשורה התחתונה ב quilliup  יוכלו ארגונים להשלים את המיגרציה ל-Snowflake בביטחון מלא  – בלי לוותר על אמינות, עקביות ואיכות הדאטה. השילוב בין בדיקות אוטומטיות, דיווח מובנה, וזיהוי פערים בזמן אמת – הפך את התהליך למהיר, שקוף ואפקטיבי במיוחד.

  • פרטיות, שיתוף פעולה וניתוחי משנה במדעי החיים: היכרות עם חדרי הנתונים הנקיים של Snowflake

    בעולם מדעי החיים, שבו ניתוח נתונים הוא מפתח להאצת מחקר ופיתוח, שמירה על פרטיות המטופלים היא ערך עליון. ככל שארגונים משתפים יותר מידע כדי להגיע לתובנות משותפות, כך גובר הצורך בטכנולוגיות שמאפשרות שיתוף מבוקר ובטוח של נתונים רגישים – מבלי לפגוע בציות לרגולציות או בביטחון המידע. חברת Snowflake מציעה פתרון מתקדם וחדשני: Data Clean Rooms – חדרי נתונים נקיים. מדובר בסביבות שיתופיות מאובטחות שמאפשרות ניתוח משותף של מידע בין ארגונים, ללא חשיפת פרטים מזהים וללא צורך בשכפול הנתונים. מהו חדר נתונים נקי? חדר נתונים נקי הוא אזור עבודה וירטואלי שבו גופים כמו חברות תרופות, מוסדות מחקר ובתי חולים יכולים להריץ שאילתות אנליטיות על מידע משותף, תוך שמירה מלאה על פרטיות. המידע נשאר בכל אחד מהארגונים, אך ניתן להפיק ממנו תובנות משותפות באמצעות: אנונימיזציה בזמן אמת (On-query anonymization) טוקניזציה של מזהים רגישים מדיניות הרשאות מוגדרת מראש יתרונות לחברות בתחום מדעי החיים אסטרטגיות אנונימיזציה מתקדמות חדרי הנתונים מאפשרים למסך/להצפין מידע בזמן אמת, מבלי להעתיק או לעבד אותו ידנית מראש. כך ניתן לשמור על פרטיות, למנוע זיהוי חוזר, ולהפחית את התלות באנונימיזציה ידנית שהייתה נהוגה בעבר. ניתוחים גלובליים ברמת הארגון באמצעות סביבה מאובטחת, ניתן לשתף מידע בין צוותים ואפילו בין ארגונים שונים, מבלי להעביר קבצים או לשכפל תתי-מאגרים. זה מזרז תובנות – בלי לפגוע בהנחיות הרגולציה או בהגבלות גיאוגרפיות. חיסכון באמצעות מניעת כפילויות באמצעות ניתוח חפיפות בין מאגרי מידע, ניתן למנוע רכישת נתונים חופפים מספקים שונים, ולהרחיב את מדגם המטופלים הייחודי בצורה חסכונית. הרחבת קבוצות מטופלים באמצעות טוקניזציה ניתן לשלב מידע ממקורות שונים – EHR, תביעות ביטוח, תמותה ודיווחים עצמיים – גם כשאין מזהה משותף, ולבנות קבוצות מחקר עשירות ומעמיקות תוך שמירה על פרטיות מלאה. ניתוחי משנה: ערוץ חדש לתובנות רפואיות חדרי נתונים נקיים תומכים גם בביצוע ניתוחי משנה (Secondary Analysis) – פעילות שצוברת תאוצה בקרב חברות פארמה, במיוחד לאור המעבר לרפואה מותאמת אישית וממוקדת-מטופל. מה זה ניתוח משנה? מדובר בשימוש חוזר בנתונים קיימים – לדוגמה נתוני ניסויים קליניים, תביעות ביטוח או נתוני עולם אמיתי – כדי להפיק תובנות נוספות, מעבר לשאלות המחקר המקוריות. כיום, נתונים שמגיעים מהמטופלים עצמם (PGHD) מהווים מקור יקר ערך להבנת דפוסי טיפול ומחלה. שימושים עיקריים של ניתוחי משנה בשרשרת הערך הפארמצבטית מיקוד מטופלים מדויק שימוש באנליטיקה חזויה לזיהוי תתי-אוכלוסיות מתאימות לטיפולים ממוקדים – מה שמוביל לשיפור בתכנון ניסויים קליניים ובגיוס מטופלים איכותיים. התאמה מחדש של תרופות והתרחבות לשווקים חדשים באמצעות שילוב נתונים קליניים עם מידע גנומי ואחר, ניתן לזהות התוויות חדשות לתרופות קיימות – ולפתוח שווקים חדשים תוך חסכון משמעותי בעלויות פיתוח. מחקרי דבקות ויעילות טיפולית נתונים משניים משמשים להשוואה בין תרופות שונות ולמדידת היענות מטופלים לטיפול – לרוב בהתבסס על נתוני תביעות בריאות. תמחור ואסטרטגיות החזר שימוש בנתוני עולם אמיתי (RWD) לצורך מחקרים כלכליים-רפואיים (HEOR) מדגים את הערך הקליני בפועל של טיפולים תרופתיים, ותומך בהחלטות תמחור והחזר מול גופים רגולטוריים. סיכום חדרי הנתונים הנקיים של Snowflake מביאים עידן חדש של שיתוף פעולה בטוח, ניתוח מידע רחב היקף, ותובנות קליניות מעשיות – תוך שמירה על פרטיות, רגולציה, ואבטחה מלאה. הם מאפשרים לארגוני פארמה, מחקר ובריאות לממש את מלוא הפוטנציאל של הנתונים שברשותם, ולהוביל את הדור הבא של חדשנות רפואית. 🔗 למאמר המלא באתר Snowflake:   https://www.snowflake.com/en/blog/data-privacy-life-sciences-clean-rooms

  • סנופלייק תחסום אימות מבוסס סיסמה בלבד החל מאפריל 2025

    סנופלייק הכריזה כי החל מאפריל 2025, תחסם האפשרות להתחבר באמצעות אימות מבוסס סיסמה בלבד  (Single-Factor Authentication). תרגמנו עבורכם את הנחיות סנופלייק והוספנו הערות ותובנות. מסמך המקור בקישור הזה רמת ההגנה המוגברת הזו מחזקת את יכולות האבטחה  של Snowflake Horizon Catalog , ומאפשרת למנהלי אבטחה ולקציני אבטחת מידע לשפר את המוכנות הארגונית לאיומים ולצמצם את הסיכון לגניבת אישורים (Credentials Theft) . שינוי זה מגיע לאחר ההכרזה הקודמת שלנו כי החל מאוקטובר 2024, אימות רב-גורמי (MFA) יהפוך לברירת המחדל עבור כל התחברות עם סיסמה  בחשבונות חדשים ב-Snowflake. מעבר הדרגתי לחסימת אימות מבוסס סיסמה בלבד כדי להבטיח מעבר חלק לכל הלקוחות, השינוי יתבצע בהדרגה בשלושה שלבים : אפריל 2025 – הפעלת מדיניות אימות ברירת מחדל (MFA חובה למשתמשים אנושיים) בשלב זה, Snowflake תאפשר לכל החשבונות את מדיניות האימות ברירת המחדל שלה, המחייבת MFA בהתחברות מבוססת סיסמה עבור משתמשים אנושיים. משתמשים אנושיים ללא מדיניות אימות מותאמת אישית   יידרשו להירשם ל-MFA  עם התחברותם הבאה באמצעות סיסמה. אם לחשבון כבר יש מדיניות אימות מותאמת אישית , חוויית ההתחברות לא תשתנה . חסימה של גישה ל-Snowsight עבור משתמשי LEGACY_SERVICE. אוגוסט 2025 – חובה על כל המשתמשים האנושיים להשתמש ב-MFA בשלב זה, גם אם מוגדרת מדיניות אימות מותאמת אישית, כל המשתמשים האנושיים  יידרשו להשתמש ב-MFA  בעת התחברות עם סיסמה. נובמבר 2025 – חסימה מוחלטת של אימות מבוסס סיסמה בלבד לכל המשתמשים סנופלייק תחסום כל כניסה  למערכת באמצעות אימות מבוסס סיסמה בלבד , ללא יוצאים מהכלל . שימוש במשתמשי LEGACY_SERVICE יופסק, וכל המשתמשים שהוגדרו תחת LEGACY_SERVICE יועברו אוטומטית ל-SERVICE. מה לא ישתנה? מדיניות זו אינה משפיעה  על: משתמשי Single Sign-On (SSO)  – המשתמשים ב-SAML או OAuth. משתמשים המתחברים עם Key-Pair Authentication (אימות באמצעות מפתחות הצפנה). איך להתכונן לשינוי - שימו לב כדי להקל על המעבר, Snowflake פרסמה מדריכים וכלים שיעזרו לכם לבצע את ההתאמות הנדרשות: מסמך טכני (White Paper)  ומדריך וידאו המפרט כיצד לבצע את המעבר . - מומלץ מאד - קישור *אנחנו ממליצים בחום לקרוא את המסמך המצוין ו/או לצפות בסרטון של סט׳ יוסוף המקצוען (מתחיל בדקה 09:19): הפעילו את Threat Intelligence Scanner  – סורק חדש ב-Snowflake Trust Center שיכול לזהות משתמשים בסיכון לאובדן גישה. סנופלייק עובדת עם שותפים  – כולל שיתוף פעולה עם Tableau  כדי להבטיח שהתממשקות כלי BI וניתוח נתונים תואמת לדרישות האימות החדשות. עקבו אחר הפרסומים של טאבלו לטובת הפעלת השינוי. מה עליכם לעשות עכשיו? התחילו להשתמש ב-MFA עבור כל המשתמשים האנושיים הגדירו Single Sign-On (SSO) לארגון שלכם באמצעות SAML או OAuth. עברו לאימות עם Key-Pair Authentication  עבור משתמשי מערכת (Service Users). השתמשו ב-Trust Center Threat Scanner  כדי לזהות משתמשים שעלולים לאבד גישה. ודאו שכל האפליקציות המתחברות ל-Snowflake מתעדכנות  כדי להימנע מהתלות ב-LEGACY_SERVICE. סיכום סנופלייק תחסום התחברות עם סיסמה בלבד עד נובמבר 2025. הפעלת MFA יהפוך לחובה  לכל המשתמשים האנושיים כבר מאוגוסט 2025. משתמשי שירות חייבים לעבור לאימות חזק  (SSO או מפתחות הצפנה). כלים ותמיכה זמינים  כדי לסייע ללקוחות במעבר. אם הארגון שלכם משתמש באימות מבוסס סיסמה בלבד, זה הזמן לפעול ולעבור לשיטות אימות מאובטחות יותר. לקוחות Vision.bi מוזמנים לפנות אלינו בכל שאלה בנושא. נספחים והערות נוספות 1. מערכות שאינן תומכות באחת מהשיטות במידה ואתם עובדים עם מערכת שאינה תומכת באימות מבוסס Key-Pair או Auth0, יש ליצור עבור המערכות הללו משתמש מסוג LEGACY_SERVICE . משתמשים אלו יוכלו להתחבר עם סיסמה עד נובמבר 2025 בלבד. שינוי משתמש למשתמש מערכת: ALTER USER [USER_NAME] SET TYPE = LEGACY_SERVICE; לצפייה במשתמשי מערכת (לגאסי): SHOW USERS; SELECT * FROM TABLE(RESULT_SCAN(LAST_QUERY_ID())) WHERE "type" = 'LEGACY_SERVICE'; 2. עבור משתמשים אנושיים עם SSO שמופיעים ב-Trust Center משתמשי SSO  – יכולים להמשיך להיכנס ללא שינוי, אך אם הם מופיעים כ- CRITICAL  ב- Trust Center , זה מעיד על כך שסיסמה עדיין מוגדרת להם. במצב כזה, יש להסיר את הסיסמה כדי למנוע אפשרות התחברות באמצעות כלים חיצוניים. הסרת סיסמא למשתמשי SSO: ALTER USER "[USER_NAME]" UNSET PASSWORD; להרצה על מספר משתמשים העתיקו את הפקודה מעמודת execute_sql. *שימו לב שהשאילתא מחזירה את כל המשתמשים שאינם SERVICE - התאימו אותה לצרכים שלכם: SHOW USERS; SELECT "has_password", "name", "owner", "type", concat('alter user "', "name", '" unset password;') AS execute_sql FROM TABLE(RESULT_SCAN(LAST_QUERY_ID())) WHERE "has_password" = true AND ifnull("type",'') != 'SERVICE';

  • טאבלו 2020.2 היא לא עוד גרסה

    נראה שסוף סוף מישהו הבין שנדרש שינוי. בגרסה החדשהֿ טאבלו הוסיפו רמה של relation בין מקורות. זה לא Join אלא קשר בין שני Data Sets, ובשעה טובה ניתן לחבר שני מדדים בגרנולריות שונה ולהציג אותם אחד ליד השני באותו דוח. האמת רצינו לצאת בפוסט דרמטי שאומר שסוף סוף יש שכבה סמנטית בטאבלו. אז לא, זו לא שכבה סמנטית, וההודעה קצת פחות דרמטית, אבל בהחלט שינוי כיוון משמעותי שיביא איתו כנראה עוד הרבה בהמשך. בדקנו את ה-relations החדשים שיש בגרסת טאבלו 2020.2, שם קוד Noodle. שימו לב שהגרסה עדיין בבטא. אלו המסקנות. טאבלו במשך שנים עמדה מאחורי התפיסה שאין צורך בשכבה סמנטית. המוצר שהתחיל מכלי תחקור למשתמשי קצה והפך עם השנים להיות הכלי הטוב בעולם לתחקור נתונים, עמד מול כל כלי האנטרפרייז, עם מודלים מורכבים מאד של מידע וטען שאין בכך צורך. הגישה הזו אילצה אותנו לא מעט פעמים לעקם את הפתרון כדי להתאים למגבלה, כי מצד אחד זהו באמת כלי התחקור הכי טוב שיש, מצד שני במודלים מורכבים מצאנו את עצמנו מייצרים Data Sources שונים ומחברים את המידע ב-Data Blending ברמת הדוח, וזהו כמובן חסרון מכיוון שנדרש לעשות זאת בכל דוח שמציג נתונים ברמות גרנולריות שונה. אז מהו בכל זאת השינוי הגדול? נוספה רמה של קשרים בין מה שנקרא בגרסאות קודמות data sources. בגרסאות קודמות, כל data source היה מכיל join בין טבלאות פיזיות כך שהייתה נוצרת טבלה אחת משוטחת. וכל טבלה שלא יכלה להתחבר עם Join כלשהו באותו data source חייבה יצירה של data source חדש. לעומת זאת בפיצ'ר החדש - אפשר לחבר בין מספר טבלאות לוגיות. כל טבלה לוגית מכילה קשרים של join בין טבלאות פיזיות. כל data source יכול היה לכיל מספר טבלאות לוגיות שלא מתחברות ב-join  אחת עם השניה אלא באמצעות Noodle - קשר יחיד לרבים, יחיד ליחיד או רבים לרבים. הבשורה היא שטאבלו לא משטח את כל הקשרים לטבלה אחת גדולה אלא טוען כל טבלה לוגית בנפרד ועדיין אפשר ליצור אינטרקציה בין טבלאות לוגיות אלה. ולא פחות חשוב, ניתן לחבר שני מדדים בגרנולריות שונה וטאבלו לא יכפיל את הרשומות. למשל במצב של שורת חשבונית ופריטים בחשבונית. בגרסאות קודמות, אם היינו שמים את טבלת חשבונית וטבלת פריטים בחשבונית באותו data source, אז הגרנולריות של חשבונית הייתה נשברת לפי פריטים ושורות החשבונית היו משתכפלות. לעומת זאת, במודל החדש, ה- Noodle מאפשר חיבור בין שתי הטבלאות כך שנשמרת הגרנולריות של כל אחת ואז הנתונים לא משוכפלים, מכאן שאפשר לחבר שתי טבלאות fact עם מימד אחד משותף ועדיין לשמור על הגרנולריות של כל אחד מה-facts. מה אי אפשר עדיין? אי אפשר לחבר שתי טבלאות fact עם יותר ממימד אחד משותף. כלומר אם יש מספר מימדים המשותפים לשני facts, לא נוכל לחבר אותם האחד לשני דרך המימדים אלא נצטרך ליצור מכל המימדים המשותפים מימד אחד ורק אז נוכל לחבר אותו עם הfacts. איך זה משפיע עליכם? בכל פעם ששיטחתם את המידע לטבלה אחת גדולה, ניתן לחזור למודל רגיל ופשוט יותר בכל מקום שהשתמשתם בפונקציית LOD בעקבות גרנולריות שונה בין טבלאות, מומלץ לעבור למודל החדש . LOD היא פונקציה מאד יקרה בהיבט של ביצועים. אם יש לכם מספר facts שלהם מימד אחד משותף תוכלו לשים את כולם באותו data source ולחבר אותם עם המימד המשותף. שימו לב רק שאפשר כרגע לחבר מימד אחד בלבד כך שאם יש לכם מספר מימדים משותפים תצטרכו ליצור מהם מימד אחד או לחילופין ליצור מספר data sources כמו שהיה עד כה. ניתן לייצר מעתה קשרים בין טבלאות עם many to many , רק שימו לב שאתם מבינים מה אתם עושים ומציגים מספרים נכונים. צפו בסרטון הבא ותתחילו לבחון איך לאמץ את השינוי אצלכם, זה בהחלט יכול לשפר לכם ביצועים גם בפרויקטים קיימים. https://youtu.be/4ycFnimn8MU מוזמנים לקרוא עוד בפוסט הבא: https://www.tableau.com/en-gb/about/blog/2020/3/now-beta-data-modeling-metrics-and-powerful-analytics-improvements?fbclid=IwAR2tjJ7hbGwr4XEmZFl8nLOuAfYyhUXEjSS194TYalyl6nJMylS7fgDj2iQ&ref=blog.vision.bi קדימה טאבלו, נשאר רק להוסיף טעינה אינקרמנטלית :-)

  • מה ניתן ללמוד מהנתונים על הקורונה?

    מה ניתן ללמוד על הקורונה מהנתונים, איך ההתפרצות נראית ברמה הגלובלית ואיך אנחנו ביחס לעולם. התפנינו רגע לעשות את מה שאנחנו יודעים הכי טוב, עיבוד, ניתוח והצגת נתונים. עם הסרת חלק מההגבלות, חשוב יותר מתמיד לעקוב אחרי נתונים, לראות איך הם מתעדכנים והאם השיא מאחורינו. אז אחרי הטירוף בו היינו בתקופה האחרונה בניהול השוטף של החברה בזמן המשבר הגלובלי, התפנינו רגע לעשות את מה שאנחנו יודעים הכי טוב, עיבוד, ניתוח והצגת נתונים. לקחנו את נתוני ארגון הבריאות העולמי וכתבנו מודל נתונים חי המתעדכן בכל יום אותו נפרסם בהמשך.  בשלב זה אנחנו משחררים את הניתוח הראשוני. הניתוח הבא מתבסס על נתוני ארגון הבריאות העולמיים המתעדכנים אחת ליום. לאנשי דאטה וחובבי התחום נכתוב בקרוב פוסט המתאר את הטכנולוגיות והתהליכים הכוללים עיבוד נתונים, חישובים מעניינים, בסיס נתונים ועוד. בשלב זה נתמקד רק בניתוח הנתונים שנעשה ב-Tableau. הרשמו ב-Subscribe בתחתית הדף כדי לקבל עדכון על פרסום הפוסט הטכנולוגי. לפני שמתחילים! 1. על אנליזות תמיד אפשר להתווכח :-) 2. אנחנו מציגים את הנתונים כפי שהם, לא מתיימרים לחזוות את העתיד. 3. נעשה נרמול של מספר המקרים המאובחנים לגודל האוכלוסיה. כמובן שנתון זה תלוי בכמות הבדיקות, עם זאת ברמה גלובלית המספרים אמורים להתאזן. 4. מוגש כשירות לציבור. מקורות מידע ארגון הבריאות העולמי - דיווח על מקרים מאומתים ונתוני תמותה - ארגון הבריאות העולמי נתוני דמוגרפיה לנירמול המספרים לתושבים - קישור דיווחי סגר והגבלות - ארגון ACAPS דרך ADX - קישור רמת הניתוח נעשתה לפי מדינה ליום . כמובן שבמדינות כמו בארה״ב זה ניתוח גס, כיוון שסביר שגם בתוך ארה״ב ההתנהגות שונה לפי אזורים, אך המטרה כאן היא לתת תמונה גלובלית. מתחילים! עיבוד נתוני הבסיס והעשרת המידע לאחר מספר בדיקות שהנתונים תואמים למספרים שמפורסמים בישראל, נעשו כמה התאמות וטיוב מידע. ימים חסרים הושלמו הוסרו מספר חריגים וכד׳. בשלב שני בוצע איחוד והצלבת שלושת מקורות הנתונים הנ״ל ולבסוף חושבו מספר נתונים ועוגנים שיאפשרו לנו לנרמל את המידע. כמו תאריך התפרצות בכל מדינה, תאריך השיא במספר החולים היומי וכו׳ נרמול הנתונים למליון תושבים, כך שיהיה ניתן להשוות בין מדינות כפי שניתן לראות משמאל מספר המקרים בארה״ב גבוה מאד ומעוות את הנתונים בכל מדינה. כדי לאפשר ניתוח בין מדינות הנתונים נורלמו לפי גודל האוכלוסיה (מימין). וכעת ניתן לראות תמונה אמיתית יותר של אחוז תחלואה בכל מדינה. אפשר לראות למשל את המצב החמור בקטאר שהחמיר רק בשבוע האחרון. נרמול הנתונים לפי שיא ההתפרצות מכיוון שהוירוס מתפרץ במדינות שונות בזמנים שונים, רצינו לנרמל את המדינות לפי תאריך נתוני השיא באותה מדינה. משמאל ניתן לראות את המדינות לפי סדר התפרצות המחלה ומימין הזזנו את ציר הזמן כך שכל המדינות יעמדו בנקודות האפס בשיא ההתפרצות. סיכום התוצאות דוח 25 המדינות עם מספר המקרים הגבוה ביותר 25 המדינות עם ההתפרצות הגבוהה, מנורמלות ליום השיא הנתון הנ״ל קצת מטעה, לא ניתן לסכום מדינות, מכיוון שישנן כאלו שעדיין בשיא ולכן אין להם נתונים מימין לנקודת השיא. לכן יצרנו ממוצע של כלל המדינות (שיש להן נתונים) ומיצענו את המידע עם ממוצע נע. כעת הגרף נראה כמו גלים, כאשר כל גל נראה חלש יותר מהגל הקודם. יתכן בגלל הבנת המצב בכל מדינה והגברת מגבלות התנועה ויתכן כי התפרצות הנגיף נחלשת. אותה התאמה למדינות ה-OECD, מנורמלות ליום השיא גם כאן רואים את אותה התנהגות. מסקנות נראה כי ברמה הגלובלית המגיפה נבלמה. אין אף לא מדינה אחת שמראה כי לאחר ההתפרצות יש השתוללות שאינה מסתיימת. ישנן מספר מדינות כמו שוודיה שנמצאות כרגע בשיאֿ ולא בפעם הראשונה . כלומר רואים שישנם גלים של עליה וירידה בכל 10 עד 20 ימים. יתכן שההתנהגות נובעת מפעולות שנעשו כמו סגר ויתכן שזהו פשוט אופי ההדבקה. בוודאות אין כאן התנהגות אקספוננציאלית , נראה יותר בכיוון של גרף עונתיות כאשר הגל השני חלש יותר מהראשון. כך שכולנו תקווה שהכל יסתיים עם תחילת הקיץ אבל זה לא אומר שלא יכולה להיות עוד התפרצות. מצבה של ישראל ביחס לעולם טוב (ראו ניתוח בהמשך). (אבל!) בהסתכלות על כל המדינות אפשר לומר שהשיא אצלנו אמנם היה נמוך אבל לא רואים כאן איזו גבורה מיוחדת. יש עוד לא מעט מדינות שהמצב שם די דומה. מדינות כמו גרמניה, פורטוגל, שוודיה, טורקיה ועוד, קצת עקפו אותנו בשיא התחלואה, אבל המגיפה נבלמה שם בדיוק כמו אצלנו. לא תזיק למנהיגים שלנו קצת יותר צניעות, המבחן האמיתי שלהם יהיה ביציאה מהמשבר, לא בבלימה של המגיפה. מה קורה בשבדיה? מדינה אחת שונה בהתנהגות שלה מהיתר. שבדיה, המדינה היחידה כנראה ללא סגר, נראית התנהגות דומה בהיבט של גלים עולים ויורדים, אלא שהיא המדינה היחידה שכל גל יותר גבוה מהגל הקודם. אין לדעת לאן זה יתפתח, אבל אם אכן אין שם מגבלות תנועה זה אולי אומר מה היינו צריכים לצפות שיקרה אצלנו ללא סגר. זהו ללא ספק אחד הנושאים המעניינים לעקוב אחריהם. שאלה מתבקשת - האם הסגר הוא זה שבולם את המגיפה? חלק מהנתונים המדווחים הינם מגבלות תנועה. מכיוון שנתונים אלו מתקבלים באופן ידני לא ניתן לומר האם ניתן לסמוך עליהם. אך בכל זאת נרמלנו את הנתונים ליום הסגר הראשון הידוע. זה לא אומר שהסגר התמשך עד היום או כמה ימים הוא ארך, לצורך ניתוח זה נדרשת עבודה עמוקה יותר. מדגם מדינות לפי מספר ימים מהסגר הראשון מסקנות לא ניתן לומר בוודאות כי יש מספר מפתח שלאחריו מגיע השיא וממנו ישנה ירידה. רואים ברוב המקרים שינוי מגמה בין היום ה-10 ל-17 אבל יש גם מדינות כמו פורטוגל שהסגר התחיל ביום של השיא. זה יכול לנבוע גם מכך שנתוני הסגר אינם מדוייקים (בסך הכל זה נתון שקשה לנרמל אותו לכל המדינות). זה ללא ספק אחד הנושאים שיותר חשוב לעקוב אחריהם. ישראל ביחס לעולם ישראל ביחס לעולם - תמותה ביחס לאוכלוסיה בימים אלו רץ בוואטסאפ דוח של ״המטה לבטחון לאומי״, רצינו לבדוק את הדוח שלהם ובסך הכל נראה שהם בסדר שם במטה (למעט העיצוב שטעון שיפור). ״המטה לבטחון לאומי״ - השוואה בין כמות מקרי המוות ביחס לאוכלוסייה מנורמל ל-100,000 ישראל ביחס לעולם - תמותה ביחס למספר מקרים זה המקום להצדיע לרופאים, אחיות וכל כל שירותי הבריאות בארץ. זהו נתון מרשים ביותר! מסקנה המצב בישראל טוב ביחס לאוכלוסיה. משרד הבריאות יכול לשמוח. לגבי משרד האוצר רק ימים יגידו. אחרית דבר לאחר כל הניתוחים והבנת המידע, פרסמנו אפליקציה ב-Tableau המציגה את המידע המתעדכן. מוזמנים להכנס לפוסט הבא המציג את הנתונים העדכניים ומאפשר מעבר בין מדינות. https://blog.vision.bi/visionbi-covid-analytics/ ישנם עוד עשרות ניתוחים שניתן לעשות, גיאוגרפיים, בחיתוך עונות (קיץ חורף ועוד), זה היופי בבניית תשתית נתונים, היא דבר מתפתח שניתן להעשרה ולהרחבה. בתהליך הנ״ל יש עיבוד נתונים אוטומטי ללא מגע יד אדם, לאחר הבניה הראשונה אנחנו פשוט מתזמנים את התהליך ב-Rivery ומתחזקים את הנתונים ב-Snowflake.‌ Vision.bi מתמחה בהקמת פלטפורמות נתונים וביג דאטה לארגונים. אנו עוזרים ללקוחותינו למנף את המידע העומד לרשותם לטובת שיפור התוצאות העסקיות וקבלת החלטות מבוססות נתונים. בין לקוחותינו נמנים בנקים, חברות ביטוח והרבה מהסטארטאפים המובילים בארץ. אנו שותף זהב ומפיץ מורשה של Tableau ומספר טכנולוגיות חלוציות אחרות בתחום. מוזמנים לפנות אלינו כדי ללמוד כיצד אנו יכולים לסייע לכם להפיק תועלות מהמידע הארגוני העומד לרשותכם. הירשמו לבלוג, שילחו לנו מייל לכתובת info@vision.bi או בקרו באתר שלנו https://vision.bi .

  • נתונים מעודדים - מגמת נתוני הקורונה בעולם

    ניתוח נתוני הקורונה בעולם מראה מגמה ברורה של גלים עולים ויורדים, לרוב במגמת ירידה. דלגו בן המדינות לראות מה קורה בכל מדינה. ניתוח של נתוני ארגון הבריאות העולמי מראים תבנית די דומה בין המדינות. על פי רוב, ישנה התנהגות של גלים עולים ויורדים ולרוב במגמת ירידה. הנתונים מעודדים או עצירה בעקבות הסגר? הזמן יגיד, מה שבטוח זה שאין מגמה אקספוננציאלית, גם לא במדינות בהן אין סגר כמו שבדיה. קיראו את הניתוח המלא כאן , לפירוט מלא של עיבוד הנתונים והבהרות נוספות. אנחנו לא מתיימרים לחזות את העתיד אלא מציגים את מה שידוע יום השיא - ישראל בהשוואה ל-25 המדינות עם הכי הרבה מאובחנים התבנית המעניינת שמצאנו היא שכאשר מסדרים את המדינות לפי תאריך שיא המאובחנים הראשון (כלומר התאריך שבו כל מדינה הגיעה לשיא ולאחריו היתה ירידה במספר המאובחנים) רואים מגמה שחוזרת על עצמה בצורה של גלים כאשר כל גל חלק יותר חלש מהגל הקודם. גובה הגרף מציג את ממוצע מספר המאובחנים למליון תושבים. המדינות היחידות שיוצאות מהכלל הן שבדיה (בה לא היה סגר), ארה״ב שיתכן שהניתוח שלה גס מידי בשל גודלה ואנגליה. עברו בעצמכם בין המדינות וצפו במגמה מה קרה בכל מדינה בהשוואה למגמה ב-25 המדינות עם מספר המאובחנים הגבוה ביותר. שיעור התמותה מסך הנדבקים המאומתים ישראל למול 25 המדינות עם כמות החולים הגדולה ביותר. בהשוואה למזרח התיכון מצבנו פחות טוב אמנם אנחנו אוהבים להשוות את עצמנו ל-OECD, אבל אם נשווה את עצמנו לשכנים, מצבנו קצת פחות טוב. הפוסט הבא מתאר את הניתוח המלא, מקורות הנתונים ועוד https://blog.vision.bi/visionbi-covid/ Vision.bi מתמחה בהקמת פלטפורמות נתונים וביג דאטה לארגונים. אנו עוזרים ללקוחותינו למנף את המידע העומד לרשותם לטובת שיפור התוצאות העסקיות וקבלת החלטות מבוססות נתונים. בין לקוחותינו נמנים בנקים, חברות ביטוח והרבה מהסטארטאפים המובילים בארץ. אנו שותף זהב ומפיץ מורשה של Tableau ומספר טכנולוגיות חלוציות אחרות בתחום. מוזמנים לפנות אלינו כדי ללמוד כיצד אנו יכולים לסייע לכם להפיק תועלות מהמידע הארגוני העומד לרשותכם. הירשמו לבלוג, שילחו לנו מייל לכתובת info@vision.bi או בקרו באתר שלנו https://vision.bi .

  • אבטחת / הקשחת סביבת סנופלייק

    -- USERS WITH RISKY AUTHENTICATION METHOD --***************************************** use role accountadmin; With admins as (select GRANTEE_NAME from SNOWFLAKE.ACCOUNT_USAGE.GRANTS_TO_USERS where ROLE in ('ACCOUNTADMIN','SECURITYADMIN') and DELETED_ON is null ), sessions as ( select current_account() company_slug, parse_json(CLIENT_ENVIRONMENT):APPLICATION::string application_full_name , ifnull(regexp_substr(application_full_name,'(VSCODE)\s* (TableauServer)\d*|(TableauDesktop)\d*') , application_full_name) application_name, * From SNOWFLAKE.ACCOUNT_USAGE.SESSIONS Where created_on >= dateadd('d',-90, current_date()) ) Select user_name, application_name, authentication_method, case when admins.GRANTEE_NAME is not null then 'YES' else null end HAS_ACCOUNTADMIN, CASE WHEN HAS_ACCOUNTADMIN = 'YES' and AUTHENTICATION_METHOD = 'Password' Then 'CRITICAL' WHEN AUTHENTICATION_METHOD = 'Password' Then 'HIGH' End Risk , count(*) login_events , datediff('d', max(created_on), current_date()) last_used_in_days from sessions left outer join admins on sessions.user_name = admins.GRANTEE_NAME Where risk is not null group by all order by 1 -- USERS LAST LOGIN IN DAYS --************************* use role accountadmin; WITH admins as ( select GRANTEE_NAME user_name from SNOWFLAKE.ACCOUNT_USAGE.GRANTS_TO_USERS where ROLE in ('ACCOUNTADMIN','SECURITYADMIN') and DELETED_ON is null ), -- Get the last login date for each user last_login_dates AS ( SELECT user_name, MAX(event_timestamp) AS last_login_date FROM snowflake.account_usage.login_history GROUP BY user_name), -- Get all users all_users AS ( SELECT name AS user_name, * FROM snowflake.account_usage.users where not disabled and has_password and deleted_on is null ) -- Find users who have not logged in in the last 3 months SELECT u.user_name, datediff('d',max(ifnull( lld.last_login_date, '2022-01-01')), current_date()) last_login_in_days ,case when admins.user_name is not null then 'YES' else null end HAS_ACCOUNTADMIN ,case when last_login_in_days >= 90 then concat('ALTER USER ', u.user_name, ' SET DISABLED=TRUE;') else null End Action FROM all_users u LEFT JOIN last_login_dates lld ON u.user_name = lld.user_name LEFT JOIN admins ON u.user_name = admins.user_name group by all order by last_login_in_days desc;

  • הקמת פלטפורמת דאטה ו- AI\ML מודרנית

    בשנים האחרונות בינה מלאכותית ולמידת מכונה - AI\ML הינה אחת היכולות המרכזיות אשר גופים עסקיים מנסים לרכוש ולשלב כחלק מהתהליך של הפיכה לגוף מוכוון דאטה (data-driven organization). בואו ללמוד על כך מקרוב הקדמה בשנים האחרונות בינה מלאכותית ולמידת מכונה - AI\ML הינה אחת היכולות המרכזיות אשר גופים עסקיים מנסים לרכוש ולשלב כחלק מהתהליך של הפיכה לגוף מוכוון דאטה (data-driven organization). ברם, משיחות שאנו עורכים עם לקוחות נראה שבפועל מעטים מצליחים להטמיע יכולות אלו ולמנף אותן לשיפור התוצאות העסקיות. בפוסט זה נשתף כמה מהלקחים והקווים המנחים שצברנו בשנה האחרונה לאחר שליווינו בהצלחה גוף עסקי גדול בהקמת תשתית והטמעה של פתרון לצרכי AI\ML. מוטיבציה ואתגרים Enterprise AI הינה היכולת להטמיע AI בליבת אסטרטגיית הדאטה של הארגון. במילים פשוטות, דמיינו שכל תהליך בארגון שלכם - שיווק, מכירות, כספים, מוצר, משאבי אנוש ועוד, משלבים יכולות AI במטרה לשפר את ביצועי הארגון. ברמה הבסיסית ניתן להשיג חיזוי מדויק יותר של תוצאות ואופטימיזציה של תהליכים עסקיים, וברמות מתקדמות יותר להשיק מוצרים ושירותים חדשים מבוססי AIאשר מקנים יתרון תחרותי ולמעשה מייצרים ביזנס חדש על בסיס דאטה ו המוטיבציה אם כן ברורה, ועל מנת להביא את החזון לכדי מימוש ארגונים צריכים להיות מסוגלים להגיע ל scale בשלושה מימדים מרכזיים: טכנולוגיה - Scale טכנולוגי הוא נושא מוכר לרוב, ארגונים צריכים לבחור כלים אשר מאפשרים לחבר בקלות מידע ממקורות שונים (לדוג' - מידע גולמי מה- Data Lake עם מידע סיכומי מה- DWH), לנקות ולטייב את המידע, ולממש מודל סטטיסטי בהתאם לסוג הבעיה. את כל אלו הכלים צריכים צריך לבצע בביצועים טובים ולהיות מסוגלים לתמוך בכמויות דאטה גדולות ועיבודים מורכבים. אנשים - השגת Scale במימד האנושי משמעה במילים פשוטות שכמות המודלים בייצור אינה פונקציה לינארית של כמות ה- Data Scientists בארגון. הסיבה לכך היא ש- data scientists הינם תמיד משאב צר, זו אחת המשרות הנחשקות כיום בתחום והביקוש למומחים אלו גבוה מההיצע. גם אם גודל הצוות מספק את הארגון, לרוב לאחר העברת מודלים לייצור ה- DS מוצאים את עצמם מתחזקים ומשפרים את המודלים הללו ולכן הזמינות שלהם לפיתוח מודלים חדשים הולכת וקטנה. תהליכים - בשונה מתהליכים מסורתיים לבניית מחסן נתונים, תהליך ה- CI/CD של פרויקט AI הינו מורכב וכולל העברה בין סביבות של מספר רכיבים: דאטה, מודל סטטיסטי ולרוב קוד (פייתון לדוג'). מעבר למורכבות הבסיסית, תהליכי AI מאופיינים בדינמיות רבה - המודל יכול לאבד מהדיוק שלו לאורך זמן, הנתונים שעליהם הוא מבוסס משתנים, וגם השאלה העסקית מתפתחת לאורך זמן. כל אלו מחייבים מעקב שוטף ועדכון תדיר של המודל שנבחר, כלומר החזרה של המודל לסביבות נמוכות, ניהול גרסאות ושינויים של המודל, קידום לייצור וחוזר חלילה. משיחות שאנו עורכים עם לקוחות פוטנציאליים וקיימים, ניכר כי מרביתם נתקלים בקשיים בהתמודדות עם הנושאים שצוינו. התוצאה הינה שמשך הפיתוח של מודל AI הינו ארוך יחסית (חודשים ולעיתים אף שנים) וכפועל יוצא מספר רב של מודלים לא מתקדמים מעבר לשלב ה- POC, כאשר מודלים מעטים בלבד מגיעים לבשלות ייצורית. מחזור החיים של פרויקט AI התרשים הבא מציג את מחזור החיים של פרויקט AI טיפוסי, נתאר את הפעילויות המרכזיות והאתגרים בכל אחד מהשלבים על מנת להבין בהמשך מה היכולות הנדרשות מהכלים שייבחרו למימוש. השלבים משמאל לימין: Data Connection & Exploration: בשלב זה מתבצע החיבור למקורות הנתונים אשר אנו מניחים שיוכלו לסייע בבניית המודל. לרוב מדובר במידע גולמי מה- Data Lake ומידע סיכומי מטויב מה- DWH. יתכן שבארגון קיימים כבר פאנלים כלשהם לישויות העסקיות - טבלאות סיכומיות רחבות מאוד (לעיתים אלפי עמודות) אשר מכילות מידע ותכונות לשימוש חוזר בעת בניית המודלים. הצורך המרכזי בשלב זה הינו לגשת למקורות השונים, להבין מה המידע המאוחסן בהם וכיצד ניתן לשלב ולקשר בין המקורות ליצירת פאנל עדכני למודל שאנו מנסים לבנות. Data Preparation & Enrichment: לאחר שהבנו את מקורות הנתונים וכיצד ניתן לקשר ביניהם ניתן להתחיל בהקמת הפאנל הייעודי לצרכינו. בשלב זה האנליסט או ה- DS יכול להעשיר את המידע הקיים באמצעות מידע נוסף אשר אינו קיים במאגרי הארגון (כגון קבצים שהוא מתחזק מקומית). לאחר מכן הוא מבצע תהליך של ניקוי ובניית מאפיינים נוספים ליצירת הפאנל המוגמר אשר עליו ירוץ המודל. Create Models: שלב הקמת המודלים, בשלב זה מגדירים את משתנה המטרה, סוג המודל והאוכלוסייה שבאמצעותה נאמן את המודל. בשלב האימון, המודל שבחרתם, בין אם כתבתם אותו בעצמכם או עשיתם שימוש ב- AutoML, לומד ומצביע על הפרמטרים המשמעותיים ביותר לקביעת התוצאה ובהתאמה מהי רמת הדיוק. במידה שהתוצר משביע רצון ניתן להחיל את המודל על שאר הרשומות שלא השתתפו בשלב הלמידה ולקבל תוצאות חיזוי. לרוב המודל הראשון (וגם השני והשלישי) אינו משביע רצון ומתקיים תהליך של שיפור באמצעות ניסוי וטעייה. חלק מהפרמטרים שניתן לשנות מצריכים גם חזרה לשלבים הקודמים בתהליך כגון הוספת עמודות שלא נכללו בטבלה הסופית, שינוי פרמטרים קטגוריאליים לרציפים (או להפך) ועוד. Productionization: בהנחה שהגענו למודל משביע רצון אפשר להתחיל ולהעביר אותו לסביבות גבוהות יותר - בדיקות, אינטגרציה וייצור. כל התהליך של העברת המודל וניהול מחזור החיים שלו מכונה MLOps וכולל מספר נדבכים. הראשון שבהם הינו העברה בין סביבות, כאשר העברה של מודל AI משלבת מספר רכיבים: דאטה, קוד ומודל סטטיסטי. יתכן שנרצה שהמודל יפעל בזמן אמת (לדוג' - מתן חיווי על זכאות להלוואה בלחיצת כפתור כאשר לקוח מזין פרטים באתר הבנק) ואז ישנה מורכבות נוספת מבחינת ניהול עומסים והתשתית שתשמש בסביבת הייצור לניהול ומענה לקריאות. בנוסף, צריך לזכור שרמת האמינות והדיוק של המודל מושפעים בין היתר מהמידע שמגיע בשוטף וכן מהצורך לאמן ולשפר אותו לאורך זמן. לפיכך, יש צורך לנטר את ביצועי המודל בייצור ובמידת הצורך לעדכן ולשנות את המודל כדי שימשיך להפיק תחזיות ברמת דיוק אופטימלית. Visualize: שלב זה כולל את הנגשת התוצרים למשתמשים, ניתן לעשות זאת במספר דרכים: הקמת דשבורד בכלי ה- BI הארגוני, מתן יכולת קריאה ומענה בזמן אמת באמצעות API, שילוב באפליקציות עסקיות (פנימיות וחיצוניות) ועוד. הדגש בשלב זה הוא לתת גם למשתמשים שאינם בעלי רקע סטטיסטי את היכולת להבין ולסמוך על תוצאות המודל על מנת להטמיע ולהרחיב את השימושיות בו בתהליכים עסקיים. חשוב להדגיש כי כי תוצרי AI הינם דינמיים מאוד מטבעם, בניגוד למשל לפרויקט הקמת מחסן נתונים ארגוני. בפרויקט DWH אנו לרוב מגדירים את מודל הנתונים, תהליכי הטעינה והתוצרים העסקיים פעם אחת, תהליך הפיתוח וההעברה ליצור מוגדרים ומובנים ולאחר העלאה לייצור המודל קבוע יחסית (למעט תחזוקה ושיפורים שוטפים). להבדיל מפרויקט Dwh, בפרויקטי AI  המודל הינו ישות חיה - הוא משנה את טיבו, משתנים חדשים נוספים, האלגוריתם משתנה ועוד. כל אלו מחייבים תנועה תמידית קדימה ואחורה בין השלבים שתוארו וכפועל יוצא - הרבה תשומת לב והקצאת משאבים לכל היבטי ה- MLOps. בפועל, התוצאה הינה שככל שמספר המודלים עולה כך גם התקורות לתחזוקה שוטפת אשר לרוב נופלות על צוות ה- DS, ולכן הצוות הזה מוצא את עצמו לא אחת מתחזק מודלים שכבר עלו לייצור במקום להתמקד בפיתוח מודלים חדשים. יכולות ליבה של פלטפורמת AI מודרנית כאשר אנו ניגשים להעריך ולבחור את הטכנולוגיות אשר באמצעותן נקים את הפתרון, נרצה לבחון מספר יכולות ליבה אשר הפלטפורמה צריכה לספק במטרה לתת מענה לאתגרים שהוצגו. רשימת הפרמטרים יכולה להיות ארוכה ומפורטת, נתמקד כאן ביכולות המרכזיות שיש לבחון. גרטנר פרסמו לאחרונה סקר בנושא יכולות הליבה של פלטפורמות DS ו- ML והצביעו על ארבע יכולות מרכזיות לבחינה: Business and Data Exploration - היכולת לחקור את הדאטה הרלוונטי באמצעות הכלי Citizen Data Science - היכולת של משתמשים שאינם בעלי רקע סטטיסטי / אקדמי לעבוד עם הכלי, לרוב באמצעות ממשק ויזואלי אשר אינו מצריך ניסיון בכתיבת קוד Expert model development - מתן מענה למשתמשים מתקדמים אשר רוצים לפתח מודלים בקוד או לייבא מודלים קיימים מכלים אחרים וכן יכולות deep learning Operationalization - ניהול תהליכי העברה בין סביבות והעלאה לייצור באופן אוטומטי, עד כמה שניתן בלחיצת כפתור. יכולות נוספות שראוי לציין: יכולת להתממשק עם התשתיות המידע הקיימות בארגון תוך העדפה לביצוע Push down לטובת ביצועים ו- scale. ביצוע טרנספורמציות ותהליכים להכנת הנתונים עבור המודל כגון join, sort, filter ועוד. יכולת לארוז את המודל כ- REST API לשימוש ב- real time. משילות: ניהול משתמשים, הרשאות, תיעוד המודל והמרכיבים השונים, הגדרת בקרות על איכות הנתונים וביצועי המודל, יצוא המודל באופן שניתן לפירוש על ידי משתמשים עסקיים (חשוב בעיקר עבור גופים רגולטוריים), ניהול גרסאות ועוד. הצגת סנופלייק ודאטאייקו כאמור, בשנים האחרונות יצא לנו ללוות לא מעט לקוחות בבחינה והטמעה של תשתיות דאטה עדכניות בדגש על סנופלייק. כתבנו על סנופלייק לא מעט כאן בבלוג הטכנולוגי ולכן הפעם נתמקד ביכולות הספציפיות של סנופלייק אשר הופכות אותו לכלי אידיאלי כחלק מפלטפורמת AI/ML. 70-80% מהזמן בפרויקטי AI מוקדש להשגת גישה לנתונים הנכונים, חקירה שלהם והכנת הפאנל הסופי לשלב המידול. אם אתם עובדים עם סנופלייק כ- Data Lake, תוכלו להצליב מקורות מידע גולמיים בקלות ובמהירות ולקצר את משך הזמן הנדרש באופן משמעותי. גם אם יש בארגון Data Lake אחר, מומלץ להסתמך על סנופלייק כפלטפורמת הדאטה לעבודת ה- DS לטובת אחסון הפאנלים בשלבי הביניים ובשלב הסופי. יתרון נוסף הינו שניתן להגדיר בסנופלייק WH יעודי לטובת צוותי DS אשר מכיל משאבי compute מבלי שיהיה צורך בהעתקה של מידע ממקום למקום לטובת תהליכי העבודה (מכונה zero copy cloning). וישנו כמובן גם יתרון הסקלאביליות - סנופלייק מספק גמישות חישובית ויכולת להגדיל ולהקטין משאבים בצורה דינמית על מנת לתמוך בצוותי DS ובעומסים בסביבת הייצור. Dataiku הינה חברה צרפתית אשר נוסדה בשנת 2013, כיום יש לה מעל 450 לקוחות בעולם, 30 אלף משתמשים פעילים וקהילה גדולה של מפתחים. המוצר דורג לאחרונה על ידי Gartner ברבעון ה Leaders שנה שניה ברצף אל מול כלים חזקים וותיקים בתחום. המוצר של Dataiku מביא כמה יכולות ייחודיות, הן בפני עצמו והן בשילוב עם סנופלייק: Collaborative - המוצר הינו מוצר web אשר מותקן בענן או בסביבת הלקוח. כל המשתמשים השונים עובדים באותו ממשק יחדיו ללא צורך בהתקנות desktop או העתקת דאטה לתחנות קצה. זהו אחד היתרונות המרכזיים של הכלי מכיון שהוא מאפשר ל- data engineer, business analyst ו- data scientist לעבוד על אותו פרויקט במקביל לטובת ייעול העבודה וקיצור זמני הפיתוח. End-to-End - המוצר מכסה את כל שלבי מחזור החיים שתוארו, החל משלב חקירת הנתונים וכלה בהעלאה לייצור והנגשה למשתמשים העסקיים. בנוסף, המוצר מכיל יכולות built-in לאריזה של המודל כ- API, הן לצרכים פנימיים וחיצוניים, וכן מספר רב של דרכים ל"אריזה" של התוצרים לטובת הצגה למשתמשים עסקיים. Scale - המוצר נסמך על התשתיות הקיימות בארגון, בכל תהליך ניתן לבחור את מנוע ההרצה המועדף לטובת ביצועים מיטביים. בצורה זו נמנעת גם סיטואציה של vendor lock שכן גם אם הלקוח מחליט לשנות את התשתיות (לדוג' - מעבר לענן) דאטאייקו ממשיך לעבוד כרגיל וכל שנדרש הוא לעדכן את הקונקטור הרלוונטי לטכנולוגיה החדשה שנבחרה. Code-first to Code-free - המוצר נותן מענה לכל סוגי המשתמשים, החל מאלו שמעדיפים ממשק ויזואלי לפיתוח מודלים וכלה במשתמשים מתקדמים שמעדיפים עבודה בקוד, לרבות היכולת לארח סביבת קוד כגון Jupiter notebooks. Open - למוצר יש אינטגרציה מלאה עם שפות קוד וטכנולוגיות משיקות כגון TensorFlow, H2O ועוד וכן ספריית Plug-in עשירה שניתן לייבא על פי התרחישים שרוצים לממש. Enterprise - המוצר מכיל את כל יכולות הניהול והמשילות שארגונים צריכים כגון ניהול הרשאות ומשתמשים, תמיכה ב- SSO, דאטה קטלוג פנימי מלא של כל רכיבי הפרויקט, ניהול סביבות, הגדרת משתני סביבה, הגדרת סביבות פיתוח, ניהול גרסאות מרכזי, ועוד. נדגיש כי כל אחד מהכלים מהווה בחירה מובילה בפני עצמו, סנופלייק הינה כיום פלטפורמת הדאטה המצליחה בעולם ואת דאטאייקו ניתן להטמיע בהצלחה גם אם אתם לא עושים שימוש בסנופלייק או אם בכלל לא עברתם לענן. קיימים מספר יתרונות נוספים בשילוב שני הכלים יחדיו: DS צריכים בסיס נתונים מהיר שמאפשר להם לבצע את כל תהליכי העיבוד והכנת הנתונים לפני בניית המודל. דאטאייקו עושה push down של כל תהליכי העיבוד הללו ומעביר אותם לסנופלייק אשר הינו אידיאלי להרצה שלהם. לאחרונה הכריזו סנופלייק ודאטאייקו על תמיכה באפשרות להריץ באמצעות סנופלייק גם תהליכי עיבוד מבוססי קוד - ג'אווה וסקאלה. יכולת זו תאפשר לצוותי DS אשר מעדיפים עבודה בקוד למנף את היכולות של סנופלייק גם לתהליכים שאינם מבוססי SQL. לסיכום אם אתם עובדים בארגונים אשר מעוניינים להוציא לפועל אסטרטגיית דאטה, קרוב לוודאי שאתם כבר מתמודדים או תתמודדו בקרוב עם האתגר שבהקמת תשתית דאטה ו- AI/ML. בסופו של יום אנו מאמינים שהפלטפורמות הללו צריכות לעמוד בכמה עקרונות מנחים ובראשם פשטות (הן בשלב הפיתוח והן בשלב התפעול) והבאת ערך עסקי לארגון. בגישה שהצגנו ניתן לכסות את כל שלבי העבודה בפרויקט AI באמצעות שני כלים בלבד אשר מקלים את עבודתם של כל הגורמים המעורבים ומאפשרים להם להשקיע את מירב זמנם במתן מענה לאתגרים עסקיים במקום במתן גישה, ניהול תשתיות או תהליכי העברה לייצור. מסיבה זו אנו ממליצים ללקוחותינו לכלול את סנופלייק ודאטאייקו בתהליכי הערכה ובחינת כלים להקמת תשתית דאטה ו- AI מודרנית. קישורים לקריאה נוספת: https://pages.dataiku.com/gartner-2021 https://pages.dataiku.com/2021-critical-capabilities-for-data-science-and-machine-learning-platformsSnowflake Ventures Invests in Dataiku, Bringing Further AI Capabilities to the Data Cloud Continuous Delivery for Machine Learning (CD4ML) Vision.bi Vision.bi גאה להיות שותף ELITE של סנופלייק ונציגת DataIku בישראל ולהביא לכם את כל התוכן בפשטות ובעברית. עם נסיון עשיר בשירותי פיתוח ייעוץ וליווי מהמקצועיים ביותר בתחום. אם אתם מעוניינים בדמו על Snowflake או DataIku מוזמנים לשלוח לנו מייל ל- info@vision.bi או לחוץ על כפתור הצור קשר מימין למטה, ונשמח לקבוע פגישת היכרות.

  • סיכום כנס סנופלייק יוני 2021

    כמו בכל כנס, גם הפעם אנחנו מביאים לכם את החידושים והעדכונים מכנס סנופלייק, קבלו את העדכונים של יוני 2021. לפני שנתחיל בחודש יוני התקיים כנס הלקוחות וכשבוע לאחר מכן, כנס השותפים, בהם הציגו את כל החידושים והשיפורים שעתידים לצאת בקרוב. אנחנו נרגשים וגאים על בחירתינו כשותף השנה באירופה לשנת 2021! זכות אדירה וכבוד גדול! אז מה חדש בסנופלייק? הנושאים החדשים הוכרזו לפי התחומים הבאים: Connected Industries Global Governance Platform Optimization Data Programmability Powered by Snowflake שימו לב לסדר הדברים, יש לכך חשיבות גבוהה. בסעיף הראשון, סנופלייק תמיד ישימו את ה-Cloud Data. השאיפה של סנופלייק היא להיות פלטפורמת הדאטה המרכזית בעולם, ממשיכה לצבור תאוצה עם עוד ועוד ארגוני ענק המצטרפים לחזון של פלטפורמת דאטה מרכזית. בסעיף השני ניתן לראות את היכולת לניהול מרכזי ומשילות של הדאטה, מה שמעיד על כך שסנופלייק עובדת עם ארגוני אנטרפרייז גדולים הנדרשים להטמיע תהליכי רגולציה ומשילות ברמה גבוהה ורק בסעיף השלישי מגיע נושא הביצועים והאופטימיזציה (מה שרובנו לא מעט פעמים שמים במקום הראשון ולא בטוח בצדק). הרחבה משמעותית של מאגר הנתונים הזמין ב-Data Market מאז נובמבר האחרון מספר מקורות המידע גדל ב-76%. לאחר השת״פ הענק עם Salesforce, בכנס הזה סנופלייק מכריזה על שת״פ עם Servicenow. שיתוף פעולה שיאפשר ללקוחות לקבל נתונים ב-Near Real Time בנפחים עצומים ישירות לבסיס נתונים בסנופלייק ללא כל אינטגרציה. את סיפור הלקוח הציגה At&t את האינטגרציה של כל נתוני Servicenow ישירות לחשבון הסנופלייק. שיפורים משמעותיים ב-Data Market רכישת Datasets ישירות מהממשק של סנופלייק! - כולל Try before you buy יצרני דאטה (Data providers) יכולים מעתה לפרסם נתונים למכירה(!) כולל יכולת לבחור את מודל התמחור, אחד מתוך שלושה: שלושה מודלי תמחור נתונים אם אתם מעוניינים להצטרף ל-Preview, מוזמנים להרשם כאן: http://bit.ly/MarketplaceFeaturesPrPr נושא המשילות נמצא בראש סדר העדיפויות של סנופלייק כבר כבר הרבה זמן, עבודתם עם ארגוני ענק מחייבת זאת ולכן רואים שיפורים עצומים משנה לשנה. בכנס הקודם סנופלייק הכריזה על Dynamic Data Masking שכבר שוחרר ב-GA, על Row Level Security שעדיין ב-Preview ועל Object Tagging המאפשר לנהל Meta data על טבלאות עמודות ואף יאפשר לנהל הרשאות ו-Policies על בסיסן. מה חדש השנה? Automatic Data Classification ו- Anonymized Views - סנופלייק מכריזה על הוספת יכולת לזיהוי אוטומטי של מידע רגיש (PII) ויכולת נוספת ליצירת View המסיר אוטומטית את כל המידע שתיוג כמידע רגיש. רמה גבוהה של משילות בשלושה שלבים: שלב 1 - מציאת אוטומטית של PII שלב 2 - יצירת View המסיר מידע PII רגיש שלב 3 - תחקור, תוצאת ה-View ללא מידע PII לאחר תיוג אוטומטי כמו כן סנופלייק מבינה שהיא לא מוצר קטלוג ולכן מכריזה על שת״פ אסטרטגי עם Alation - מוצר הדאטה קטלוג המוביל בעולם. כל היכולות החדשות, זמינות כבר באלייז׳ן ומאפשרות ניהול יעיל של Policies: זה הזמן לציין ש-Vision.bi מייצגת את Alation בארץ, אתם מוזמנים לפנות אלינו לשמוע עוד על המוצר המוביל בתחום. Roles & Permissions שימו לב ל-UI החדש! מעכשיו ניתן להבין את מבנה ההרשאות, ההורשה, המשתמשים ועוד. שדרוג משמעותי בתחזוקת ההרשאות. טבלה חדשה (View) עם Access_Log(!) מעכשיו יש Audit מלא על השאילתות, לאיזה אובייקט (טבלה/View) השתתף בשאילתא, מי המשתמש ואלו עמודות(!) הוא קרא. תריצו את השאילתא הבאה ותראו את הקסם! USE ROLE ACCOUNTADMIN; SELECT * FROM SNOWFLAKE.ACCOUNT_USAGE.ACCESS_HISTORY LIMIT 100; סעיף 3 שיפורים ב-Storage שיפורים משמעותיים בשיעור של 30% ב-Compression של הדאטה ובזמני טעינה של Snowpipe: שיפורים נוספים בכל שכבות הריצה של השאילתות: שיפורים ב- Compute הפעלת יכולת לשיפור של עד פי 15 בביצועי שאילתות על ידע הפעלת יכולת ב-Query Acceleration Service המבצעת מיקבול של שאילתא על מספר משאבים. עד כה סנופלייק ידע למקבל שאילתות בצורה טובה אך כל שאילתא רצה על WH אחד. היכולת החדשה מאפשר למקבל שאילתא בודדת על יותר משאבים (בעלות נוספת כמובן). שיפור ביצועים על ידי מיקבול שאילתות שיפורים ב-UI, ניתוח שימושיות - Usage Dashboard סנופלייק התחילו להבין שצריך לתת דגש על ניתוח ה-Usage ועל כן משחררים בקרוב דשבורד המציג את ה-Usage. הדשבורד יהיה זמין ב-UI החדש בהמשך השנה והוא יאפשר לראות את הצריכה ב-Wh לפני ימים, שעות ו-Wh. היכולת בשלב זה מאד בסיסית ועדיין מאפשרת לראות נתונים רק ברמת WH ושעה (כמו ב-UI הנוכחי) אך בצורה יותר נוחה. אולי זה הזמן לומר שהשבוע אנחנו משיקים את Arctica.ai (לשעבר Snowly). מוצר Saas המאפשר לנתח עלויות ברמה המפורטת ביותר, עד רמת העלות לכל שאילתא ואף טבלת מקור, טבלת יעד ועוד ממדים רבים. מוזמנים להירשם לסביבת דמו ואף ליצור לעצמכם חשבון חינם לדשבורד הבסיסי. פלטפורמת SAAS מבית Vision.bi לניתוח ומעקב עלויות סנופלייק עד רזולוציה של שאילתא שיפורים ב-Search Optimizations פיצ׳ר זה שהוכרז בכנס הקודם, מאפשר יכולות Search גבוהות על טבלאות גדולות מאד. שימו לב לפערים בביצועים של שאילתות חיפוש (שאילתות המחזירות מספר קטן של רשומות). חדש - תמיכה ב-Like על טקסט, תמיכה ב-Variant (כלומר אינדוקס של Semi-Structured Data): ניתוחים גיאוגרפיים עוד יכולת שהוצגה בכנס הקודם, אך מקבלת עוד עדכונים ושיפורים. פונקציות נוספות ושיפור ביצועים ב-Join (בעיה שהיתה מוכרת על אובייקטים מרובים - Shapes). פונקציית SQL חדשה - Match Recognize - פונקציה למציאת Patterns בנתונים: תמיכה מלאה ב-Unstructured Data נמצא ב-Preview ללקוחות נבחרים. יכול להעלות כל קובץ לסנופלייק ולנהל למעשה Data Lake מלא. בהמשך הציגו סנופלייק יכולת מרשימה מאד לטעון קבצי תמונה וקבצי טקסט, לעבד אותם באמצעות Snowpark ולהציג אותם למשתמשי הקצה באמצעות הרשאות! כלומר ניתנת כאן יכולת מרכזית לניהול כלל המידע הרלוונטי לניתוח ועיבוד באותה סביבה באופן מנוהל תחת מעטה של הרשאות. פרוצדורות SQL עדיין ב-Preview אבל שימו לב לפרטים החדשים, אפשר כבר לראות שכאשר פיצ׳ר זה יהיה זמין יהיה ניתן לבצע לולאות, להחזיר result set ועוד הרבה יכולות (מימין באדום) פרוצדורות ב-SQL, השמועות אומרות ברבעון 3 השנה, אך אין עדיין מועד רשמי SQL API חדש! תמיכה בקריאות API מול סנופלייק לקבלת נתונים והרצת שאילתות ללא צורך בהתקנת Client בקריאות פשוטות של REST API! יכולת גבוהה מאד המאפשרת לבנות אפליקציות ישירות מעל סנופלייק. שימו לב: SNOWPARK & Unstructured Data Snowpark הינה היכולת להריץ קוד על סביבת סנופלייק. שימו לב לשיתוף הפעולה של ריברי וסנופלייק להרצת Java (ובקרוב גם פייתון) כחלק מה-Pipeline (קיראו עוד בפוסט של ריברי) https://rivery.io/blog/rivery-snowflake-snowparks-new-developer-experience-control-automate-streamline-data/ העלאת JAR לסביבת ריברי ושימוש ב-SNOWPARK מעל סנופלייק הרשאות על Unstructured Data! יכולת חדשה וייחודית לסנופלייק, יכולת לנהל הרשאות על קבצים והגישה אליהם. במהלך הכנס הוצג דמו שכלל יצירת Stage מעל תיקייה ב-S3 עם רשימת חשבוניות. מעליו יצרו אובייקט מסוג חדש בשם Directory Table, זהו אובייקט שהופך כל תיקייה ב-Bucket לטבלה עם כל המידע על הקבצים בתקייה(!) מטבלה זו אפשר לבנות Continuos Data Pipeline סטנדרטי הכולל Streams, Tasks וכו׳. כך שבקלות ניתן להגדיר תהליך שרץ כל דקה, ובמידה ויש קבצים חדשים ה-Task ירוץ ויחלץ מידע מקבצי החשבוניות ויטען אותם לטבלה. כל קובץ מקבל URL לצפיה ישירה אובייקט מסוג ״חדש״ - טבלת SQL מעל תיקיית קבצים סנופלייק משיקה תוכנית חדשה לחברות שיבנו פתרונות על סנופלייק. כמה מהחברות הגדולות כבר חלק מהתוכנית והמטרה היא לתת לחברות פלטפורמת דאטה רוחבית Cross cloud and cross region. בסשן הוצג איך Adobe בנו את מוצר ה- Adobe Campaign, על בסיס סנופלייק לניהול קמפיינים. סיכום כאמור יש לא מעט שיפורים וחידושים, מוזמנים לצפות בהקלטה של הסשן שהעברנו. בנוסף כל הסשנים מהכנס עדיין זמינים באתר של סנופלייק לצפיה, מוזמנים לצפות במקור (קצת ארוך). אנחנו כאן לכל שאלה ונשמח ללוות אתכם בעבודה מול סנופלייק. תרגישו חופשי לפנות אלינו. Vision.bi Vision.bi גאה להיות Snowflake ELITE Partner ושותף השנה באירופה ב-2021! להביא לכם את כל התוכן בפשטות ובעברית. עם נסיון של מעל 40 פרויקטים מוצלחים בשלוש שנים האחרונות אנחנו מספקים ללקוחות שירותי פיתוח ייעוץ וליווי מהמקצועיים ביותר בתחום. אם אתם מעוניינים בדמו על Snowflake או שאתם מעוניינים להתייעץ, מוזמנים לשלוח לנו מייל ל- info@vision.bi או לחוץ על כפתור הצור קשר מימין למטה, ונשמח לקבוע פגישת היכרות להצגת פלטפורמת הדאטה שללא ספק מתווה את הדרך לעתיד.

  • סיכום כנס סנופלייק - יוני 2021

    ב-8-10 ליוני התקיים הכנס השנתי של סנופלייק עם כל החידושים והפיתוחים, הצטרפו אלינו לוובינר של כ-50 דקות להסברים על כל החידושים בוובינר נסקור את כלל הנושאים והחידושים שהוצגו בכנס בצורה תמציתית (בעברית). הנושאים החדשים הוכרזו לפי התחומים הבאים: Connected Industries Global Governance Platform Optimization Data Programmability Powered by Snowflake גם השנה סנופלייק שמו את עיקר הדגש על ה-Data Cloud, זהו החזון של סנופלייק, ונראה שעוד ועוד חברות ענק מתחילות לקחת בו חלק. לאחר שיתוף הפעולה עם Salesforce, השנה מכריזה סנופלייק על שיתוף פעולה עם Servicenow, שתשתף את הדאטה עם לקוחותיה דרך סנופלייק Data Cloud. בצד המשילות (Global Governance) סנופלייק ממשיכה להציג חדשנות ופתרונות רוחביים לארגונים ולהראות שהיא בנויה ל-Enterprise. בוובינר נסביר על Object Tagging, Auto Classification, Anonymized Views וכן על Folder Table המאפר לנהל הרשאות גם על Unstructure Data. בקיצור המון חידושים בתחום. הכנס המשיך עם Platform Optimizations - עם שיפורים של 30% בכיווץ של ה-Storage, מנוע מיקבול עיבוד של שאילתא שמאפשר עד פי 15 ביצועים, SQL API חדש(!) פרוצדורות ב-SQL ועוד הרבה יכולות עלינן נרחיב בוובינר. ולסיום בנושא ה-Data Programmability הרחבת יכולות ה-Snowpark, נסביר על היכולת להריץ Java בסנופלייק, נראה כיצד ריברי (Rivery.io) שלקחו שותפות בפיתוח הראשוני עם סנופלייק, הוסיפה את היכולת למוצר. Vision.bi Vision.bi גאה להיות Snowflake ELITE Partner ולהביא לכם את כל התוכן בפשטות ובעברית. עם נסיון של מעל 40 פרויקטים מוצלחים בשלוש שנים האחרונות אנחנו מספקים ללקוחות שירותי פיתוח ייעוץ וליווי מהמקצועיים ביותר בתחום. אם אתם מעוניינים בדמו על Snowflake מוזמנים לשלוח לנו מייל ל- info@vision.bi או לחוץ על כפתור הצור קשר מימין למטה, ונשמח לקבוע פגישת היכרות להצגת פלטפורמת הדאטה שללא ספק מתווה הדרך לעתיד.

  • למה לקלל? Regex explained

    ביטוי רגולרי (או, בקיצור, Regex (הוא רצף של תוים המגדירים דפוס (=חוקי התאמה). ביטוי רגולרי אופייני יכיל שילוב כלשהו של תווי-מטא — תוים שיש להם משמעות מיוחדת — לצד תוים רגילים. מה זה RegEx? ביטוי רגולרי (או, בקיצור, Regex) הוא רצף של תוים המגדירים דפוס (=חוקי התאמה).ביטוי רגולרי אופייני יכיל שילוב כלשהו של תווי-מטא — תוים שיש להם משמעות מיוחדת — לצד תוים רגילים. הדפוסים ישמשו אותנו בדרך כלל למימוש אלגורתמים של חיפוש, החלפה או אימות מחרוזות. הדפוסים האלה יכולים להיות פשוטים (למשל, נקודה היא ביטוי Regex תקין) או מורכבים וארוכים. לדוגמא, הרצף (הנאיבי) הבא מוודא כתובת מייל חוקית: בדיקה האם כתובת מייל היא חוקית. [\w._%+-]+@[\w.-]+\.[a-zA-Z]{2,4} מה אנחנו יכולים לעשות עם זה? אילו תרחישי Regex רלוונטיים לנו בתור engineers Data או מפתחי BI? חיפוש חיפוש מחרוזת בתור שדה טקסט גדול יותר. למשל, חיפוש תג מסוים בתוך עמוד HTML. אימות אימות ערכים בנתונים. לוודא שערך מסוים שקיבלנו ממשתמש, ממערכת מקור או במסד נתונים עונה על תנאים שהוגדרו מראש. דוגמאות:• אימות ערכים בשדות - כתובת מייל, כתובת IP ,מספר חשבון בנק וכד׳.• אימות ששדה מפתח מכיל רק תוים הקסדצימלים.• אימות Type Data של שדה לפני טעינה למסד נתונים (כדי שהטעינה לא תיפול). סינון סינון רשומות בהתבסס על תנאי מסוים. קצת יותר משוכלל מ- like או startswith.למשל, סינון רשומות בשאילתת SQL בהתבסס על תנאי Regex. דוגמאות:• בחירת רשומות בטווחי IP מסויימים.• סינון משתמשים שהגיעו מ- URL מסוים. ניתוח תחבירי (Parsing) ניתוח שדות טקסט וחילוץ מקטעים מתוכם. דוגמאות:• חילוץ שמות טבלאות משאילתות SQL.• חילוץ תאריך משם קובץ נכנס. למשל: csv.20201202_file_incoming ניקיון והחלפת תת-מחרווזת החלפת חלקים משדה טקסט (replace) דוגמאות:• התממת נתונים — מיסוך ערכים רגישים כגון שם משתמש וסיסמא ו- Placeholders.• החלפת תווי Whitespace (כולל רווחים, טאבים, ירידת שורה) ברווח בודד.• ניקיון תוים לא נומריים ממספרי טלפון.• ניקיון והאחדת שאילתות SQL .• ביצוע למטיזציה וטוקניזציה על טקסט לפני הרצת אלגוריתמים של NLP. יצירת שדות מחושבים יצירת שדות חדשים בהתבסס על דפוסים בטקסט. דוגמאות:• סיווג וקיבוץ נתונים - סיווג סוג שאילתת SQL .למשל אם השאילתה מכילה INSERT או COPY היא כנראה חלק משלב ה- DIGEST של ה- ETL. ואיך זה עוזר לי בעולמות ה-DI אוקיי, סבבה. הבנתי את הרעיון הכללי, אבל איך זה קשור לכלים שאנחנו עובדים איתם?  - רוב הכלים המשמשים אותנו תומכים ב- Regex (ברמה מסוימת). דוגמאות: ניתן לשלב Regex בשאילתות SQL .ב- Snowflake ניתן גם לכתוב פונקציות Javascript המכילות Regex ולשלב אותן בתהליכי ה- ETL או בשלבי התחקור. רשימת פונקציות Regex הנתמכות ב- Snowflake: https://docs.snowflake.com/en/sql-reference/functions-regexp?ref=blog.vision.bi ב- Tableau ניתן להוסיף שדות מחושבים או לנקות שדות קיימים באמצעות Regex. https://www.tableau.com/blog/become-regular-regular-expressions-39802?ref=blog.vision.bi https://help.tableau.com/current/pro/desktop/en-us/functions_functions_additional.htm?ref=blog.vision.bi למותר לציין שאין בעיה לשלב Regex כשאנחנו כותבים קוד (לדוגמא ב- Python) https://docs.python.org/3/library/re.html?ref=blog.vision.bi כללי אצבע ודגשים נראה לי מסובך. איך שומרים על שפיות בכל הברדק הזה? כמה כללים בסיסיים שיסייעו לכם בעבודה עם Regex: • תפסת מרובה לא תפסת - אל תנסו להגדיר את הכל בביטוי אחד ארוך. ברוב הכלים ניתן לחלק את הביטוי למספר חלקים. נסו לשמור על סיטוי קצר וקריא. השתמשו ברווחים והערות כדי לשפר את קריאות ה- Regex.• השתמשו בכלי ולידציה. תמיד. הקפידו להשתמש בכלי שמבצע ולידציה לפי הדיאלקט שאתם צריכים.• בדיקות, בדיקות ועוד בדיקות. הגדירו רשימה של ערכים תקינים (שאמורים להחזיר True (וערכים שגויים) שאמורים לא להתאים ל- Regex .(הריצו תמיד את הביטוי שלכם מול שתי רשימות הערכים). הקפידו לבצע Tests Regression כשאתם מבצעים שינויים ב- Regex שכבר רץ בשוטף. קל מאד לשנות ביטוי ולפגוע במשהו שהיה תקין. קישורים נוספים ללימוד ותרגול https://regexcrossword.com/?ref=blog.vision.bi https://pythex.org/?ref=blog.vision.bi https://regexone.com/?ref=blog.vision.bi

  • סיכום כנס סנופלייק נובמבר 2020

    סיכום כנס סנופלייק נובמבר 2020, ההכרזות, החזון ולאן סנופלייק הולכת בשנים הקרובות בארוע הפתיחה העביר פרנק סלוטמן, מנכ״ל החברה, את סיכום השנה בה יצאה סנופלייק להנפקה ואת החזון לאן החברה הולכת. הרצאות הכנס זמינות לצפיה ומומלץ לבקר באתר סנופלייק לצפות בחלקן. צריך להקשיב בעיקר לחזון החברה כדי להבין שיש כאן משהו הרבה יותר גדול מבסיס נתונים או מפלטפורמת דאטה. סנופלייק שואפת לחזון משמעותי של ענן דאטה גלובאלי, בה יצרני הדאטה וצרכני הדאטה חולקים את אותה סביבה עסקית וטכנית. הציטוט של סמנכל״ית דיסני, שהציגה כיצד סנופלייק עוזרת להם לנהל את כל הדאטה במקום מרכזי, אולי משקף את זה הכי טוב: ״אתם רוצים להגיע מהר תלכו לבד, אתם רוצים להגיע רחוק, תלכו יחד״ נשמע קצת קלישאתי אבל כשרואים חברות ענק כמו סיילספורס ו-100 ספקי דאטה נוספים, חולקים את אותו חזון ומצטרפים לדאטה marketplace של סנופלייק רק בחצי שנה האחרונה, אפשר להבין שיש כאן חזון של ממש שמתהווה. בפוסט זה נסקור את הכרזות הטכנולוגיות. נזכיר שביוני האחרון היה הכנס הראשון של 2020 בו היו לא מעט הכרזות טכנולוגיות ובכנס זה הוסיפו עליהם עוד מספר השקות מרתקות. אסטרטגיית המוצר בארבעה ערוצים מרכזיים וכך גם נסקרו הנושאים החדשים. תוכן - Data Cloud Content במהלך השנה האחרונה הצטרפו ל-Data Marketplace מעל 100 ספקי דאטה גלובאליים. זהו כוח עצום המאפשר לחברות לצרוך מידע חיצוני שעד כה היה קשה להשיג ודרש לא מעט תהליכים טכניים, החל ממציאת מקורות נתונים רלוונטיים, דרך התקשרות עסקית עם אותם ספקים, יבוא הנתונים וטעינתם לסביבת המחקר ורק לאחר מכן להתחיל להשתמש בהם. ה-Data marketplace לעומת זאת מאפשר לחפש נתונים במאגר עצום, לייבא Datasets  בלחיצת כפתור ולא לדאוג יותר לסנכרון, הדאטה מנוהל על ידי ספק המידע ומתעדכן בתדירות קבועה. דמו - כיצד חברת insureco עושה שימוש ב-Marketplace חברת insureco היא חברת ביטוח דמיונית. ובמהלך הדמו הציגו כיצד אנליסטים בחברה מצליבים מידע מה-Marketplace החיצוני למידע מ-Saleforce הזמין ב-Marketplace הפנים ארגוני(!) ולמידע תביעות הקיים בבסיס הנתונים. שילוב של 3 מקורות מידע ללא כל תהליך ETL או שינוע מידע. זהו למעשה החזון של ה-Cloud Data. Extensible data pipelines כמו בכל כנס בשלוש שנים האחרונות סנופלייק שמה דגש על הרחבת יכולות ה-SQL. זה התחיל בפונקציות ופרוצדורות Java script ובהמשך גם בשפת SQL, בכנס ביוני הושק לראשונה ה-External Functions המאפשרת לקרוא לפונקציות הנמצאות על ענן התשתית כמו AWS והיום סנופלייק מכריזה על Snowpark, ספריות עבור ה-Data Science לכתיבת פונקציות, מודלים ולוגיקות שלבסוף ירוצו על הפלטפורמה של סנופלייק. זוהי הכרזה דרמטית מכיוון שכל ארגון יוכל לקחת את הקוד של ה-Data science ולהרחיב/להעשיר באמצעותו את המידע ישירות בתוך סנופלייק. שימו לב לתמונה הבאה מהדמו בה פיתוח של פונקציה ב-scala זמין לתחקור בסנופלייק.  הטבלה scorelogs אינה טבלה בסנופלייק, אלא מימוש של טבלה באמצעות קוד סקאלה. יכולת זו תהיה זמינה בפייתון, ג׳אווה וסקאלה, כך שכל ארגון יוכל לממש זאת בשפה המקובלת בארגון. Data Governance שימו לב למהפכה הבאה בתחום ההרשאות! ביוני האחרון סנופלייק הציגו את ה-Dynamic data masking, יכולת להצפין ולמסך תוכן של עמודות עם מידע אישי רגיש. זוהי למעשה יכולת של Column level security. בכנס קבלו את ה-RLS! סנופלייק משיקה Row level security מובנה בתוך בסיס הנתונים! כך שכל משתמש רואה רק את הרשומות שהוא מורשה לראות! יכולת זו מאפשרת את ניהול הגישה לכל מקורות הארגון ממקום אחד. בין אם המידע בקבצים, ב-Storage ב-S3 או ב-External tables, הכל מנוהל ממקום אחד. ובאמצעות יכולת הרפליקציה בין החשבונות (חוצה ספקי ענן וחוצה regions) ניתן בקלות לאכוף את ה-Policies האלו לכלל הארגון. מנהל המוצר עוד רמז כי אפשר לצפות לזיהוי אוטומטי של עמודות PII (Personal Identification Information) וליכולות הצפנה של המידע בצורה מובנית. בקיצור נושא ה-Data governance ו-Complience נמצא גבוה בסדר העדיפויות. Platform Performance & Capabilities ביצועים סנופלייק ממשיכים לשפר את מנוע ה-SQL המהיר שלה. מבחינת ביצועים, ע״פ השוואה בין שאילתות שרצו באוגוסט 2019 לעומת אותם שאילתות שרצו באוגוסט 2020, 72% מהשאילתות שעברו קומפילציה בפחות משניה, השתפרו ביותר מ-50%. שיפורים אלו מורידים את הצורך בזמני עיבוד ולמעשה בסופו של דבר גם חוסכים כסף ללקוחות. חדש! שירות להאצת שאילתות עד כה היו בסנופלייק שתי אפשרויות, Scale out כלומר הרחבה של מספר ה-Clusters שנותנים מענה לשאילתות ו-Scale-up שהיא הגדלה של ה-Cluster שמריץ את השאילתות. אך בשני המקרים, שאילתא גדולה ככול שתהיה, תרוץ על Cluster אחד בלבד (Cluster יכול להכיל מספר שרתים). סנופלייק מכריזה על שירות חדש, שירות האצה לתתי שאילתות (Sub queries)! כך ששאילתא אחת המכילה מספר Join-ים ותתי שאילתות תוכל לרוץ במקביל על יותר מ-cluster אחד. מה שיביא לשיפור דרמטי של הביצועים של שאילתות גדולות. אלו ללא ספק בשורות מעולות ושוב מדגישות למה אנחנו כמיישמים צריכים להימנע מכתיבה לטבלאות ביניים וטבלאות עזר, נזכיר שמומלץ להשתמש ב-CTE עם With כדי לתת למנוע האופטימיזציה לעשות את שלו. בעיקר כאשר מדובר בשאילתות מרובות שלבים. בקרוב גם Unstructured data עד כה בכל ההרצאות וההדרכות הסברנו שסנופלייק זו תשתית דאטה, לא משנה באיזה פורמט, העיקר שיהיה דאטה, כלומר מובנה או מובנה למחצה, אך תמונות וקבצי PDF היו לחלוטין מחוץ לתחום ואותם היינו ממליצים לאחסן ב-Storage בענן בו אתם משתמשים. לא עוד, סנופלייק מודיעה כי בהמשך תהיה תמיכה גם בקבצים לא מובנים כגון תמונות וקבצי PDF (וכל סוג אחר). יחד עם היכולת הקודמת של Snowpark אתם יכולים כבר לדמיין לאן אפשר לקחת את זה. תהליכי עיבוד תמונה, קריאה ל-API-ים חיצוניים ועוד אין סוף Use-cases והכל בפשטות והקלות של סנופלייק. אז תתכוננו להריץ SQL גם על תמונות. Vision.bi Vision.bi גאה להיות שותף ELITE של סנופלייק ולהביא לכם את כל התוכן בפשטות ובעברית. עם נסיון של מעל 40 פרויקטים מוצלחים בשלוש שנים האחרונות אנחנו מספקים ללקוחות שירותי פיתוח ייעוץ וליווי מהמקצועיים ביותר בתחום. אם אתם מעוניינים בדמו על Snowflake מוזמנים לשלוח לנו מייל ל- info@vision.bi או לחוץ על כפתור הצור קשר מימין למטה, ונשמח לקבוע פגישת היכרות להצגה של בסיס הנתונים שללא ספק מתווה את הדרך לעתיד בתחום הדאטה.

bottom of page