로그구조화 2

03. 저장소(Storage)와 검색(Retrieval) - 3

이전 포스트에 이어서 세 번째 포스트입니다. 이전 포스트에서는 SS테이블과 LSM 트리에 관해 알아보았습니다. 이번 포스트에서는 데이터베이스에서 가장 많이 사용하고 일반적인 색인 유형인 B 트리에 대해서 살펴보겠습니다. B 트리 B 트리는 거의 대부분의 관계형 데이터베이스에서 표준 색인 구현으로 사용할 뿐만 아니라 비관계형 데이터에서도 사용합니다. B트리는 SS테이블과 같이 키로 정렬된 key-value 쌍을 유지하지 때문에 key-value 검색과 range query에 효율적입니다. 이와 같이 LSM 트리와는 유사한 점은 이게 다이고 B 트리의 설계 철학은 매우 다릅니다. LSM 트리는 일반적으로 수 메가바이트 이상의 가변크기를 가진 세그먼트를 나누고 순차적으로 세그먼트를 기록합니다. 반면 B 트리는..

03. 저장소(Storage)와 검색(Retrieval) - 2

이전 포스트에 이어서 저장소와 검색을 계속 살펴보겠습니다. 이전 포스트 마지막 부분에 대한 설명은 해시 테이블을 통한 색인이 가진 제한사항에 대해 살펴보았습니다. 이러한 제한이 없는 색인 구조를 이어서 살펴보도록 하겠습니다. SS 테이블과 LSM 트리 위 그림과 같이 log-structured 저장소 세그먼트는 key-value 쌍의 시퀀스입니다. key-value 쌍은 쓰여진 순서대로 저장되며 로그에서 같은 키를 갖는 값 중 나중 값이 최신 값이 됩니다. 여기에 간단한 변경사항을 적용해 봅시다. 세그먼트를 key를 기준으로 정렬하는 것입니다. 일단 이러한 변경은 순차적으로 쓰는 것을 못하게 할 것 같습니다. 그러나 이러한 문제는 조금 더 뒤에 살펴보도록 하겠습니다. 먼저 세그먼트를 정렬하는거에 집중해봅..

반응형