Transaction Management
ความรู้
Transaction Management and Concurrency Control

Transaction คือ 1 หน่วยงานในทางตรรกะที่ต้องทำให้สำเร็จหรือถูกยกเลิก Transaction ที่สมบูรณ์จะเปลี่ยนฐานข้อมูลจากสถานะหนึ่งไปยังอีกสถานะหนึ่ง คุณสมบัติของ Transaction Atomicty – ทุกกระบวนการของ Transection จะต้องเสร็จสมบูรณ์ ถ้ามีปัญหาเกิดขึ้นจะต้องยกเลิกทั้งหมด Consistency– สถานะของ Database ก่อนและหลังเกิด Transection ที่สมบูรณ์ จะต้องอยู่ในสถานะ Consistent state เสมอ…

ปัดขึ้นเพื่ออ่านบทความ
ไม่สนใจ
ชอบ
อ่าน
ความรู้

Transaction Management and Concurrency Control

แชร์ Facebook X
บทความนี้ตรงกับความสนใจของคุณไหม?
Transaction Management

Transaction Management

Transaction คือ 1 หน่วยงานในทางตรรกะที่ต้องทำให้สำเร็จหรือถูกยกเลิก Transaction ที่สมบูรณ์จะเปลี่ยนฐานข้อมูลจากสถานะหนึ่งไปยังอีกสถานะหนึ่ง คุณสมบัติของ Transaction

  1. Atomicty – ทุกกระบวนการของ Transection จะต้องเสร็จสมบูรณ์ ถ้ามีปัญหาเกิดขึ้นจะต้องยกเลิกทั้งหมด
  2. Consistency– สถานะของ Database ก่อนและหลังเกิด Transection ที่สมบูรณ์ จะต้องอยู่ในสถานะ Consistent state เสมอ
    1.  ประเภทของความถูกต้องของข้อมูล  เราแบ่งข้อกำหนดเรื่องความถูกต้องของข้อมูลโดยทั่วไป   (ข้อกำหนดสภาวะคงที่)  ออกเป็น 4   ประเภท  คือ
      1. ข้อกำหนดเรื่องชนิดของข้อมูล   (Type  Constraint)
      2. ข้อกำหนดแอตทริบิวต์   (Attibute  Constraint)
      3. ข้อกำหนดเรื่องโครงสร้างตาราง   (Relvar  Constraint)
      4.  ข้อกำหนดเรื่องฐานข้อมูล  (Database  Constraint)
  3. Isolation – เมื่อ Transaction หนึ่งมีการใช้ข้อมูลจากตารางต่างๆ เพื่อทำการประมวลผล Transection อื่นจะไม่สามารถใช้ข้อมูลที่ใช้อยู่ได้ ต้องรอจนกว่า Transection แรกทำงานจนเสร็จ
  4. Durability – Transection ที่ทำงานสำเร็จและได้รับการยืนยันจากระบบแล้ว จะไม่สามารถยกเลิกได้อีก
  5. Serializability – เมื่อมีหลาย Transaction ทำงานพร้อมกันโดยอาจใช้ข้อมูลเดียวกันหรือต่างกัน ผลลัพธ์จากการประมวลผลดังกล่าว เสมือนได้ผลลัพธ์จากการทำงานเป็นลำดับ

MQSeries Control Transaction Management

การจัดการ Transection ด้วยภาษา SQL มี 2 คำสั่ง

 

  1. COMMIT คำสั่งยืนยันการทำงานสำเร็จ
  2. ROLLBACKคำสั่งยกเลิกการทำงานของ Transaction
    1. ถ้ามี COMMIT แล้วระบบเกิดความเสียหายจะรับรองว่าข้อมูล COMMIT แล้วจะไม่สูญหาย
    2. ถ้ายังไม่ได้ COMMIT คำสั่ง ROLLBACK จะช่วยรับรองว่าข้อมูลเดิมก่อนทำ Transaction จะไม่สูญหาย

