B# Tree ve B+ Tree - Trakya Üniversitesi

Transkript

B# Tree ve B+ Tree - Trakya Üniversitesi
DOSYA ORGANİZASYONU
ÖZLEM AYDIN
TRAKYA ÜNİVERSİTESİ
BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ
B# Tree, B+ Tree
Sunum planı


B# Tree
B+ Tree
B# Tree



B Tree de kayıt ekleme sırasında node dolu ise bölünme
gerçekleşmektedir. Bu bölünmeler node larda doluluk
oranı %50 olmaktadır.
B# Tree de bu bölünme işlemi geciktirilerek node lardaki
doluluk oranı arttırılmıştır.
Bölünmede orta kaydın seçilmesinde ve diğer blokların
kayıt dağılımını belirlemede aşağıdaki formül kullanılır:
M k  r  1 / n
r: dağıtılacak toplam kayıt sayısı
n: yaprak node sayısı
B# Tree
Bir node üzerinde
bulunabilecek toplam
anahtar ve pointer aralığı
B# Tree -- Ekleme
Örnek:
Anahtarlar= 80, 50, 100, 90, 60, 65, 70, 75, 55, 64, 51, 76, 77,
78, 200, 300, 150
 80, 50, 100, 90 anahtarlı kayıtların eklenmesi
50

80
90
100
60 anahtarlı kaydın eklenmesi
80
50
60
90
100
B# Tree -- Ekleme

65 ve 70 anahtarlı kayıtların eklenmesi
80
50

60
65
70
90
100
75 anahtarlı kaydın eklenmesi
Bu kaydın eklenmesi taşmaya neden olur. Sağ kardeş node’da boşluk
vardır. Bu durumda node bölünmesi yerine kayıtların bu nodelar
arasında dağıtımı tekrar yapılır.
B# Tree -- Ekleme

Kök node da bulunacak mukayese kaydı bulunur.
M k  r  1 / n  8  1 2  4

4. pozisyondaki kayıt 70 anahtarlı kayıttır.
70
50
60
65
75
80
90
100
B# Tree -- Ekleme

55 anahtarlı kaydın eklenmesi
70
50

55
60
65
75
80
90
100
64 anahtarlı kaydın eklenmesi
Her iki node da dolu olduğu için bölünme gerektirir. İlk mukayese
kaydı hesaplanır:
M k  r  1 / n  10  1 3  3
3. posizyondaki kayıt 60 anahtarlı kayıttır.
B# Tree -- Ekleme
60
50

55
64
?
65
70
75
80
90
100
Kalan kayıtları bölmek için ikinci mukayese kaydı
hesaplanır:
M k  r  1 / n  7  1 2  4

Kalan 7 kayıt içinde 4. pozisyondaki kayıt 75 anahtarlı
kayıttır.
B# Tree -- Ekleme
60
50

55
64
65
70
80
90
100
51 ve 76 anahtarlı kayıtların eklenmesi
60
50
75
51
55
64
75
65
70
76
80
90
100
B# Tree -- Ekleme

77 anahtarlı kaydın eklenmesi
M k  r  1 / n  9  1 2  5 
 76
60
50
51
55
64
76
65
70
75
77
80
90
100
B# Tree -- Ekleme

78 anahtarlı kaydın eklenmesi
1.mukayesekaydı 
 M k  r  1 / n  10  1 3  3 
 70
2.mukayesekaydı 
 M k  r  1 / n  7  1 2  4 
 78
60
50
51
55
64
65
70
78
75
76
77
80
90
100
B# Tree -- Ekleme

200 anahtarlı kaydın eklenmesi
60
50
51

55
64
70
65
78
75
76
77
80
90
100 200
300 anahtarlı kaydın eklenmesi
1.mukayasekaydı 
 M k  r  1 / n  9  1 / 2  5 
80
60
50
51
55
64
65
70
80
75
76
77
78
90
100
200 300
B# Tree -- Ekleme

150 anahtarlı kaydın eklenmesi
1.mukayasekaydı 
 M k  r  1 / n  10  1 / 3  3 
 77
2.mukayesekaydı 
 M k  r  1 / n  7  1 2  4 
