มีการนำ DBOS ระบบปฏิบัติการแบบกระจายซึ่งทำงานบน DBMS มาใช้

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

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

การสร้างบน DBMS แบบกระจายทำให้สามารถให้บริการระบบเริ่มแรกและไม่ได้เชื่อมโยงกับโหนดเฉพาะ ซึ่งทำให้ DBOS แตกต่างจากระบบคลัสเตอร์แบบเดิม โดยที่แต่ละโหนดจะรันอินสแตนซ์ของระบบปฏิบัติการของตัวเอง นอกเหนือจากนั้นแยกจากกัน มีการเปิดตัวตัวกำหนดเวลาคลัสเตอร์ ระบบไฟล์แบบกระจาย และตัวจัดการเครือข่าย

มีการนำ DBOS ระบบปฏิบัติการแบบกระจายซึ่งทำงานบน DBMS มาใช้

มีข้อสังเกตว่าการใช้ DBMS แบบกระจายสมัยใหม่เป็นพื้นฐานสำหรับ DBOS การจัดเก็บข้อมูลใน RAM และธุรกรรมที่รองรับ เช่น VoltDB และ FoundationDB สามารถให้ประสิทธิภาพที่เพียงพอสำหรับการดำเนินการบริการระบบต่างๆ อย่างมีประสิทธิภาพ DBMS ยังสามารถจัดเก็บตัวกำหนดเวลา ระบบไฟล์ และข้อมูล IPC ได้อีกด้วย ในเวลาเดียวกัน DBMS สามารถปรับขนาดได้สูง ให้อะตอมมิกและการแยกธุรกรรม สามารถจัดการข้อมูลระดับเพตะไบต์ และจัดเตรียมเครื่องมือสำหรับการควบคุมการเข้าถึงและการติดตามกระแสข้อมูล

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

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

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

โครงการนี้ได้รับการพัฒนามานานกว่าหนึ่งปี และอยู่ในขั้นตอนของการสร้างต้นแบบของส่วนประกอบทางสถาปัตยกรรมแต่ละส่วน ปัจจุบันได้มีการจัดเตรียมต้นแบบของบริการระบบปฏิบัติการที่ทำงานบน DBMS เช่น FS, IPC และตัวกำหนดตารางเวลาแล้ว และกำลังมีการพัฒนาสภาพแวดล้อมซอฟต์แวร์ที่ให้อินเทอร์เฟซสำหรับการรันแอปพลิเคชันตาม FaaS (ฟังก์ชั่นตาม- a-service) รุ่น

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

ที่มา: opennet.ru

เพิ่มความคิดเห็น