B-Ağaçları çoğunlukla sabit diskteki veritabanı dizinleri için kullanılır, ancak birden çok önbellek katmanı ve sanal bellek ile modern bellek heirarchy göz önüne alındığında, bellek içi veri yapısı olarak bile avantajları vardır. Sanal bellek bir SSD'de olsa bile, bu değişmez.
C ++ 'da epeyce yazdığım bir bellek içi B + tarzı çok yollu ağaç kütüphanesi kullanıyorum. Bu olabilir başlangıçta yazılmıştır sebebi daha iyi önbellek kullanmaya çalışmaktı - - performans avantajları vardır ama bu şekilde çalışmıyor sık itiraf etmeliyim. Sorun, öğelerin ekler ve siler üzerinde düğümler içinde hareket etmesi gerektiği anlamına gelir, bu da ikili ağaçlar için gerçekleşmez. Ayrıca, bunu optimize etmek için kullandığım düşük seviyeli kodlama korsanlarından bazıları - muhtemelen, optimize ediciyi karıştırıp yenilgiye uğrattı.
Her neyse, veritabanlarınız bir SSD'de depolansa bile, bu hala blok odaklı bir depolama cihazıdır ve B-Ağaçları ve diğer çok yollu ağaçları kullanmanın hala bir avantajı vardır.
ANCAK yaklaşık on yıl önce önbellek-habersiz algoritmalar ve veri yapıları icat edildi. Bunlar, önbelleklerin boyutu ve yapısından habersizdir - (asimptotik olarak) herhangi bir bellek heirarşisinin mümkün olan en iyi kullanımını sağlarlar. B-Ağaçları en iyi şekilde kullanmak için belirli bir hafıza heirarşisine "ayarlanmalıdır" (oldukça geniş bir çeşitlilik için oldukça iyi çalışırlar).
Önbellek kayıtsız veri yapıları henüz vahşi doğada sık görülmez, ancak normal bellek içi ikili ağaçları eski haline getirebilirler. Ayrıca, küme boyutu veya sabit disk önbellek sayfası boyutunun ne olduğunu umursamadıkları için sabit diskler ve SSD'ler için de değerli olabilirler.
Van Emde Boas düzeni önbelleksiz veri yapılarında çok önemlidir.
MIT OpenCourseware algoritmaları kursu önbellek kayıtsız veri yapılarının bir kısmını içerir.