2/09/2015

ทำความรู้จักกับ Transaction ใน Database


Transaction คือ การดำเนินการธุรกรรม ที่กระทำข้อมูลให้เกิดการเปลี่ยนจากสถานะนึง ไปเป็นอีกสถานะนึง ภายในหนึ่ง Transaction อาจจะมีหนึ่งคำสั่ง หรือหลายๆคำสั่งก็ได้ เช่น การโอนเงิน ก็จะเกิดจากการถอนเงินจากบัญชีนึง และนำไปฝากให้อีกบัญชีนึงนั่นเอง

ก่อนจะไปรู้จักอย่างอื่นเรามารู้จักกับสถานะของ Transaction ก่อน ซึ่งมีด้วยกัน 2 สถานะคือ

1.) Commit หมายถึง คำสั่งทุกคำสั่งที่เกิดใน Transaction นั้น ประมวลผลเสร็จสมบูรณ์ทุกคำสั่ง ทำให้เปลี่ยนแปลงค่าของข้อมูลใน Database อย่างถาวร

2.) Rollback หมายถึงการประมวลผลใน Transaction นั้นไม่สมบูรณ์ หรือเกิดเหตุขัดข้องขึ้นตอนรันคำสั่ง จะทำให้ Transaction นั้นถูกยกเลิก และค่าข้อมูลจะย้อนกลับไปเป็นค่าเก่า ค่าที่ก่อนจะเกิดการประมวลผล Transaction นี้ เช่น มีลูกค้าต้องการจะถอนเงินออกจากบัญชี แต่บัญชีมีเงินไม่มีเงินพอสำหรับจำนวนที่จะถอน จะทำให้เกิดการ Rollback ยกเลิก Transaction ไป

คุณสมบัติของ Transaction มี 4 อย่าง

1.) Atomicity จะมีด้วยกัน 2 states

  • Done - คือ Transaction นั้นจะประมวลผลเสร็จสมบูรณ์ทุกคำสั่ง ไม่มีผิดพลาด ข้อมูลจะปรับเปลี่ยน และโชว์ให้เห็นเหมือนเรียกดูใน Database ทันที
  • Never Started คือ ถ้าเกิดการประมวลผลใน Transaction นั้นเกิดการผิดพลาดขึ้น จะเกิดการ Rollback ผลนำข้อมูลกลับไปเป็นค่าเดิมก่อนที่จะเกิด Transaction
2.) Consistency การประมวลผล Transaction จะก่อให้เกิดการเปลี่ยนสถานะของข้อมูล ดังนั้นจะต้องรักษาความถูกต้องของข้อมูลเอาไว้ คือหลังจากประมวลผลเสร็จ ข้อมูลจะต้องอยู่ในสถานะที่ถูกต้อง ถ้าไม่ถูกต้องก็จะเกิดการ Rollback

3.) Isolation คือ Transaction ที่มีการทำงานพร้อมกันในเวลาเดียวกันจากผู้ใช้หลายๆคนนั้น จะต้องไม่เกิดการรบกวน แทรกแซงกัน

4.) Durability or permanency หมายถึง Transactions ที่ทำคำสั่งเสร็จสมบูรณ์ คือเกิดการ commit จะทำให้ข้อมูลอยู่ใน Database อย่างถาวร และจะคงอยู่ แม้ว่าระบบจะล่ม

Related Posts:

  • มาทำความรู้จักกับ DigitalOcean กันเถอะวันนี้เราจะมาแนะนำให้รู้จักกับ DigitalOcean  สมัครได้ที่ Register DigitalOcean คุณจะได้รับไปฟรีๆ $10 หลังจากสมัคร DigitalOcean คือ บริการ Virtual Private Server (VPS) ส่วนตัวให้เรานั่นเอง  งั้… Read More
  • Password ที่เราไม่ควรนำมาตั้ง1.) Password เกี่ยวกับเบอร์โทรของเรา ซึ่งเพื่อน หรือผู้ที่ไม่ประสงค์ดีกับเราสามารถหาเบอร์ของเราได้อย่างไม่ยากเย็น 2.) Password ที่ตั้งเกี่ยวกับวันเกิดของตัวเรา เช่น 11022537 หรือชื่อเราแล้วตามด้วยวันเกิด ทั้งหลาย 3.) Passwo… Read More
  • HCI ( Human Computer Interaction) คืออะไร? HCI คืออะไร ? ทำไมต้อง HCI ? HCI ( Human Computer Interaction) คือ การศึกษาการปฎิสัมพันธ์ระหว่างมนุษย์ กับคอมพิวเตอร์ ศึกษาการใช้งานของผู้ใช้ ว่ามีการใช้งาน คอมพิวเตอร์ หรือระบบคอมพิวเตอร์อย่างไร เพื่อให้ผู้พัฒนาร… Read More
  • มารู้จัก Dropbox กันเถอะมาทำความรู้จักกับ Dropbox ว่า Dropbox  คืออะไร ดียังไง และการใช้งานเบื้องต้น Dropbox นั้นคือเว็ปไซต์ ที่ให้บริการฝากไฟล์ ของเรา ไม่ว่าจะเป็นรูปภาพ หรือไฟล์เอกสารต่างๆ และสามารถแชร์ให้คนอื่นผ่านลิงค์ ไ… Read More
  • ทำโลโก้แบบถูกๆ หรือจ้างงานต่างๆ เพียง $5 ด้วย Fiverr คราวก่อนเราเคยแนะนำการสร้างรายได้ด้วย Fiverr กันไปแล้วนะครับ อ่านได้ที่ Make Money With Fiverr แต่ทีนี้เราก็สามารถใช้บริการถูกๆจาก Fiverr ได้เช่นกันครับ ซึ่งบริการใน Fiverr จะเป็นงานเล็กๆ ในราคา $5 เท่านั้น … Read More

2 comments: