이진트리는 하나의 부모가 두개의 자식밖에 갖지못합니다. 또 균형이 맞지 않으면 검색효율이 선형검색만큼 떨어지죠. 따라서 B Tree는 트리의 균형까지 자동으로 맞추어 주는 자료구조입니다. 이렇게하면 검색, 삽입, 삭제 모두 O(logN)의 성능을 보일 수 있으니까요.

B Tree

장점

대량의 데이터를 처리할 때, 하나의 노드에 많은 데이터를 가질 수 있어 효율적입니다. 대량 데이터는 메모리보다 블럭 단위로 입출력하는 하드디스크나 SSD에 저장해야하기때문이죠.

한 블럭이 만약 1024바이트라 가정합시다. 하지만 2바이트를 읽으나 1024바이트를 읽으나 입출력 비용은 동일합니다. 따라서 하나의 노드를 모두 1024바이트로 꽉 채워 조절하면 입출력에 있어서 굉장히 효율적입니다. → B Tree는 이런 장점을 토대로 많은 데이터베이스 시스템의 인덱스 저장방법으로 사용됩니다.

조건