กลับไปหน้าบทความ

อ่าน 1 นาที

ร้านจำหน่ายสินค้าอีเวนต์

ระบบจัดเก็บข้อมูลเหตุการณ์ เป็น ฐานข้อมูลประเภทหนึ่งที่ได้รับการออกแบบมาเพื่อจัดเก็บเหตุการณ์โดยเฉพาะ

ร้านจำหน่ายสินค้าอีเวนต์

ระบบจัดเก็บข้อมูลเหตุการณ์ เป็น ฐานข้อมูลประเภทหนึ่งที่ได้รับการออกแบบมาเพื่อจัดเก็บเหตุการณ์โดยเฉพาะ

โดยหลักการแล้ว หน่วยเก็บข้อมูลเหตุการณ์จะบันทึกเฉพาะเหตุการณ์ที่ส่งผลกระทบต่อเอนทิตี แฟ้มข้อมูล หรือนโยบายและสถานะของเอนทิตี ณ จุดใดจุดหนึ่งในประวัติสามารถสร้างขึ้นใหม่ได้โดยการเล่นซ้ำเหตุการณ์ที่เกี่ยวข้องตามลำดับ เหตุการณ์ (และข้อมูล ที่เกี่ยวข้อง ) เป็นข้อเท็จจริง "จริง" เพียงอย่างเดียวที่ควรจัดเก็บไว้ในฐานข้อมูล วัตถุอื่น ๆ ทั้งหมดสามารถสร้างขึ้นจากเหตุการณ์เหล่านี้ได้ ซึ่งหมายความว่าวัตถุเหล่านั้นจะถูกสร้างขึ้นในหน่วยความจำโดยโค้ด ขณะทำงาน เมื่อจำเป็น (เช่น สำหรับการแสดงผลในส่วนติดต่อผู้ใช้ ) ในทางทฤษฎี วัตถุใด ๆ ที่รวบรวมข้อมูลเหตุการณ์ที่บันทึกไว้จะไม่ถูกจัดเก็บไว้ในฐานข้อมูล แต่จะถูกสร้างขึ้น " แบบเรียลไทม์ " โดยการสำรวจประวัติเหตุการณ์ เมื่ออินสแตนซ์ของวัตถุที่รวบรวมข้อมูลไม่จำเป็นอีกต่อไป ก็สามารถทิ้ง (ปล่อยออกจากหน่วยความจำ) ได้ง่าย ๆ

ตัวอย่างเช่น ในเรื่องกรมธรรม์ประกันภัย

ตัวอย่างเช่น แนวคิดการจัดเก็บเหตุการณ์ของฐานข้อมูลสามารถนำไปใช้กับกรมธรรม์ประกันภัยหรือเอกสารบำนาญได้ ในกรมธรรม์หรือเอกสารเหล่านี้ การสร้างอินสแตนซ์ของแต่ละวัตถุที่ประกอบขึ้นเป็นเอกสารหรือกรมธรรม์ (เช่นบุคคลคู่ค้าการจ้างงาน ฯลฯ) สามารถอนุมานและสร้างขึ้นในหน่วยความจำโดยอิงจากเหตุการณ์ในโลกแห่งความเป็นจริงได้

ไทม์ไลน์คู่

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

วันทั้งสองมีดังนี้:

  • วันที่มีผลบังคับใช้ คือวันที่กิจกรรมนั้นมีผลบังคับใช้
  • วันที่ทำรายการ คือวันที่บันทึกเหตุการณ์ลงในฐานข้อมูล

การแก้ไขข้อผิดพลาด

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

ข้อดีและข้อเสีย

ข้อดีอย่างหนึ่งของแนวคิดการจัดเก็บเหตุการณ์คือ การจัดการผลกระทบของเหตุการณ์ย้อนหลัง (เหตุการณ์ที่มีผลก่อนเหตุการณ์ก่อนหน้า และอาจทำให้เหตุการณ์ก่อนหน้านั้นเป็นโมฆะ) ทำได้ง่ายกว่ามาก

การใช้ Event Store จะช่วยลดความซับซ้อนของโค้ด เนื่องจากไม่จำเป็นต้องย้อนกลับสถานการณ์ที่ผิดพลาดและนำสถานการณ์ที่ถูกต้องกลับมาใช้ใหม่อีกต่อไป

ข้อเสียอาจอยู่ที่ว่าโค้ดจำเป็นต้องสร้างอ็อบเจ็กต์ทั้งหมดในหน่วยความจำขึ้นใหม่ตามเหตุการณ์ทุกครั้งที่มีการเรียกใช้บริการสำหรับแฟ้มข้อมูลหรือนโยบายเฉพาะเจาะจง

เมื่อเปรียบเทียบกับฐานข้อมูลทั่วไป

ในฐานข้อมูลทั่วไป การจัดการเหตุการณ์ย้อนหลังเพื่อแก้ไขเหตุการณ์ที่ผิดพลาดก่อนหน้านี้อาจเป็นเรื่องยุ่งยาก เนื่องจากมักส่งผลให้ต้องยกเลิกธุรกรรมและวัตถุที่ผิดพลาดก่อนหน้านี้ทั้งหมด และรวบรวมธุรกรรมและวัตถุที่ถูกต้องใหม่เข้ามา ในที่เก็บเหตุการณ์ จะมีการจัดเก็บเฉพาะเหตุการณ์ใหม่ (และข้อเท็จจริงที่เกี่ยวข้อง) เท่านั้น จากนั้นโค้ดจะกำหนดธุรกรรมและวัตถุใหม่โดยอิงจากข้อเท็จจริงใหม่ในหน่วยความจำ

ดูเพิ่มเติม

  • ฐานข้อมูลเชิงเวลาคือฐานข้อมูลที่จัดเก็บข้อมูลที่เกี่ยวข้องกับช่วงเวลาต่างๆ (เช่น อดีต ปัจจุบัน และอนาคต) เพื่อใช้ในการพิจารณาธุรกรรม ความถูกต้อง หรือการตัดสินใจ
  • การจัดอันดับร้านค้าจำหน่ายสินค้าหรือบริการตามความนิยมของ DB-Engine อัปเดตทุกเดือน
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Event_store&oldid=1164722696 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ร้านจำหน่ายสินค้าอีเวนต์

ระบบจัดเก็บข้อมูลเหตุการณ์ เป็น ฐานข้อมูลประเภทหนึ่งที่ได้รับการออกแบบมาเพื่อจัดเก็บเหตุการณ์โดยเฉพาะ

ตัวอย่างเช่น ในเรื่องกรมธรรม์ประกันภัย

ตัวอย่างเช่น แนวคิดการจัดเก็บเหตุการณ์ของฐานข้อมูลสามารถนำไปใช้กับ กรมธรรม์ประกันภัย หรือเอกสารบำนาญได้ ในกรมธรรม์หรือเอกสารเหล่านี้ การสร้างอินสแตนซ์ของแต่ละวัตถุที่ประกอบขึ้นเป็นเอกสารหรือกรมธรรม์ (เช่นบุคคล คู่ ค้า การจ้างงาน ฯลฯ

ไทม์ไลน์คู่

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

การแก้ไขข้อผิดพลาด

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