ข้ามไปที่เนื้อหาหลัก

Transaction

ทำความรู้จักกับ 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 อย่างถาวร และจะคงอยู่ แม้ว่าระบบจะล่ม

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

Spiral model

Spiral model Spiral model คือ Software Development Process หนึ่งที่ถูกพัฒนาขึ้นโดยเอาจุดแข็งของ Development Model อื่นที่ดีอยู่แล้วมาประยุกต์ ( Waterfall Mode) ใช้ตีค่าความเสี่ยงที่เกิดเพื่อจะได้ทราบว่าจุดใดมีความเสี่ยงมากน้อยขนาดไหน จะได้หาวิธีลดความเสี่ยง ซึ่งความเสี่ยงเป็นสาเหตุ ที่ทำให้การพัฒนาไม่ประสบความสำเร็จ Spiral Model เป็นโมเดลที่ถูกพัฒนาขึ้นจาก Waterfall Model ที่มีการทำงานเป็นขั้นตอนหากในขั้นตอนแรกวิเคราะห์ความต้องการไม่ดี ไม่ชัดเจน ความเสี่ยงที่ระบบจะถูกพัฒนาไม่ตรงตามความต้องการของลูกค้าสูง กระบวนการนี้จึงนำเอาข้อดีของ Prototype มาผสมผสานให้เกิดคามชัดเจนและมีการวิเคราะห์ความเสี่ยงในทุกชั้น ทำให้โอกาสที่ระบบจะล้มเหลวมีน้อยลง ตัวอย่างของ Waterfall Model หรือ The Linear Model ภายหลังถูกปรับเปลี่ยนเป็นรูปเเบบจําลองบันไดเวียน( Spiral model) เพราะเเบบเก่านั่นติดข้อจํากัดคือ ถ้าพบว่าขั้นตอนไหนผิดพลาดเเล้วตอนเสร็จกระบวนการทั้งหมด จะเเก้ไขไม่ได้เลย ต้องจําเป็นที่จะต้องเริ่มรอบใหม่( Iteration) อีกครั้งนั่นเอง               Spiral model จะมีลักษณะแบบก้นหอยเป็นวงๆชั้นๆ

ซอฟต์แวร์ที่ใช้ในองค์กรทั่วไป

โปรแกรมประยุกต์ที่นิยมใช้ในงานธุรกิจ โปรแกรมประยุกต์ที่นิยมใช้ในงานธุรกิจ ซอฟต์แวร์ประยุกต์(application software)        เป็นซอฟต์แวร์ที่ใช้กับงานด้านต่าง ๆ ตามความต้องการของผู้ใช้ ที่สามารถนำมาใช้ประโยชน์ได้โดยตรง ปัจจุบันมีผู้พัฒนาซอฟต์แวร์ใช้งานทางด้านต่าง ๆ ออกจำหน่ายมาก การประยุกต์งานคอมพิวเตอร์จึงกว้างขวางและแพร่หลาย เราอาจแบ่งซอฟต์แวร์ประยุกต์ออกเป็นสองกลุ่มคือ ซอฟต์แวร์สำเร็จ และซอฟต์แวร์ที่พัฒนาขึ้นใช้งานเฉพาะ ซอฟต์แวร์สำเร็จในปัจจุบันมีมากมาย เช่น ซอฟต์แวร์ประมวลคำ ซอฟต์แวร์ตารางทำงาน ฯลฯ          4.1 ซอฟต์แวร์ประยุกต์ทั่วไป       ซอฟแวร์ประยุกต์ทั่วไป (general purpose software) เป็นซอฟแวร์ที่พัฒนาขึ้นมาเพื่อนำไปประยุกต์ใช้กับงานให้เหมาะสมกับลักษณะงานของผู้ใช้คอมพิวเตอร์ เช่น การจัดพิมพ์รายงาน การนำเสนอ เป็นต้น               1) ซอฟต์แวร์ประมวลคำ(word processing software) เป็นซอฟต์แวร์ประยุกต์ใช้สำหรับการพิมพ์เอกสาร สามารถแก้ไข เพิ่ม แทรก ลบ และจัดรูปแบบเอกสารได้อย่างดี เอกสารที่พิมพ์ไว้จัดเป็นแฟ้มข้อมูล เรียกมาพิมพ์หรือแก้ไขใหม่ได้ การพิมพ์ออกทางเครื่องพิมพ์ก็มีรูปแบบ

Overview of order fulfillment & Logistics

Overview of order fulfillment Order fulfillment หมายถึง การจัดหาสินค้าหรือบริการให้กับลูกค้าหลังได้รับการสั่งซื้อ ตรงตามเวลา Order fulfillment ถือเป็นส่วนหนึ่งของ back-office operation และสัมพันธ์อย่างมากกับส่วน front-office operation Back-office operation เช่น บัญชี สินค้าคงคลัง การจัดส่งเป็นต้น Front-office operation (หรือ customer-facing activities) เช่น การขายและโฆษณา เป็นต้น Overview of Logistics Logistics คือ กระบวนการในการวางแผน (planning) การนำไปใช้จริง (implement) การควบคุม (controlling) การไหล (flow) และ การจัดเก็บ (storage) ของสินค้าและงานบริการต่าง ๆ อย่างมีประสิทธิภาพและประสิทธิผล ทั้งนี้รวมถึงสารสนเทศที่เกี่ยวข้องจากจุดเริ่มต้น (point of origin)ไปยังจุดที่เรียกใช้งาน (point of consumption) จุดมุ่งหมายก็เพื่อบรรลุถึงความต้องการของลูกค้า ตามนิยามนี้หมายรวมไปถึง inbound, outbound, internal และ external movement รวมไปถึงการส่งวัตถุดิบและสินค้ากลับคืน และ รวมไปถึง order fulfillment อีกด้วย ปัจจัยหลักของ order fulfillment คือ ทำการจัดส่งสินค้าหรืองานบริการให้ตรงเว