Transaction Log แต่ละ Transaction ประกอบด้วย

  1. ชนิดของ Operation (Update, Delete, Insert)
  2. ชื่อของการกระทำที่มีผลต่อ Transaction
  3. ค่าก่อนและหลัง update
  4. ค่า Pointer ที่ชี้ไปยัง Transactiong Log ก่อนและหลังใน Transaction เดียวกัน
  5. COMMIT จบ Transaction

Concurrency Control (การควบคุมการทำงานของผู้ใช้งานหลายคนในเวลาเดียวกัน)

Concurrency Control การควบคุมการทำงานของผู้ใช้งานหลายคนในเวลาเดียวกัน

ปัญหาที่เกิดขึ้น

  1. Lost Updates การสูญเสียการปกป้องข้อมูล – เกิดจากการอ่านข้อมูลตัวเดียวกันไปใช้งาน แล้วส่ง Update ข้อมูลตัวเดียวกัน 1 ในการ Update จะสูญเสียไป
  2. Uncommitted data การยกเลิกการปกป้องข้อมูล – Transaction หนึ่งสั่ง ROLLBACK แล้วจากที่ Transaction ที่สอง เข้ามาใช้ข้อมูลที่ยังไม่ได้ COMMIT
  3. Insonsistent Retievals การขัดแย้งของการทำงาน – Trasaction แรกเข้ามาใช้ข้อมูล แต่ Transaction สองเข้ามาเปลี่ยนข้อมูลไปก่อน Transavtion แรกจึงได้ข้อมูลที่เปลี่ยนแปลงแล้วไปใช้งาน ทั้งที่ต้องการจะให้ข้อมูลก่อนการปกป้อง

1. Concurrency Control ด้วยวิธี Locking

  • เพื่อเป็นการการันตีข้อมูลให้กับ Transaction ที่ทำงานอยู่
  • เพื่อป้องกัน Transaction อื่นเข้ามาอ่านข้อมูลที่ยังไม่สอดคล้องถูกต้อง

Lock Granularity (การจองข้อมูล)

  • ระดับที่สามารถ Lock ได้
    • Database
    • Table
    • Page
    • Row
    • Field (Attribute)
  • ประเภทของการ Lock
    • Binary Lock : มี 2 สถานะ Locked= 1, Locked = 0
    • Exclusive Lock : Transaction ที่จองจะใช้งานอ่านและเขียนได้ Transaction เดียว Transaction อื่นจะใช้ต้องรอ
    • Shared Lock :  Transaction ที่จองจะให้งานอ่านและเขียนได้ Transaction อื่นเข้ามาอ่านได้แต่เข้าไม่ได้

2. Two-Phase Locking เพื่อให้แน่ใจว่าเป็นไปตามลำดับแต่ไม่ป้องกัน dead lock มี 2 เฟส

  1. Growing phase – ทุก Transaction จะทำการ lock ได้แต่ปลด lock ไม่ได้
  2. Shrinking phase – ทุก Transaction จะปลด lock ได้แต่จะ lock ใหม่ไม่ได้

ข้อดี (จะช่วยให้)

  • 2 Transaction ไม่ทำการ lock ที่ขัดแย้งกัน
  • จะไม่มีการปลด lock และ lock ใน Transaction เดียวกัน
  • ข้อมูลจะไม่ถูกเปลี่ยนแปลงขนาดที่ยัง lock อยู่

 Dead Locks

  • เป็นสภาวะที่เกิดขึ้นเมื่อ 2 Transaction ต่างรอให้อีก Transaction ปลด lock ข้อมูล
  • จะเกิดขึ้นเมื่อ Transaction หนึ่งต้องการใช้ Exclisive lock
  • จะไม่เกิดขึ้นในกรณีใน Shared lock

วิธีการควบคุม Dead locks

  1. Prevention ป้องกัน
  2. Detaction ตรวจสอบ
  3. Avoidance หลีกเลี่ยง

การเลือกวิธีความคุม Dead Locks ขึ้นอยู่กับสภาวะแวดล้อมของ Database

  1. ถ้าความน่าจะเป็นต่ำใช้ Detaction
  2. ความน่าจะเป็นสูงใช้ Prevention

3. Time Stamping Methods

  • มีการกำหนดเวลาให้แต่ละ Transaction
  • มีการลำดับที่แน่นอนของ Transaction
  • Uniqueness มั่นใจว่าไม่มีค่าเวลาที่เท่ากัน
  • Monotonicityมั่นใจว่าค่าเวลาเพิ่มขึ้นเสมอมี 2 วิธี
    •  Wait / Dia
    •  Wound / Wait

Time Stamping Methods  4. Optimistic Methods

  • ไม่ต้อง conflict
  • ไม่ต้องใช้การ Lock หรือ time stamp
  • transaction ไม่ต้องตรวจสอบหน้าจนกว่าจะ commit
  • phase : read, validation (ตรวจสอบ), write

Transaction Recovery

  1. Write-ahead-log-protocol – มั่นใจว่า transaction log ได้ถูกบันทึกก่อนที่จะ update ข้อมูล
  2. Redunant transaction log – มั่นใจว่าถ้า hdd เสีย จะต้องกู้กลับมาได้
  3. Buffers – มีหน่วยความจำชั่วคราวในความจำหลัก
  4. Checkpoints – ช่วงเวลาที่เอาข้อมูลจาก buffer มาบันทึกลง hdd
  5. Deferred-Write Technique
    1. แค่ transaction log ที่ update
    2. ขั้นตอนการ recovery : หาจุด checkpoint สุดท้าย
      1. ถ้า trans commit ก่อน chkpt -> ไม้ต้องทำอะไร
      2. ถ้า trans commit แล้ว chkpt -> ใช้ trans log ในการทำ trand ใหม่
      3. ถ้า tran มีการ rollback -> ไม้ต้องทำอะไร
  6.  Write-through technique
    1. Database อยู่ระหว่าง update โดย trans กำลัง execute
    2. ขั้นตอนการ recovery : หาจุด chkpt สุดท้าย
      1. ถ้า trans commit ก่อง chkpt -> ไม่ต้องทำอะไร
      2. ถ้า trans commit แล้ว chkpt -> DBMS ส่ง redo trans โดยใช้ค่า after
      3. ถ้า trans มีการ rollback -> ไม่ต้องทำอะไรเพราะไม่มีการ update เจ็ดขั้น

 

Jiradech S.

การตลาดออนไลน์ เทคโนโลยี ธุรกิจ Passive Income ทำตัวเป็น Blogger แถมกด Shutter รัวๆ แล้วออกไปปั่นๆ พร้อมทั้งเก็บเป็นเรื่องราวดีๆผ่านพื้นที่ตรงนี้ออกมาเป็นบทความ รูปภาพ วิดีโอ แบบเล่าสู่กันฟัง อย่าลืมมาติดตามกันนะครับ

KEEP READING

อ่านต่อ