100
50
51
55
64
65
60
70
75
76
77
100
78
80
90
150
200
300
B+ Tree




B+ Tree, indeks ve veri bloklarından oluşur.
İndeks bloklarında kayıtların sadece anahtar alanları
saklanır.
Veri bloklarında kayıtlar saklanır.
Veri blokları (yapraklar) birbirine tek bir bağlı liste ile
bağlıdır.
B+ Tree



İndeks node kayıt ekleme ve güncelleştirmede doğru veri
node bulmak için kullanılır. Bunun için indeks node’daki
anahtar değerleri ile karşılaştırma yaparak veri node’a
ulaşılır.
Eğer bir veri node dolup taşma olursa veri node bölünür
ve taşan kayıt yeni oluşturulan veri node içerisinde
bulunur. Bu esnada indeks node’da da gerekli düzenleme
yapılır.
Bir B+ Tree içine ilk kaydın yerleştirilmesi özel bir
durumdur. Kayıt veri node içine yerleştirilir ve kaydın
anahtar değeri de indeks node içine yerleştirilir.
B+ Tree -- Ekleme
Örnek:
Anahtarlar= 80, 50, 100, 90, 60, 65, 70, 75, 55, 64, 51, 76, 77,
78, 200, 300, 150
İndeks node: 4 anahtar kapasiteli
Veri node: 2 kayıt kapasiteli
80
Veri node
80
İndeks node
B+ Tree -- Ekleme

50 anahtarlı kaydın eklenmesi
80
50

80
90 ve 100 anahtarlı kayıtların eklenmesi
80
50
80
90
100
B+ Tree -- Ekleme

60 anahtarlı kaydın eklenmesi
60
50

60
80
80
90
100
65 anahtarlı kaydın eklenmesi
60
50
60
65
80
80
90
100
B+ Tree -- Ekleme

70 anahtarlı kaydın eklenmesi
60
50

60
65
70
70
80
80
90
100
90
100
75 anahtarlı kaydın eklenmesi
60
50
60
65
70
70
80
75
80
B+ Tree -- Ekleme

55 anahtarlı kaydın eklenmesi
55
50
55
60
60
65
70
70
80
75
80
90
100
B+ Tree -- Ekleme

64 anahtarlı kaydın eklenmesi
65
55
50
55
60
70
60
64
65
70
80
75
80
90
100
B+ Tree -- Ekleme

51 ve 76 anahtarlı kayıtların eklenmesi
65
51
50
51
55
55
60
70
60
64
65
70
76
75
80
76
80
90
100
B+ Tree -- Ekleme
77, 78, 200, 300 ve 150 anahtarlı kayıtların eklenmesi

51
50
51
55
55
60
60
64
65
70
65
78
70
76
75
80
76
77
78
80
90
100
100
200
150
200
300

Benzer belgeler

DünyADA lezBİyen ve gey hAKlArI DünyaDa Lezbİyen ve

DünyADA lezBİyen ve gey hAKlArI DünyaDa Lezbİyen ve ve ilişkilerini hedef almaktadır. Zaman zaman trans ve interseks kimselere de uygulanmaktadırlar. Mayıs 2013'te yayınlanan bu dünya haritası Stephen Barris (ILGA) tarafından düzenlenmiştir. Dizayn:...

Detaylı

SNOWTECH II - VIKING Tyres

SNOWTECH II - VIKING Tyres Daha fazla kenar uzunluğu ve yoğunluğuna sahip yön gösteren V-şekilli sırt deseni

Detaylı

Scalewatcher Holiday Inn Hotel Basari Raporu

Scalewatcher Holiday Inn Hotel Basari Raporu sistemini temizlemek için , her gün sabah 2.00 ve sabah 4.00 arasında sistem kapatılmakta, işlenmemiş su bir depoya aktarılmaktaydı. Bu uygulama çoğu kez taşmaya neden olmakta ve kolorifer sistemin...

Detaylı

Avieta Foy ok

Avieta Foy ok belgian�waffles�%6�tereyağlı�70�gr�*�48�adet belgian�waffles��55gr�*30�adet Saklama�koşulları: Oda�sıcaklığında:�8�-�10�hafta -18°C’de�:�18�ay

Detaylı