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:

  • CRM(Customer Relationship Management) คืออะไร CRM คืออะไร CRM หมายถึงอะไร มาดูกัน CRM เป็นส่วนหนึ่งของ ERP(Enterprise Resource Planning) CRM หรือ (Customer Relationship Management)  คือ หน่วยงานที่เกี่ยวกับข้อมูลลูกค้า(ลูกค้าสัมพันธ์) ช่วยในการจัดการให… Read More
  • อินเทอร์เน็ต(Internet) คืออะไรในปัจจุบันมีการนำคอมพิวเตอร์เข้ามาใช้งานในหน่วยงานประเภทต่างๆ มากมาย ซึ่งมีผลทาให้การทางานในองค์กรหรือหน่วยงาน สามารถทางานได้อย่างเป็นระบบ และสามารถพัฒนาการทางานได้อย่างต่อเนื่อง ซึ่งการนำคอมพิวเตอร์เข้ามาใช้ในองค์กร หรือหน่ว… Read More
  • เราจะเชื่อมต่ออินเทอร์เน็ต(internet) ได้ยังไง ก่อนอื่นเราต้องรู้จัก ISP ก่อน แล้ว ISP คืออะไรล่ะ? ISP (Internet Service Provider) คือ หน่วยงานที่ให้บริการเชื่อมต่อเข้ากับระบบเครือข่าย ผู้ให้บริการอินเทอร์เน็ต(Internet) นั่นเอง ในประเทศไทย มีผู้ให้บริการอยู่ 2 ประเภท 1.… Read More
  • Electronic Commerce(e-commerce) คืออะไรE-Commerce หรือชื่อเต็มๆว่า Electronic Commerce คือการทำธุรกิจผ่านอินเทอร์เน็ต(Internet) หรือ TPS ซึ่งมุ่งเน้นการซื้อขายสินค้าผ่าน internet ธุรกิจ ที่ควรใช้ e-commerce ธุรกิจที่ต้องใช้กระดาษเยอะๆ ธุรกิจที่เสียเวลา ธุรกิจที่… Read More
  • Domain name คืออะไรDomain name คืออะไร เราต้องรู้จัก IP Address ก่อน IP Address คือเป็นเลขชุดสี่ตัว ซึ่งมีค่าตั้งแต่ 0-255 คั่นด้วยจุด เช่น 74.125.224.72 ซึ่งเวลาเราจะเข้าเว็บไซต์หนึ่งๆนั้น จะเชื่อมไปที่ IP Address ซึ่งเป็นที่อยู่ของเว็บไ… Read More

2 comments: