OrientDB - การแคช

Cachingเป็นแนวคิดที่จะสร้างสำเนาของโครงสร้างตารางฐานข้อมูลที่ให้สภาพแวดล้อมที่สะดวกสบายสำหรับแอปพลิเคชันของผู้ใช้ OrientDB มีกลไกการแคชหลายระดับในระดับต่างๆ

ภาพประกอบต่อไปนี้ให้แนวคิดเกี่ยวกับการแคชคืออะไร

ในภาพประกอบด้านบน DB1, DB2, DB3 เป็นอินสแตนซ์ฐานข้อมูลสามแบบที่ใช้ในแอปพลิเคชัน

Level-1 แคชคือ Local cacheซึ่งจัดเก็บเอนทิตีทั้งหมดที่เซสชันหนึ่งรู้จัก หากคุณมีธุรกรรมสามรายการในเซสชันนี้จะถือเอนทิตีทั้งหมดที่ใช้โดยธุรกรรมทั้งสามรายการ แคชนี้จะถูกล้างเมื่อคุณปิดเซสชันหรือเมื่อคุณใช้วิธี "ล้าง" ช่วยลดภาระของการดำเนินการ I / O ระหว่างแอปพลิเคชันและฐานข้อมูลและเพิ่มประสิทธิภาพการทำงาน

Level-2 แคชคือ Real cacheที่ทำงานโดยใช้ผู้ให้บริการบุคคลที่สาม คุณสามารถควบคุมเนื้อหาของแคชได้อย่างเต็มที่กล่าวคือคุณจะสามารถระบุได้ว่ารายการใดที่ควรลบรายการใดควรเก็บไว้นานขึ้นเรื่อย ๆ เป็นแคชที่ใช้ร่วมกันแบบเต็มในหลายเธรด

Storage model ไม่มีอะไรนอกจากอุปกรณ์จัดเก็บข้อมูลที่เป็นดิสก์หน่วยความจำหรือเซิร์ฟเวอร์ระยะไกล

แคชทำงานอย่างไรใน OrientDB

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

โหมดภายในเครื่อง (ฐานข้อมูลแบบฝัง)

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

เมื่อแอปพลิเคชันไคลเอนต์ขอระเบียน OrientDB ตรวจสอบสิ่งต่อไปนี้ -

  • หากธุรกรรมได้เริ่มขึ้นระบบจะค้นหาบันทึกที่เปลี่ยนแปลงภายในธุรกรรมและส่งคืนหากพบ

  • หากเปิดใช้งานแคชภายในเครื่องและมีระเบียนที่ร้องขอให้ส่งกลับ

  • หาก ณ จุดนี้บันทึกไม่อยู่ในแคชให้ขอไปที่ Storage (ดิสก์หน่วยความจำ)

โหมดไคลเอนต์เซิร์ฟเวอร์ (ฐานข้อมูลระยะไกล)

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

เมื่อแอปพลิเคชันไคลเอนต์ขอบันทึก OrientDB จะตรวจสอบสิ่งต่อไปนี้ -

  • หากธุรกรรมได้เริ่มขึ้นระบบจะค้นหาบันทึกที่เปลี่ยนแปลงภายในธุรกรรมและส่งคืนหากพบ

  • หากเปิดใช้งานแคชภายในเครื่องและมีระเบียนที่ร้องขอให้ส่งกลับ

  • ณ จุดนี้หากบันทึกไม่อยู่ในแคชให้ขอข้อมูลไปยังเซิร์ฟเวอร์ผ่านการโทร TCP / IP

  • ในเซิร์ฟเวอร์หากเปิดใช้งานแคชภายในเครื่องและมีระเบียนที่ร้องขอให้ส่งคืน

  • ณ จุดนี้บันทึกยังไม่ถูกแคชในเซิร์ฟเวอร์จากนั้นขอไปที่ Storage (ดิสก์หน่วยความจำ)