อ่าน 4 นาที
ฐานข้อมูลแบบเรียลไทม์
ฐานข้อมูลแบบเรียลไทม์ มีสองความหมาย ความหมายที่พบบ่อยที่สุดคือ ระบบฐานข้อมูล ที่ใช้เทคโนโลยีสตรีมมิ่งในการจัดการเวิร์กโหลดที่มีสถานะเปลี่ยนแปลงอยู่ตลอดเวลา [ 1 ]...
ฐานข้อมูลแบบเรียลไทม์
ฐานข้อมูลแบบเรียลไทม์มีสองความหมาย ความหมายที่พบบ่อยที่สุดคือระบบฐานข้อมูลที่ใช้เทคโนโลยีสตรีมมิ่งในการจัดการเวิร์กโหลดที่มีสถานะเปลี่ยนแปลงอยู่ตลอดเวลา[ 1 ]ซึ่งแตกต่างจากฐานข้อมูลแบบดั้งเดิมที่มีข้อมูลคงที่ซึ่งส่วนใหญ่ไม่ได้รับผลกระทบจากเวลา เมื่อกล่าวถึงเทคโนโลยีสตรีมมิ่ง การประมวลผลแบบเรียลไทม์หมายความว่าธุรกรรมได้รับการประมวลผลเร็วพอที่จะได้รับผลลัพธ์กลับมาและสามารถดำเนินการได้ทันที[ 2 ]ฐานข้อมูลแบบเรียลไทม์ดังกล่าวมีประโยชน์ในการช่วยแพลตฟอร์มโซเชียลมีเดียในการกำจัดข่าวปลอม กล้องวงจรปิดในร้านค้าช่วยระบุผู้ต้องสงสัยขโมยของจากพฤติกรรม/การเคลื่อนไหว เป็นต้น
ความหมายที่สองของคำว่า “ฐานข้อมูลแบบเรียลไทม์” ยึดตามคำจำกัดความของเรียลไทม์ที่เข้มงวดกว่า ซึ่งสอดคล้องกับการประมวลผลแบบเรียลไทม์ระบบฐานข้อมูลแบบเรียลไทม์ที่เข้มงวดทำงานร่วมกับระบบปฏิบัติการแบบเรียลไทม์เพื่อให้มั่นใจถึงความถูกต้องของข้อมูลตามเวลาผ่านการบังคับใช้กำหนดเวลาของธุรกรรมฐานข้อมูล และรวมถึงกลไก (เช่น นโยบายการจัดกำหนดการธุรกรรม) เพื่อเพิ่มจำนวนธุรกรรมที่สำเร็จให้สูงสุด และลดจำนวนธุรกรรมที่ถูกยกเลิกให้น้อยที่สุด ในขณะที่ตัวชี้วัดประสิทธิภาพสำหรับระบบฐานข้อมูลส่วนใหญ่คือปริมาณงานหรือธุรกรรมต่อวินาที ตัวชี้วัดประสิทธิภาพของระบบฐานข้อมูลแบบเรียลไทม์ที่เข้มงวดคืออัตราส่วนของธุรกรรมที่สำเร็จต่อธุรกรรมที่ถูกยกเลิก อัตราส่วนนี้บ่งชี้ว่านโยบายการจัดกำหนดการธุรกรรมมีประสิทธิภาพเพียงใด โดยมีเป้าหมายสูงสุดคือการปฏิบัติตามกำหนดเวลา 100% ของเวลา ฐานข้อมูลแบบเรียลไทม์ที่เข้มงวด ผ่านการบังคับใช้กำหนดเวลา อาจไม่อนุญาตให้ธุรกรรมล่าช้า (เกินกำหนดเวลา) [ 3 ]
ภาพรวม
ฐานข้อมูลแบบเรียลไทม์เป็นฐานข้อมูลแบบดั้งเดิมที่ใช้ส่วนขยายเพื่อให้มีประสิทธิภาพเพิ่มเติมในการตอบสนองที่เชื่อถือได้ โดยใช้ข้อจำกัดด้านเวลาที่แสดงถึงช่วงค่าที่แน่นอนซึ่งข้อมูลนั้นถูกต้อง ช่วงนี้เรียกว่าความถูกต้องเชิงเวลา ฐานข้อมูลแบบเดิมไม่สามารถทำงานได้ภายใต้สถานการณ์เหล่านี้ เนื่องจากความไม่สอดคล้องกันระหว่างวัตถุในโลกแห่งความเป็นจริงและข้อมูลที่แสดงถึงวัตถุเหล่านั้นรุนแรงเกินกว่าที่จะแก้ไขได้ง่ายๆ ระบบที่มีประสิทธิภาพจำเป็นต้องสามารถจัดการกับการสอบถามที่ไวต่อเวลา ส่งคืนเฉพาะข้อมูลที่ถูกต้องเชิงเวลา และรองรับการจัดกำหนดการตามลำดับความสำคัญ ในการป้อนข้อมูลลงในระเบียน มักจะมีเซ็นเซอร์หรืออุปกรณ์ป้อนข้อมูลตรวจสอบสถานะของระบบทางกายภาพและอัปเดตฐานข้อมูลด้วยข้อมูลใหม่เพื่อให้สะท้อนถึงระบบทางกายภาพได้แม่นยำยิ่งขึ้น[ 4 ] เมื่อออกแบบ ระบบฐานข้อมูลแบบเรียลไทม์ควรพิจารณาถึงวิธีการแสดงเวลาที่ถูกต้อง ความสัมพันธ์ของข้อเท็จจริงกับระบบแบบเรียลไทม์นอกจากนี้ ควรพิจารณาถึงวิธีการแสดงค่าคุณลักษณะในฐานข้อมูลเพื่อให้การทำธุรกรรมของกระบวนการและความสอดคล้องของข้อมูลไม่มีการละเมิด
เมื่อออกแบบระบบ สิ่งสำคัญคือต้องพิจารณาว่าระบบควรทำอย่างไรเมื่อไม่สามารถปฏิบัติตามกำหนดเวลาได้[ 5 ]ตัวอย่างเช่น ระบบ ควบคุมการจราจรทางอากาศจะตรวจสอบเครื่องบินหลายร้อยลำอย่างต่อเนื่องและตัดสินใจเกี่ยวกับเส้นทางการบินขาเข้าและกำหนดลำดับการลงจอดของเครื่องบินโดยพิจารณาจากข้อมูลต่างๆ เช่น เชื้อเพลิง ระดับความสูง และความเร็ว หากข้อมูลใดๆ เหล่านี้ล่าช้า ผลลัพธ์อาจร้ายแรงได้ เพื่อแก้ไขปัญหาข้อมูลที่ล้าสมัยการประทับเวลาสามารถสนับสนุนธุรกรรมโดยการให้ข้อมูลอ้างอิงเวลาที่ชัดเจน
การรักษาความสม่ำเสมอของข้อมูล
แม้ว่าระบบฐานข้อมูลแบบเรียลไทม์อาจดูเหมือนระบบที่เรียบง่าย แต่ปัญหาจะเกิดขึ้นเมื่อเกิดการโอเวอร์โหลดเมื่อมีธุรกรรมฐานข้อมูลสองรายการขึ้นไปต้องการเข้าถึงส่วนเดียวกันของฐานข้อมูล ธุรกรรมมักเป็นผลมาจากการดำเนินการของโปรแกรมที่เข้าถึงหรือเปลี่ยนแปลงเนื้อหาของฐานข้อมูล[ 6 ]ธุรกรรมแตกต่างจากสตรีม เนื่องจากสตรีมอนุญาตเฉพาะการดำเนินการแบบอ่านอย่างเดียว ในขณะที่ธุรกรรมสามารถดำเนินการได้ทั้งการอ่านและการเขียน ซึ่งหมายความว่าในสตรีม ผู้ใช้หลายคนสามารถอ่านข้อมูลจากส่วนเดียวกันได้ แต่ไม่สามารถแก้ไขข้อมูลนั้นพร้อมกันได้[ 4 ]ฐานข้อมูลต้องอนุญาตให้มีธุรกรรมเพียงรายการเดียวเท่านั้นที่ดำเนินการในแต่ละครั้งเพื่อรักษาความสอดคล้องของข้อมูลตัวอย่างเช่น หากนักเรียนสองคนต้องการจองที่นั่งที่เหลือในชั้นเรียนและกดส่งพร้อมกัน นักเรียนเพียงคนเดียวเท่านั้นที่ควรลงทะเบียนได้[ 4 ]
ฐานข้อมูลแบบเรียลไทม์สามารถประมวลผลคำขอเหล่านี้โดยใช้อัลกอริธึมการจัดตารางเวลาสำหรับการควบคุมการทำงานพร้อมกันโดยจัดลำดับความสำคัญของคำขอของนักเรียนทั้งสองในลักษณะใดลักษณะหนึ่ง ตลอดบทความนี้ เราถือว่าระบบมีโปรเซสเซอร์ตัวเดียว ฐานข้อมูลบนดิสก์ และพูลหน่วยความจำหลัก[ 7 ]
ในฐานข้อมูลแบบเรียลไทม์ จะมีการกำหนดเส้นตาย และระบบประเภทต่างๆ จะตอบสนองต่อข้อมูลที่ไม่ตรงตามเส้นตายในรูปแบบที่แตกต่างกัน ในระบบเรียลไทม์ แต่ละธุรกรรมจะใช้การประทับเวลาเพื่อกำหนดตารางเวลาของธุรกรรม[ 4 ]หน่วยแมปลำดับความสำคัญจะกำหนดระดับความสำคัญให้กับแต่ละธุรกรรมเมื่อเข้ามาในระบบฐานข้อมูล ซึ่งขึ้นอยู่กับว่าระบบมองเวลาและลำดับความสำคัญอื่นๆ อย่างไร วิธีการประทับเวลาอาศัยเวลาที่เข้ามาในระบบ นักวิจัยระบุว่าสำหรับการศึกษาส่วนใหญ่ ธุรกรรมจะเกิดขึ้นเป็นระยะๆ โดยมีเวลาที่เข้ามาอย่างคาดเดาไม่ได้ ตัวอย่างเช่น ระบบจะกำหนดเส้นตายคำขอที่เร็วกว่าให้กับลำดับความสำคัญที่สูงกว่า และกำหนดเส้นตายที่ช้ากว่าให้กับลำดับความสำคัญที่ต่ำกว่า[ 7 ]ด้านล่างนี้คือการเปรียบเทียบอัลกอริทึมการกำหนดตารางเวลาที่แตกต่างกัน
- กำหนดส่งเร็วที่สุด
- PT = DT — มูลค่าของการทำธุรกรรมไม่สำคัญ ตัวอย่างเช่น กลุ่มคนโทรมาสั่งซื้อสินค้า
- มูลค่าสูงสุด
- PT = 1/VT — กำหนดเวลาไม่สำคัญ ธุรกรรมบางอย่างควรได้รับการประมวลผลโดย CPU ตามความสำคัญ ไม่ใช่ความยุติธรรม นี่เป็นตัวอย่างของความยืดหยุ่นน้อยที่สุดที่สามารถรอได้น้อยที่สุด หากตู้โทรศัพท์มีภาระงานมากเกินไป ผู้ที่โทร 911 ควรได้รับความสำคัญ[ 8 ]
- กำหนดเส้นตายที่มูลค่าสูงเกินจริง
- PT = DT/VT — ให้ความสำคัญเท่ากันกับกำหนดเวลาและค่าต่างๆ โดยพิจารณาจากการจัดตารางเวลา ตัวอย่างเช่น การลงทะเบียนเรียนที่นักเรียนเลือกกลุ่มวิชาที่ต้องการเรียนและกดส่ง ในสถานการณ์นี้ ลำดับความสำคัญที่สูงกว่ามักจะได้รับความสำคัญก่อน ระบบลงทะเบียนเรียนของโรงเรียนอาจใช้เทคนิคนี้เมื่อเซิร์ฟเวอร์ได้รับธุรกรรมการลงทะเบียนสองรายการ หากนักเรียนคนหนึ่งมี 22 หน่วยกิตและอีกคนมี 100 หน่วยกิต คนที่มี 100 หน่วยกิตจะได้รับความสำคัญก่อน (การจัดตารางเวลาตามค่า)
ข้อจำกัดด้านเวลาและกำหนดส่งงาน
ระบบที่รับรู้ข้อจำกัดด้านลำดับและการกำหนดเวลาที่เกี่ยวข้องกับธุรกรรมที่มีกำหนดเวลาแบบยืดหยุ่นหรือแน่นอนได้อย่างถูกต้อง จะใช้ประโยชน์จาก ความ สอดคล้องสัมบูรณ์[ 9 ]อีกวิธีหนึ่งในการทำให้แน่ใจว่าข้อมูลมีความสอดคล้องสัมบูรณ์คือการใช้ข้อจำกัดเชิงสัมพัทธ์ ข้อจำกัดเชิงสัมพัทธ์ทำให้มั่นใจได้ว่าธุรกรรมจะเข้าสู่ระบบในเวลาเดียวกันกับกลุ่มที่เหลือที่เกี่ยวข้องกับธุรกรรมข้อมูลนั้น การใช้กลไกของข้อจำกัดสัมบูรณ์และเชิงสัมพัทธ์ช่วยให้มั่นใจได้ถึงความถูกต้องของข้อมูลเป็นอย่างมาก
นอกจากกำหนดเวลาแล้ว วิธีเพิ่มเติมในการจัดการกับความขัดแย้งในระบบฐานข้อมูลแบบเรียลไทม์คือวิธีการนโยบายการรอ กระบวนการนี้ช่วยให้มั่นใจได้ว่าข้อมูลล่าสุดในระบบที่สำคัญต่อเวลา นโยบายนี้หลีกเลี่ยงความขัดแย้งโดยการขอให้บล็อกที่ไม่ร้องขอทั้งหมดรอจนกว่าบล็อกข้อมูลที่สำคัญที่สุดจะได้รับการประมวลผล[ 4 ]ในขณะที่การศึกษาในห้องปฏิบัติการพบว่านโยบายตามกำหนดเวลาของข้อมูลไม่ได้ปรับปรุงประสิทธิภาพอย่างมีนัยสำคัญ นโยบายการรอแบบบังคับสามารถปรับปรุงประสิทธิภาพได้ถึง 50 เปอร์เซ็นต์[ 10 ]นโยบายการรอแบบบังคับอาจเกี่ยวข้องกับการรอให้ธุรกรรมที่มีลำดับความสำคัญสูงกว่าได้รับการประมวลผลเพื่อป้องกันการติดตาย อีกตัวอย่างหนึ่งของเวลาที่สามารถชะลอข้อมูลได้คือเมื่อบล็อกข้อมูลกำลังจะหมดอายุ นโยบายการรอแบบบังคับจะชะลอการประมวลผลจนกว่าข้อมูลจะได้รับการอัปเดตโดยใช้ข้อมูลอินพุตใหม่ วิธีการหลังนี้ช่วยเพิ่มความแม่นยำของระบบและสามารถลดจำนวนกระบวนการที่จำเป็นที่ถูกยกเลิกได้ โดยทั่วไปแล้ว การพึ่งพานโยบายการรอไม่ใช่ทางเลือกที่ดีที่สุด[ 11 ]
จำเป็นต้องหารือเกี่ยวกับการกำหนดเส้นตาย เส้นตายคือข้อจำกัดสำหรับข้อมูลที่จะถูกแทนที่ในไม่ช้าซึ่งเข้าถึงโดยธุรกรรม เส้นตายอาจเป็นแบบสังเกตการณ์หรือแบบคาดการณ์[ 11 ]ในระบบเส้นตายแบบสังเกตการณ์ ธุรกรรมที่ยังไม่เสร็จทั้งหมดจะถูกตรวจสอบ และตัวประมวลผลจะพิจารณาว่าธุรกรรมใดบ้างที่ตรงตามเส้นตาย[ 4 ]ปัญหาเกิดขึ้นในวิธีนี้เนื่องจากความแปรปรวนที่เกิดจากความแปรปรวนของเวลาค้นหา การจัดการ บัฟเฟอร์และ ข้อผิด พลาดของเพจ[ 12 ]วิธีการจัดระเบียบเส้นตายที่มีเสถียรภาพมากกว่าคือวิธีการคาดการณ์ วิธีนี้จะสร้างตารางเวลาที่เป็นไปได้และพิจารณาว่าธุรกรรมจะพลาดเส้นตายภายใต้ตารางเวลานั้นหรือไม่[ 4 ]
รูปแบบการตอบสนองต่อการพลาดกำหนดเวลาขึ้นอยู่กับว่ากำหนดเวลานั้นเป็นแบบตายตัว แบบยืดหยุ่น หรือแบบแน่นอน กำหนดเวลาแบบตายตัวกำหนดให้แพ็กเก็ตข้อมูลแต่ละแพ็กเก็ตต้องไปถึงปลายทางก่อนที่แพ็กเก็ตจะหมดอายุ และหากไม่เป็นเช่นนั้น กระบวนการอาจสูญหาย ซึ่งอาจก่อให้เกิดปัญหาได้ ปัญหาเช่นนี้ไม่ค่อยเกิดขึ้นบ่อยนัก เนื่องจากจำเป็นต้องมีความสามารถในการรับมือกับทุกสถานการณ์ก่อนที่จะกำหนดกำหนดเวลาเพื่อพิจารณากรณีที่เลวร้ายที่สุด ซึ่งทำได้ยากมาก และหากมีสิ่งที่ไม่คาดคิดเกิดขึ้นกับระบบ เช่น ความผิดพลาดของฮาร์ดแวร์เพียงเล็กน้อย ก็อาจทำให้ข้อมูลผิดพลาดได้ สำหรับกำหนดเวลาแบบยืดหยุ่นหรือแบบแน่นอน การพลาดกำหนดเวลาอาจนำไปสู่ประสิทธิภาพที่ลดลง แต่ไม่ใช่หายนะ[ 7 ]กำหนดเวลาแบบยืดหยุ่นจะตอบสนองกำหนดเวลาให้ได้มากที่สุดเท่าที่จะเป็นไปได้ อย่างไรก็ตาม ไม่มีหลักประกันว่าระบบจะสามารถปฏิบัติตามกำหนดเวลาทั้งหมดได้ หากธุรกรรมพลาดกำหนดเวลา ระบบจะมีอิสระมากขึ้นและธุรกรรมนั้นอาจมีความสำคัญมากขึ้น ด้านล่างนี้คือคำอธิบายของการตอบสนองเหล่านี้:
- กำหนดส่งงานที่แน่นอน
- หากการไม่ปฏิบัติตามกำหนดเวลาทำให้เกิดปัญหา กำหนดเวลาที่แน่นอนจึงเป็นสิ่งที่ดีที่สุด กำหนดเวลานั้นเป็นแบบเป็นช่วง หมายความว่าข้อมูลจะถูกบันทึกในฐานข้อมูลตามรูปแบบจังหวะที่สม่ำเสมอ ตัวอย่างเช่น ข้อมูลที่รวบรวมโดยเซ็นเซอร์ ซึ่งมักใช้ในระบบที่สำคัญต่อชีวิต[ 13 ]
- กำหนดเวลาที่แน่นอน
- กำหนดเวลาที่แน่นอนดูเหมือนจะคล้ายกับกำหนดเวลาที่เข้มงวด แต่แตกต่างจากกำหนดเวลาที่เข้มงวดตรงที่กำหนดเวลาที่แน่นอนจะวัดความสำคัญของการดำเนินการธุรกรรมให้เสร็จสิ้น ณ จุดใดจุดหนึ่งหลังจากที่ธุรกรรมมาถึง บางครั้งการดำเนินการธุรกรรมให้เสร็จสิ้นหลังจากกำหนดเวลาหมดอายุอาจเป็นอันตรายหรือไม่เป็นประโยชน์ และทั้งกำหนดเวลาที่แน่นอนและกำหนดเวลาที่เข้มงวดต่างก็พิจารณาเรื่องนี้ ตัวอย่างของกำหนดเวลาที่แน่นอนคือระบบควบคุมการบินอัตโนมัติ[ 8 ]
- กำหนดส่งแบบยืดหยุ่น
- หากการปฏิบัติตามข้อจำกัดด้านเวลาเป็นสิ่งที่พึงปรารถนา แต่การพลาดกำหนดเวลาไม่ก่อให้เกิดความเสียหายร้ายแรง กำหนดเวลาแบบยืดหยุ่นอาจเป็นทางเลือกที่ดีที่สุด โดยจะดำเนินการตามตารางเวลาที่ไม่แน่นอนหรือไม่เป็นไปตามกำหนด ในความเป็นจริง เวลาที่งานแต่ละอย่างจะมาถึงนั้นไม่เป็นที่ทราบแน่ชัด ตัวอย่างเช่น แผงสวิตช์สำหรับโทรศัพท์[ 13 ]
กระบวนการกำหนดเส้นตายที่เข้มงวดจะยกเลิกธุรกรรมที่เลยกำหนดเส้นตายไปแล้ว ซึ่งจะช่วยปรับปรุงระบบโดยการกำจัดสิ่งที่ไม่จำเป็นที่ต้องประมวลผล กระบวนการเหล่านี้ไม่เพียงแต่จะกำจัดธุรกรรมที่มีกำหนดเส้นตายหมดอายุแล้วเท่านั้น แต่ยังรวมถึงธุรกรรมที่มีกำหนดเส้นตายยาวที่สุดด้วย โดยถือว่าเมื่อธุรกรรมเหล่านั้นไปถึงตัวประมวลผลแล้ว ธุรกรรมเหล่านั้นจะล้าสมัย ซึ่งหมายความว่าธุรกรรมอื่นๆ ควรได้รับความสำคัญมากกว่า นอกจากนี้ ระบบยังสามารถลบธุรกรรมที่มีความสำคัญน้อยที่สุดได้อีกด้วย เมื่อฉันเลือกชั้นเรียนล่วงหน้าในช่วงที่มีปริมาณการใช้งานสูง ฟิลด์ในฐานข้อมูลอาจมีคำขอลงทะเบียนจำนวนมากจนไม่สามารถใช้งานได้ชั่วขณะ และผลลัพธ์ของธุรกรรมของฉันคือการแสดงคำสั่ง SQL ที่ส่งไปและข้อความที่ระบุว่าข้อมูลไม่พร้อมใช้งานในขณะนี้ ข้อผิดพลาดนี้เกิดจากตัวตรวจสอบ ซึ่งเป็นกลไกที่ตรวจสอบเงื่อนไขของกฎ และกฎที่เกิดขึ้นก่อนหน้านั้น[ 14 ]
เป้าหมายของการกำหนดช่วงเวลาและกำหนดเวลาคือการอัปเดตธุรกรรมที่รับประกันว่าจะเสร็จสมบูรณ์ก่อนกำหนดเวลาในลักษณะที่ภาระงานน้อยที่สุด สำหรับฐานข้อมูลแบบเรียลไทม์ขนาดใหญ่ ฟังก์ชันบัฟเฟอร์สามารถช่วยปรับปรุงประสิทธิภาพได้อย่างมาก บัฟเฟอร์เป็นส่วนหนึ่งของฐานข้อมูลที่จัดเก็บไว้ในหน่วยความจำหลักเพื่อลดเวลาตอบสนองของธุรกรรม เพื่อลดธุรกรรมการป้อนข้อมูลและการส่งออกข้อมูลจากดิสก์ ควรจัดสรรบัฟเฟอร์จำนวนหนึ่ง[ 15 ]บางครั้งมีการจัดเก็บหลายเวอร์ชันไว้ในบัฟเฟอร์เมื่อบล็อกข้อมูลที่ธุรกรรมต้องการกำลังถูกใช้งานอยู่ ต่อมาฐานข้อมูลจะมีข้อมูลเพิ่มเข้าไป กลยุทธ์ต่างๆ จะจัดสรรบัฟเฟอร์และต้องสร้างสมดุลระหว่างการใช้หน่วยความจำมากเกินไปกับการมีทุกอย่างอยู่ในบัฟเฟอร์เดียวที่ต้องค้นหา เป้าหมายคือการกำจัดเวลาค้นหาและกระจายทรัพยากรระหว่างเฟรมบัฟเฟอร์เพื่อเข้าถึงข้อมูลได้อย่างรวดเร็ว ตัวจัดการบัฟเฟอร์สามารถจัดสรรหน่วยความจำเพิ่มเติมได้หากจำเป็นเพื่อปรับปรุงเวลาตอบสนอง ตัวจัดการบัฟเฟอร์ยังสามารถกำหนดได้ว่าธุรกรรมที่มีอยู่ควรดำเนินการต่อไปหรือไม่ การบัฟเฟอร์สามารถปรับปรุงความเร็วในระบบแบบเรียลไทม์ได้[ 15 ]
ระบบฐานข้อมูลในอนาคต
ฐานข้อมูลแบบดั้งเดิมนั้นคงอยู่ถาวร แต่ไม่สามารถจัดการกับข้อมูลแบบไดนามิกที่เปลี่ยนแปลงอยู่ตลอดเวลาได้ ดังนั้นจึงจำเป็นต้องมีระบบอื่น ฐานข้อมูลแบบเรียลไทม์สามารถปรับแต่งเพื่อเพิ่มความแม่นยำและประสิทธิภาพ และเพื่อหลีกเลี่ยงความขัดแย้ง โดยการกำหนดกำหนดเวลาและช่วงเวลารอคอยเพื่อให้มั่นใจในความสอดคล้องทางเวลา ระบบฐานข้อมูลแบบเรียลไทม์นำเสนอวิธีการตรวจสอบระบบทางกายภาพและแสดงผลในรูปแบบกระแสข้อมูลไปยังฐานข้อมูล กระแสข้อมูลเช่นเดียวกับหน่วยความจำจะค่อยๆ จางหายไปตามเวลา เพื่อรับประกันว่าข้อมูลที่บันทึกนั้นเป็นข้อมูลล่าสุดและแม่นยำที่สุด จึงมีวิธีการตรวจสอบธุรกรรมหลายวิธีเพื่อให้แน่ใจว่าธุรกรรมเหล่านั้นดำเนินการตามลำดับที่ถูกต้อง ตัวอย่างเช่น บริษัทประมูลออนไลน์เป็นฐานข้อมูลที่เปลี่ยนแปลงอย่างรวดเร็ว
ปัจจุบันระบบฐานข้อมูลเร็วกว่าในอดีต ในอนาคต เราสามารถคาดหวังระบบฐานข้อมูลที่เร็วขึ้นไปอีก แม้ว่าตอนนี้เราจะมีระบบที่เร็วขึ้นแล้ว แต่ความพยายามในการลดข้อผิดพลาดและความล่าช้าก็ยังคงเป็นประโยชน์ ความสามารถในการประมวลผลผลลัพธ์อย่างทันท่วงทีและคาดการณ์ได้จะมีความสำคัญมากกว่าการประมวลผลที่รวดเร็วเสมอ การประมวลผลที่รวดเร็วที่นำไปใช้ผิดวิธีนั้นไม่เป็นประโยชน์สำหรับระบบฐานข้อมูลแบบเรียลไทม์ ธุรกรรมที่ทำงานได้เร็วขึ้นบางครั้งก็ยังคงติดขัดจนต้องยกเลิกและเริ่มต้นใหม่ อันที่จริง การประมวลผลที่เร็วขึ้นกลับส่งผลเสียต่อแอปพลิเคชันแบบเรียลไทม์บางอย่าง เนื่องจากความเร็วที่เพิ่มขึ้นนำมาซึ่งความซับซ้อนมากขึ้นและโอกาสที่จะเกิดปัญหาจากความแปรปรวนของความเร็ว การประมวลผลที่เร็วขึ้นทำให้ยากต่อการระบุว่ากำหนดเวลาใดที่ได้รับการดำเนินการสำเร็จ ด้วยระบบฐานข้อมูลในอนาคตที่ทำงานได้เร็วกว่าที่เคยเป็นมา จึงจำเป็นต้องมีการศึกษาเพิ่มเติมเพื่อให้เราสามารถมีระบบที่มีประสิทธิภาพต่อไปได้[ 16 ]
ปริมาณการวิจัยเกี่ยวกับการศึกษาระบบฐานข้อมูลแบบเรียลไทม์จะเพิ่มขึ้นเนื่องจากการใช้งานเชิงพาณิชย์ เช่น เว็บไซต์ประมูลออนไลน์อย่างeBayประเทศกำลังพัฒนาหลายแห่งกำลังขยายระบบโทรศัพท์ และจำนวนผู้ใช้โทรศัพท์มือถือในสหรัฐอเมริกาและที่อื่นๆ ทั่วโลกก็เพิ่มขึ้นอย่างต่อเนื่อง นอกจากนี้ ความเร็วของไมโครโปรเซสเซอร์ที่เพิ่มขึ้นอย่างรวดเร็วก็มีแนวโน้มที่จะกระตุ้นการวิจัยแบบเรียลไทม์เช่นกัน ซึ่งทำให้เทคโนโลยีใหม่ๆ เช่นการประชุมทางวิดีโอ ผ่านเว็บ และ การสนทนาผ่าน โปรแกรมส่งข้อความโต้ตอบแบบทันทีทั้งเสียงและวิดีโอความละเอียดสูงสามารถเกิดขึ้นได้ ซึ่งทั้งหมดนี้ต้องอาศัยระบบฐานข้อมูลแบบเรียลไทม์ การศึกษาเกี่ยวกับความสอดคล้องเชิงเวลาส่งผลให้เกิดโปรโตคอลและข้อจำกัดด้านเวลาใหม่ๆ โดยมีเป้าหมายเพื่อจัดการธุรกรรมแบบเรียลไทม์ได้อย่างมีประสิทธิภาพมากขึ้น[ 7 ]
อ่านเพิ่มเติม
- Ozsoyoglu, Gultekin และ Richard T. Snodgrass. ฐานข้อมูลเชิงเวลาและแบบเรียลไทม์: การสำรวจ . วิศวกรรมความรู้และข้อมูล, 1995. 13 ธันวาคม 2006.
- Kao, Ben; Garcia-Molina, Hector (1994). "ภาพรวมของระบบฐานข้อมูลแบบเรียลไทม์". การคำนวณแบบเรียลไทม์ . เบอร์ลิน, ไฮเดลเบิร์ก: Springer Berlin Heidelberg. doi : 10.1007/978-3-642-88049-0_13 . ISBN 978-3-642-88051-3ISSN 0258-1248
- ลินด์สตรอม, แจน. ระบบฐานข้อมูลแบบเรียลไทม์ . โซลิด, 25 มีนาคม 2551. 25 มีนาคม 2551
- Sivasankaran, Rajendran M., John A. Stankovic, Don Towsley , Bhaskar Purimetla และ Krithi Ramamaritham. การกำหนดลำดับความสำคัญในฐานข้อมูลแอคทีฟแบบเรียลไทม์มหาวิทยาลัยแมสซาชูเซตส์ อมาเฮิร์สต์ นิวยอร์ก 1996 13 ธันวาคม 2006
- Stonebraker, Michael และคณะHStore: ระบบประมวลผลธุรกรรมหน่วยความจำหลักแบบกระจายประสิทธิภาพสูง 2008
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ ฐานข้อมูลแบบเรียลไทม์
ฐานข้อมูลแบบเรียลไทม์ มีสองความหมาย ความหมายที่พบบ่อยที่สุดคือ ระบบฐานข้อมูล ที่ใช้เทคโนโลยีสตรีมมิ่งในการจัดการเวิร์กโหลดที่มีสถานะเปลี่ยนแปลงอยู่ตลอดเวลา [ 1 ]...
ภาพรวม
ฐานข้อมูลแบบเรียลไทม์เป็นฐานข้อมูลแบบดั้งเดิมที่ใช้ส่วนขยายเพื่อให้มีประสิทธิภาพเพิ่มเติมในการตอบสนองที่เชื่อถือได้ โดยใช้ข้อจำกัดด้านเวลาที่แสดงถึงช่วงค่าที่แน่นอนซึ่งข้อมูลนั้นถูกต้อง ช่วงนี้เรียกว่าความถูกต้องเชิงเวลา...
การรักษาความสม่ำเสมอของข้อมูล
แม้ว่าระบบฐานข้อมูลแบบเรียลไทม์อาจดูเหมือนระบบที่เรียบง่าย แต่ปัญหาจะเกิดขึ้นเมื่อเกิดการโอเวอร์โหลดเมื่อมีธุรกรรมฐานข้อมูลสองรายการขึ้นไปต้องการเข้าถึงส่วนเดียวกันของฐานข้อมูล ธุรกรรม มัก...
ข้อจำกัดด้านเวลาและกำหนดส่งงาน
ระบบที่รับรู้ข้อจำกัดด้านลำดับและการกำหนดเวลาที่เกี่ยวข้องกับธุรกรรมที่มีกำหนดเวลาแบบยืดหยุ่นหรือแน่นอนได้อย่างถูกต้อง จะใช้ประโยชน์จาก ความ สอดคล้อง สัมบูรณ์ [ 9 ] อีกวิธีหนึ่งในการทำให้แน่ใจว่าข้อมูลมีความสอดคล้องสัมบูรณ์คือการใช้ข้อจำกัดเชิงสัมพัทธ์...