รูปแบบพื้นฐานของการพัฒนาฐานข้อมูล

สารบัญ:

รูปแบบพื้นฐานของการพัฒนาฐานข้อมูล
รูปแบบพื้นฐานของการพัฒนาฐานข้อมูล
Anonim

ฐานข้อมูลเชิงสัมพันธ์ได้รับการออกแบบโดยมีความน่าเชื่อถือและความสม่ำเสมอเป็นแกนหลัก วิศวกรที่พัฒนาเครื่องมือเหล่านี้ได้มุ่งเน้นไปที่รูปแบบการทำธุรกรรมที่รับรองว่าหลักการทั้งสี่ของแบบจำลอง ACID จะได้รับการอนุรักษ์ไว้เสมอ อย่างไรก็ตาม การถือกำเนิดของโมเดลฐานข้อมูลแบบไม่มีโครงสร้างใหม่กำลังทำให้ ACID เปลี่ยนไป โมเดลฐานข้อมูล NoSQL หลีกเลี่ยงโมเดลเชิงสัมพันธ์ที่มีโครงสร้างสูง เพื่อสนับสนุนแนวทางการจัดเก็บคีย์/ค่าที่ยืดหยุ่น แนวทางข้อมูลที่ไม่มีโครงสร้างนี้ต้องใช้ทางเลือกแทนโมเดล ACID: โมเดล BASE

Image
Image

หลักการพื้นฐานของแบบจำลองกรด

หลักการพื้นฐานสี่ประการของแบบจำลอง ACID:

  • atomicity ของธุรกรรมทำให้มั่นใจได้ว่าธุรกรรมฐานข้อมูลแต่ละรายการเป็นหน่วยเดียวที่ใช้แนวทาง "ทั้งหมดหรือไม่มีเลย" ในการดำเนินการ หากใบแจ้งยอดใด ๆ ในการทำธุรกรรมล้มเหลว ธุรกรรมทั้งหมดจะถูกย้อนกลับ
  • ฐานข้อมูลเชิงสัมพันธ์ยังช่วยให้ สอดคล้อง ของแต่ละธุรกรรมตามกฎธุรกิจของฐานข้อมูล หากองค์ประกอบใด ๆ ของธุรกรรมปรมาณูจะขัดขวางความสอดคล้องของฐานข้อมูล ธุรกรรมทั้งหมดจะล้มเหลว
  • กลไกฐานข้อมูลบังคับใช้ isolation ระหว่างธุรกรรมหลายรายการที่เกิดขึ้นพร้อมกันหรือใกล้เคียงกัน แต่ละธุรกรรมเกิดขึ้นก่อนหรือหลังธุรกรรมอื่น ๆ และมุมมองของฐานข้อมูลที่ธุรกรรมเห็นเมื่อเริ่มต้นจะเปลี่ยนแปลงโดยตัวธุรกรรมเองก่อนสรุปเท่านั้น ธุรกรรมไม่ควรเห็นผลิตภัณฑ์ขั้นกลางของธุรกรรมอื่น
  • หลักการ ACID ขั้นสุดท้าย durability ช่วยให้มั่นใจว่าเมื่อทำธุรกรรมกับฐานข้อมูลแล้ว ธุรกรรมจะถูกเก็บรักษาไว้อย่างถาวรโดยใช้การสำรองข้อมูลและบันทึกธุรกรรม ในกรณีที่เกิดความล้มเหลว กลไกเหล่านี้อาจใช้เพื่อกู้คืนธุรกรรมที่ตกลงไว้

หลักการพื้นฐานของ BASE

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

  • ความพร้อมใช้งานพื้นฐาน แนวทางฐานข้อมูล NoSQL มุ่งเน้นไปที่ความพร้อมใช้งานของข้อมูล แม้ว่าจะมีความล้มเหลวหลายครั้ง บรรลุเป้าหมายนี้โดยใช้วิธีการแบบกระจายสูงในการจัดการฐานข้อมูล แทนที่จะรักษาที่เก็บข้อมูลขนาดใหญ่เพียงแห่งเดียวและมุ่งเน้นไปที่ความทนทานต่อข้อผิดพลาดของที่จัดเก็บนั้น ฐานข้อมูล NoSQL จะกระจายข้อมูลไปยังระบบจัดเก็บข้อมูลจำนวนมากด้วยการจำลองแบบในระดับสูง ในเหตุการณ์ที่ไม่น่าจะเกิดขึ้นได้ซึ่งความล้มเหลวขัดขวางการเข้าถึงส่วนของข้อมูล ไม่ได้ส่งผลให้ฐานข้อมูลหยุดชะงักโดยสมบูรณ์
  • Soft State. ฐานข้อมูล BASE ละทิ้งข้อกำหนดความสอดคล้องของแบบจำลอง ACID อย่างสมบูรณ์ หนึ่งในแนวคิดพื้นฐานเบื้องหลัง BASE คือความสอดคล้องของข้อมูลเป็นปัญหาของนักพัฒนาและฐานข้อมูลไม่ควรจัดการ
  • ความคงเส้นคงวาสุดท้าย ข้อกำหนดเพียงอย่างเดียวที่ฐานข้อมูล NoSQL มีเกี่ยวกับความสอดคล้องคือการกำหนดให้ในบางจุดในอนาคต ข้อมูลจะหลอมรวมเป็นสถานะที่สอดคล้องกัน อย่างไรก็ตาม ไม่มีการรับประกันว่าสิ่งนี้จะเกิดขึ้นเมื่อใด นั่นคือการออกจากข้อกำหนดความสอดคล้องในทันทีของ ACID ที่ห้ามไม่ให้มีการทำธุรกรรมจนกว่าธุรกรรมก่อนหน้าจะเสร็จสิ้นและฐานข้อมูลได้แปรสภาพเป็นสถานะที่สอดคล้องกัน

ใน BASE ความพร้อมใช้งานพื้นฐานอาจหมายความว่าคุณไม่สามารถควบคุมแหล่งข้อมูลได้ ตัวอย่างเช่น คุณอาจเชื่อมโยงไปยังชุดข้อมูลสาธารณะเพื่อเป็นส่วนหนึ่งของความพยายามของคุณ

กรณีการใช้งานแบบสัมพัทธ์

โมเดล BASE ไม่เหมาะกับทุกสถานการณ์ แต่แน่นอนว่าเป็นทางเลือกที่ยืดหยุ่นสำหรับโมเดล ACID สำหรับฐานข้อมูลที่ไม่ต้องการการปฏิบัติตามโมเดลเชิงสัมพันธ์อย่างเข้มงวด

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

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