#records= 1000000 #keysize=8B #recordsize=100B #pointersize=8B (as nothing is mentioned so i am assuming both i.e. index and block pointer to be equal to 8B).
as we know that when blockpointer=indexpointer(size) than the degree of internal node and the leaf node will be same.
so we need to find only one. so i am finding the degree of internal node. i.e,
p(BP) + (P-1)KEY<=4*1024
8(P) + 8(P-1)<=4*1024
2P-1<=512
P<=256.5 , P=256.
---------------------------------------------------------------------------------------------
For a b order B+ tree with h level of index.
maximum record stored(for minm ht) :
1000000= bh-1(b-1)
bh-1 =1000000/255
h-1 = log 256 3922
h= ceil(1.49+1) =3 (level)
height = level-1 = 2
minimum records stored(for maxm ht) =
1000000= 2 (ceil (b/2)h-2 (ceil(b/2)-1))
= 2*ceil(b/2)h-2 (127)
ceil(b/2)h-2= 3937
h-2 = 1.70
h= ceil(1.70+2)
h= 4 (level)
height= level -1= 3
----------------------------------------------------------------------------------------------
source for formula : https://en.wikipedia.org/wiki/B%2B_tree
--------------------------------------------------------------------------------------------