2017-09-15 20 views
0

B + 트리, 4 바이트 ID, 8 바이트 위치, 8 바이트 에러 신호 및 8 바이트로 저장된 5000 개의 레코드 레코드가 있습니다. 위치는 매분마다 수집됩니다. 디스크 블록이 8K이고 64 비트 주소라고 가정합니다. 또한 B + 트리 버텍스는 64 비트 주소를 가지고 있다고 가정합니다. 우리는 (시간, id)에 클러스터를 만들고 (시간 + id)에 조밀 한 색인을 만듭니다. 우리는 100 일 동안 10000 명의 사람들을 추적했다고 가정합니다.B + 트리 리프 노드에 대한 블로킹 팩터 계산하기

순차 블록에 대한 순방향 및 역방향 포인터가있는 B + 트리 리프 노드의 차단 요인을 계산하려고하는데 아래에 표시된 것과 같이 맞는지 확실하지 않습니까?

R = 4 + 8 + 8 + 8 = 28 
B = 8K = 8*1024 = 8192 
BF = B/R = 8192/28 = 292 

또한, 나는 내부 B + 트리 노드의 순서를 계산하는 방법을 잘 모르겠습니다

답변

0

귀하의 계산은 당신이 공간을 빼기해야한다는 점을 제외 리프 노드는 데이터를 저장하는 것이 가정, 올바른 나누기 전에 블록 크기에서 왼쪽 및 오른쪽 포인터. 내부 노드에 대한 계산은 데이터의 모든 부분이 키를 구성하는 부분과 각각에 대한 하향 포인터 만 필요로하는 것을 제외하고는 동일합니다.

여기 '차단 요인'이라는 용어에 대해 저는 미치지 않습니다. 두 경우 모두 '명령'입니다.

+0

감사합니다.하지만 계산에 포인터를 추가하지 못했습니다. 시간과 ID를 기반으로 클러스터가 생성되었습니다. 또한 내부 노드의 순서를 계산하는 방법은 무엇입니까? – SMH

+0

그런 다음해야합니다. 나누기 전에 블록 크기에서 왼쪽 및 오른쪽 포인터의 공간을 뺄 필요가 있습니다. 나는 당신의 마지막 문장에 답했습니다. – EJP

+0

더 나은 이해를 위해 예제에서 사용한 숫자를 사용하여 설명을 편집 할 수 있습니까? – SMH