Every thought we think is creating our future.
- Louise Hay -
우리가 생각하는 모든 생각들이 우리의 미래를 만들고 있다.
- 루이스 헤이 -
읽기 전 잠깐!
해당 게시글은 독자분들께
기술에 대해 설명하는 게시글이 아닙니다.
하루 종일 어떤 생각을 했고 그 생각을 어떻게 해서 결정을 내렸는지 정리하는 글입니다.

LSM트리냐... B트리냐...
안녕하세요.
Nodes(빨간 벌)입니다.
오늘은 출근해서 추후 진행할 예정인
RDB(Mini database)에 대해 고민을 했습니다.
RDB는 참고로 예명입니다.
더 좋은 이름이 떠오르길...
오늘 하루 종일 고민한 것은
데이터베이스의 저장 방식에 대해서 고민을 가졌는데요.
데이터베이스 대표적인 기능으로는 저장, 읽기 이 두 가지가 있겠죠.
저장 형식에 대해서는
많은 데이터베이스에서 사용하는 키-값 쌍 방식을 채용할 것 같아요.
현재 데이터베이스들의 대부분이 키-값 쌍 방식이랍니다.
단순 키-값 쌍으로 저장하게 되면
읽는데 시간이 O(n)만큼 걸립니다.
그래서 대부분의 데이터베이스들은 키-값 쌍 데이터를
LSM트리나 B트리 방식으로 값을 저장합니다.
공부하다 보니
B트리 방식을 더 많이 사용한다는데
그만큼 구현 복잡도가 느껴지고
LSM트리는 B트리보다 채택이 덜 되는 느낌을 받았는지
확 "이거다!"라는 느낌은 오지 않더라고요.
여기서 문득 생각이 들었습니다.
Rust라는 언어로 무언가를 개발한다는 것 자체가 처음...
그래서 깔끔하게
SS테이블로 간단하게 구현한 뒤 LSM트리로 업그레이드하는 방식으로
점진적으로 개발을 해볼까 합니다.
B트리로는 기회가 되면 구현해보겠지요... 하하

LSM트리도 구현할게 상당히 많아서 굳이 무리할 필요는 없을 거 같았습니다.
둘의 차이점에 대해서는 나중에 게시글에 따로 작성해볼까 합니다.
아직 저도 책을 읽으면서 습득 중인 내용이다 보니
직접 개발하면서 차차 올려보도록 하겠습니다.
댓글