B-Trees มักใช้สำหรับดัชนีฐานข้อมูลบนฮาร์ดดิสก์ แต่ก็มีข้อได้เปรียบแม้ในโครงสร้างข้อมูลในหน่วยความจำทำให้หน่วยความจำสมัยใหม่มีความหลากหลายของแคชและหน่วยความจำเสมือน แม้ว่าหน่วยความจำเสมือนจะอยู่บน SSD แต่นั่นจะไม่เปลี่ยนแปลง
ฉันใช้ไลบรารีต้นไม้แบบหลายทางในหน่วยความจำ B + - style ที่ฉันเขียนค่อนข้างมากใน C ++ มันอาจมีข้อได้เปรียบด้านประสิทธิภาพ - เหตุผลที่เขียนขึ้นครั้งแรกคือพยายามใช้แคชให้ดีขึ้น - แต่ฉันต้องยอมรับว่าบ่อยครั้งที่มันไม่ทำงาน ปัญหาคือการแลกเปลี่ยนซึ่งหมายความว่ารายการจะต้องย้ายไปรอบ ๆ ภายในโหนดบนแทรกและลบซึ่งจะไม่เกิดขึ้นสำหรับต้นไม้ไบนารี นอกจากนี้การแฮ็กโค้ดระดับต่ำบางรหัสที่ฉันใช้ในการปรับให้เหมาะสม - ดีพวกเขาอาจสร้างความสับสนและเอาชนะผู้เพิ่มประสิทธิภาพความจริงบอก
อย่างไรก็ตามแม้ว่าฐานข้อมูลของคุณจะถูกเก็บไว้ใน SSD ซึ่งยังคงเป็นอุปกรณ์จัดเก็บข้อมูลแบบบล็อกและยังคงมีความได้เปรียบในการใช้ B-Trees และต้นไม้หลายทางอื่น ๆ
แต่ประมาณสิบปีที่ผ่านมาอัลกอริธึมที่หลงลืมแคชและโครงสร้างข้อมูลถูกประดิษฐ์ขึ้น สิ่งเหล่านี้ไม่ได้คำนึงถึงขนาดและโครงสร้างของแคช ฯลฯ - มันทำให้ (asymptotically) เป็นวิธีที่ดีที่สุดในการใช้หน่วยความจำแบบ heirarchy B-Trees จำเป็นต้อง "ปรับ" ให้กับหน่วยความจำที่เฉพาะเจาะจงเพื่อให้เกิดประโยชน์สูงสุด (แม้ว่ามันจะทำงานได้ค่อนข้างดีสำหรับการเปลี่ยนแปลงที่หลากหลาย)
แคชโครงสร้างข้อมูลที่หลงลืมมักจะไม่ปรากฏใน wild แต่ถ้าถึงเวลาก็อาจจะทำให้ต้นไม้ไบนารีในหน่วยความจำปกติล้าสมัยไปได้ และพวกเขาก็อาจพิสูจน์ได้ว่าคุ้มค่าสำหรับฮาร์ดดิสก์และ SSD เช่นกันเนื่องจากพวกเขาไม่สนใจขนาดหน้าแคชของคลัสเตอร์หรือขนาดฮาร์ดดิสก์
เลย์เอาต์ Van Emde Boas มีความสำคัญมากในโครงสร้างข้อมูลที่ไม่สนใจแคช
หลักสูตรขั้นตอนวิธี MIT OpenCourseware นั้นครอบคลุมถึงบางส่วนของโครงสร้างข้อมูลที่ลบล้างแคช