Skip to content
  • דף הבית
  • קורס SQL
  • דוא"ל

טעינת נתונים מ- SQL Server ל- Elasticsearch

28 בפברואר 2019 by שחר גבירץ

תוצאת תמונה עבור ‪elasticsearch‬‏

Elasticsearch, למי שלא מכיר, הוא מנוע אינדוקס פופולרי מאד המבוסס על מנוע האינדוקס של Lucene. מדובר למעשה ב- Document DB עם דגש חזק מאד על חיפוש טקסטואלי במידע (למרות שככל שעובר הזמן מתווספים לו פיצ’רים של document db גנרי, בכלל זה גם אגרגציות וכו’).
בפוסט הזה אני אסביר איך  אפשר לדאוג לזרימת נתונים שוטפת מ- SQL Server ל- Elasticsearch.

למה שנרצה דבר כזה?

כמובן, שאם אתם משתמשים ב- Elasticsearch בתור מנוע עיקרי לאכסון ולתשאול המידע שלכם, ופה ושם מחזיקים גם אפליקציה מעל SQL Server (או כל DB רלציוני אחר), הצורך בכזה פיתרון ברור – אתם רוצים כנראה שבסוף כל המידע יהיה איפה שאתם מתשאלים אותו.

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

Continue Reading

QDS_LOADDB-מה זה אומר ומה אפשר לעשות

28 בפברואר 2019 by שחר גבירץ

אחד הפיצ’רים שהושקו ב- SQL Server 2016 היה ה- Query Store. אם עוד לא יצא לכם להכיר אותו, ממליץ לקרוא עליו קצת פה. בגדול, מדובר בכלי שמאפשר להוציא insights טובים יותר בסוגיות שמעסיקות DBA-ים. בין היתר, זיהוי של שאילתות מעמיסות, זיהוי רגרסיות בריצת שאילתות וטיפול נוח בזה ועוד.
החל מ- SQL Server 2017, המנגנון של ה- Query Store גם משמש את פיצ’ר ה- Automatic Tuning של שאילתות, שמאפשר להגדיר את ה- flag של “FORCE_LAST_GOOD_PLAN” שעוזר (פוטנציאלית) למנוע רגרסיות שנובעות מבחירת execution plan פחות טוב מ-execution plan שנעשה בו שימוש בעבר.

אבל, לפעמים אנחנו מגלים את העלויות הנסתרות של דברים טובים. הרבה פעמים זה גם קורה בזמן לא מאד נוח….
תופעה שנתקלתי בה – בזמן ביצוע Failover ל- AlwaysOn Availability Group שכולל מס’ דטאבייסים, לאחר שמרבית ה- DB-ים סיימו לעבור recovery בשרת שאליו בוצע ה- failover, לא ניתן היה לעבוד כלל עם אחד מה- DB-ים שהיו ב-AG.… להמשך קריאה

SQL Server: הצגת טכניקות שונות למעקב אחרי שינויים בטבלאות

28 בפברואר 2019 by שחר גבירץ

מפתחים ו-DBA-ים רבים נדרשים בשלב זה או אחר להתמודד עם הדרישה הבאה: יש אפליקציה כלשהי שצריכה לקבל איזשהו feed על נתונים חדשים או נתונים שהתעדכנו עבור איזשהו צורך (אפליקציה שממתינה למידע חדש, תהליך ETL וכו’ ורוצות לקבל “דלתאות” של מה שקרה), כאשר המקור לנתונים הללו זאת איזושהי אפליקציה אחרת – שהיא בעצמה מעדכנת אותם ב- SQL Server.
בד”כ בשלב הזה הרבה פעמים הולכים לפי ההיגיון הבא – אם המידע בסופו של דבר נמצא ומאוכסן ב- SQL Server, למה שלא נשתמש בו גם בתור דרך “להפיץ” את המידע לאפליקציות ולתהליכים אחרים? המידע נכנס ל-DB, ואפליקציות אחרות שמעוניינות במידע פשוט ישלפו אותו ויעבדו עליו.

ההיגיון מאחורי התפיסה הזאת ברור – “האמת” נמצאת ב- DB ומתעדכנת תמיד מול ה- DB. אם נוודא שאפליקציות אחרות יוזנו בעדכונים, נוכל לוודא שהם תמיד יהיו מודעים לאותה “האמת” שב-DB שלנו.… להמשך קריאה

Continue Reading

קורס SQL בסיסי–חינם ביוטיוב

28 בפברואר 2019 by שחר גבירץ

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

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

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

SQL Server: גיבויים, שחזורים–ומה עושים כשה-DB נעשה גדול

28 בפברואר 2019 by שחר גבירץ

אחד הנושאים הכי חשובים שיש זה גיבוי ושחזור הנתונים. אני משוכנע שלא צריך להסביר לאף אחד , בין אם הוא DBA ביום-יום ובין אם לא – את החשיבות שבתוכנית גיבוי ושחזור סדורה, שבמסגרתה ברור איך משתחזרים, מה מאבדים (אם בכלל) בזמן שחזור ובין היתר – מה עושים אם זה לא עובד.  יש לא מעט מסמכי Best Practice של איך להגדיר תוכנית גיבוי ושחזור טובה, איך להאיץ את מהירות הגיבוי (ומהירות השחזור) – ובאופן כללי, ממש לא חסר חומר בנושא הזה. 
בפוסט הזה אני רוצה להתמקד על תת-בעייה – איך מגבים DB גדול, כאשר  אני בעיקר אתמקד בשיטות שהמטרה שלהם היא לאפשר שחזור מהיר.

Back to Basics – גיבויים ושחזורים

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

Continue Reading

ניווט

  • Previous
  • 1
  • 2
  • 3
  • 4
  • Next

יצירת קשר

ליצירת קשר – מוזמנים לשלוח מייל ל- [email protected]

תגיות

DB DEV Elasticsearch ELK EntityFramework Kibana Logging Logstash RabbitMQ SQL SQL Server

פוסטים אחרונים

  • נושאים בביזור – Distributed Transaction באמצעות 2PC ו- 3PC
  • Entity Framework והטעויות שיגרמו לכם לבעיות ביצועים
  • מה הבעייה עם nvarchar(max) או varchar(max)
  • SQL Server: שימוש בפונקציות COMPRESS ו- DECOMPRESS לטובת דחיסת נתונים
  • DbFunctions.TruncateTime ובעיית הביצועים המוחבאת

תגובות אחרונות

  • ענת דרום על SQL Server למפתחים: Transaction Isolation Level
  • שחר גבירץ על SQL Server: שימוש בפונקציות COMPRESS ו- DECOMPRESS לטובת דחיסת נתונים
  • יעקב על SQL Server: שימוש בפונקציות COMPRESS ו- DECOMPRESS לטובת דחיסת נתונים
  • שחר גבירץ על SQL Server: שימוש בפונקציות COMPRESS ו- DECOMPRESS לטובת דחיסת נתונים
  • יעקב על SQL Server: שימוש בפונקציות COMPRESS ו- DECOMPRESS לטובת דחיסת נתונים

ארכיונים

  • אפריל 2019
  • מרץ 2019
  • מרץ 2018
  • דצמבר 2017
  • נובמבר 2017
  • יולי 2017
  • יוני 2017
  • מאי 2017
  • מרץ 2017
  • דצמבר 2016
  • נובמבר 2016
  • אוקטובר 2016
  • נובמבר 2015
© 2023 שחר.נט | WordPress Theme by Superbthemes