Computer Science 3

B+Tree란 무엇일까요

(아래 내용은 B-Tree 내용을 안다는 전제하에 작성하였습니다. B-Tree에 대해 알고싶은신 경우 해당 글을 참고해주시면 감사합니다.) 핵심 내용 B-Tree의 한계점은 무엇이고 왜 B+Tree가 생겨났는지 B+Tree란 무엇인지 B-Tree vs B+Tree 비교 MySQL에서 B+Tree는? B-Tree 한계점 B+Tree를 설명하기 전에 B-Tree의 한계점이 무엇인지 생각해보자. B-Tree는 검색 속도가 빠르지만, 순차적으로 데이터를 불러오는 경우 리프, 브랜치, 루트 노드에 각각 저장된 데이터 주소를 불러와야 하기 때문에 매우 복잡합니다. 해당 내용이 왜 중요하냐면, 데이터베이스에 저장된 테이블 로우 정보는 입력된 순서대로 차근차근 저장되어 있지 않고 랜덤한 주소에 각각 저장되어 있습니다...

Computer Science 2020.05.11

MySQL에서 활용되는 B-Tree구조

핵심 내용 B-Tree란 무엇인지 B-Tree 특징 및 장단점 MySQL에서 B-Tree 역할은? B-Tree란 B-Tree란 하나의 노드에 여러자료가 배치되는 트리구조의 일종으로써 Binary 트리와 다르게 좌우가 항상 균형적으로 유지되고 노드 데이터는 정렬된 상태로 존재합니다. 예를 들면, 아래 그림과 같습니다. 위의 그림과 같이 어느 한쪽으로 트리구조가 쏠려있지 않고 같은 높이에 존재하는 것을 확인 할 수 있습니다. 이외에도 몇가지 B-Tree의 특징이 존재합니다. 1) 노드의 자료수가 N이라면 자식(Child) 노드 수는 N + 1이어야 합니다. 위의 그림을 예로 들면, 각 노드에 2개의 데이터가 존재하기 때문에 자식 노드가 3개씩 존재하는 것을 알 수 있습니다. 2) 각 노드 데이터에서 작은 것..

Computer Science 2020.05.04

자료구조와 알고리즘의 이해

아래 내용은 "윤성우의 열혈 자료구조" 책 내용을 기반으로 작성한 것입니다. 단순 복습 및 요약을 위한 것이니 공부 시 도서 구매를 추천합니다!자료구조에 대한 기본적인 이해자료구조란? '데이터의 표현 및 저장방법'을 뜻한다.알고리즘이란? 자료구조에서 표현 및 저장된 데이터를 대상으로 하는 '문제의 해결 방법'⇒ 따라서 자료구조에 따라서 알고리즘은 달라지고, 알고리즘은 자료구조에 의존적이다.알고리즘의 성능 분석 방법지수식 로그식을 다 안다고 가정한다.시간 복잡도(Time Complexity)와 공간 복잡도(Space Complexity)좋은 성능 및 동작을 보장받기 위해 자료구조와 알고리즘을 공부하는 것이다.핵심- 어떤 알고리즘이 어떠한 상황에서 더 빠르고 더 느린가 ⇒..

Computer Science 2019.06.09