Spotify ธุรกิจหมดเวลาสายเทา! Spotify จับมือ Universal Music ปลดล็อกฟีเจอร์ AI Cover และ Remix แบบถูกลิขสิทธิ์ จุดเปลี่ยนครั้งใหญ่ของคนชอบแต่งเพลงกลายเป็นข่าวทอล์กออฟเดอะทาวน์ที่ทำเอาทั้งวงการเพลงและสายเทคต้องหันมามองพร้อมกัน เมื่อยักษ์ใหญ่แพลตฟอร์มสตรีมมิ่งอย่าง Spotify และค่ายเพลงระดับโลกอย่าง Universal Music Group (UMG) ได้ประกาศปิดดีลลิขสิทธิ์ครั้งประวัติศาสตร์ ร่วมมือกันเปิดทางให้แฟนเพลงสามารถใช้พลังของ Generative AI ในการทำเพลงคัฟเวอร์ (AI Covers) และรีมิกซ์เพลง… SpaceX IPO ใครได้ประโยชน์ที่สุด? ทำไมคำตอบอาจเป็น Elon Musk ธุรกิจSpaceX IPO ใครได้ประโยชน์ที่สุด? ทำไมคำตอบอาจเป็น Elon Musk และคนใกล้ตัวมากกว่านักลงทุนทั่วไปการ IPO ของ SpaceX กลายเป็นหนึ่งในดีลที่ถูกจับตามองมากที่สุดในโลกเทคโนโลยีและการเงิน เพราะนี่ไม่ใช่แค่บริษัทจรวดที่กำลังจะเข้าตลาดหุ้น แต่เป็นบริษัทที่รวมหลายความฝันใหญ่ของ Elon Musk ไว้ด้วยกัน ทั้งจรวด Starship, อินเทอร์เน็ตผ่านดาวเทียม Starlink, โครงการไป Mars… Google เตรียมยัดโฆษณา AI ลง Search ค้นหาอะไรก็เจอสปอนเซอร์ ธุรกิจGoogle โฉมใหม่! เตรียมยัดโฆษณา AI ลง Search ค้นหาอะไรก็เจอสปอนเซอร์แบบคุยรู้เรื่อง (เนียนจนแยกยาก!)เตรียมตัวรับมือกันให้ดี เพราะ Google Search ที่เราคุ้นเคยกำลังจะเปลี่ยนไปแบบกู่ไม่กลับ! ยุคนี้ช่องค้นหาข้อมูลแบบเดิม ๆ กำลังจะกลายเป็นอดีต เพราะ Google กำลังอัปเกรดตัวเองเข้าสู่ยุค AI เต็มตัว ไม่ว่าจะเป็นการพิมพ์ถาม-ตอบแบบแชตสนทนา การสรุปเนื้อหาจากหลาย ๆ… LinkedIn เอาจริง! สั่งทุบ Reach โพสต์ เทคโนโลยีLinkedIn เอาจริง! สั่งทุบ Reach โพสต์ “AI Slop” แฉหมดเปลือกเทคนิคเขียนยังไงให้รอด ไม่โดนปิดกั้นเคยเป็นไหม? ช่วงหลัง ๆ มานี้เปิด LinkedIn ขึ้นมาทีไร ไถฟีดไปทางไหนก็เจอแต่โพสต์หน้าตาคล้าย ๆ กันไปหมด ประโยคเปิดหัวดูดี มีการจัดช่องไฟสวยงาม มี Bullet Point สรุปเป็นข้อ ๆ… ลดพื้นที่ Gmail เหลือ 5GB ถาวร เทคโนโลยีอย่าเพิ่งตกใจ! Google ยังไม่ลดพื้นที่ Gmail เหลือ 5GB ถาวร แค่แอบทดสอบเงื่อนไขใหม่สำหรับไอดีใหม่บางกลุ่มช่วงนี้ใครที่ไถฟีดโซเชียลบ่อย ๆ น่าจะผ่านตากับข่าวลือหนาหูที่ทำเอาเสียวสันหลังวาบว่า “Google กำลังจะปรับลดพื้นที่ Gmail ฟรีจาก 15GB เหลือแค่ 5GB” จนหลายคนเริ่มกังวลว่า ต่อไปนี้จะใช้งานอีเมล ลิงก์เก็บข้อมูล หรือสำรองรูปภาพกันลำบากขึ้นหรือเปล่า? แต่ช้าก่อนครับ! จากข้อมูลล่าสุดที่มีการอัปเดตออกมา… เทคโนโลยีYouTube เอาจริง! เพิ่มฟีเจอร์คุมเด็กไถ Shorts แบบเข้ม ๆ บล็อกไม่ให้ดูเลยก็ได้นะแม่!ช่วงนี้ใครมีน้อง มีลูก หรืออยู่บ้านเดียวกับวัยรุ่นน่าจะเข้าใจฟีล “ตั้งใจจะดูคลิปความรู้ 5 นาที… แต่เผลอไถ Shorts ยาวเป็นชั่วโมง” 😅 อาการสมาธิหลุดเพราะอัลกอริทึมของคลิปสั้นมันช่างเพลินเหลือเกิน กลายเป็นปัญหาใหญ่ของหลายบ้านที่ทำให้เด็ก ๆ นอนดึกหรือเสียการเรียน ล่าสุด YouTube…
กำลังโหลด…
MORE

บทความที่เกี่ยวข้อง