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

תגית: DB

נושאים בביזור – Distributed Transaction באמצעות 2PC ו- 3PC

2 במאי 2019 by שחר גבירץ

אחד ה- primitives העיקריים בעבודה עם DB-ים רלציוניים (ולא רק) זאת הטרנזקציה. טרנזקציה, היא אוסף של פעולות שמובטח לנו שכולן הצליחו להתבצע, או לחלופין שאף אחת מהן לא התבצעה. בואו נניח כעת שאנחנו רוצים לעשות טרנזקציה, שמערבת מס’ רכיבים, שכל אחד מהם בנפרד יודע לעשות טרנזקציה, ואנחנו רוצים לעשות טרנזקציה שכוללת פעולות מול כל אחד ואחד מהרכיבים הללו. למשל, נדמיין שרת Oracle ו- SQL Server (או שני שרתי SQL Server שונים), שאנחנו רוצים לעשות בכל אחד מהם בנפרד רצף פעולות כטרנזקציה.

איך לא עושים Distributed Transaction?

כדי להבין למה זה לא תרחיש טריוויאלי, נתבונן במימוש הנאיבי, ונראה כיצד הוא גורר תוצאה שגוייה במצבים מסוימים. נגדיר שיש לנו שרת A ושרת B. בואו נסתכל תחילה על המימוש הבא:

SERVER A: BEGIN TRANSACTION
  SERVER B: BEGIN TRANSACTION	
    SERVER A: UPDATE tblA SET Balance = 1 WHERE ID = 1
    SERVER B: UPDATE tblB SET Balance = 1 WHERE ID = 1
  SERVER B: COMMIT TRANSACTION
SERVER A: COMMIT TRANSACTION

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

… להמשך קריאה
Continue Reading

יצירת קשר

ליצירת קשר – מוזמנים לשלוח מייל ל- [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