분류 전체보기6 DB 인덱스 인덱스가 없는 경우인덱스가 없으면 풀 스캔을 통해 모든 데이터를 읽는다.인덱스가 있는 경우DBMS 에서는 일반적으로 B 트리 인덱스를 사용한다.인덱스가 있다면 찾는 부분으로 이동 후 찾을 수 있다.하지만 데이터 추가 삭제 시에는 인덱스 갱신도 해서 오버헤드가 클 수 있다.인덱스의 구조 - B 트리 인덱스트리 구조로 루트 블록, 브랜치 블록, 리프 블록, 원하는 데이터에 접근 가능한 구조를 가지고 있다.이렇게 4개의 블록만 거치면 데이터를 찾을 수 있어서 풀스캔 할때보다 빠르다.하지만 인덱스 블록을 읽을때마다 테이블 블록을 하나씩 읽어서 디스크 I/O 횟수가 늘어나기도 한다.B 트리 인덱스는 트리 계층 구조가 깊어지지 않아 디스크 I/O 를 줄일 수 있기 때문에 DBMS 에서 많이 사용된다.반대로 인메모리.. 2024. 5. 3. Volume 에 대해서 Docker를 사용하면 여러 서비스를 간편하게 컨테이너로 띄우고 서로 결합하며 하나의 앱을 공통된 환경에서 개발할수 있는 장점이 있다. Docker 에 이미지는 프로그래밍 언어에 클래스와 비슷해서 컨테이너를 만들 청사진 같은 역할을 하며 각각의 이미지를 기반으로 컨테이너를 생성할 수 있다. 이때 생성되는 컨테이너는 프로그밍 언어에 인스턴스와 비슷한데, 각각의 컨테이너는 서로 격리되어 있는 독립적인 서비스가 된다. 서로 격리되어 있다는 것은 말그대로 서로 공유하는것이 없다는 것인데, 이것은 파일 시스템도 공유하지 않다는것을 의미한다. 개발을 하다보면 컨테이너를 계속해서 생성하기 보다는 —rm 옵션을 주어서 종료될때 컨테이너를 제거하는데, 이때 컨테이너는 종료 되면서 제거되고 파일 시스템에 저장된 내용도 제.. 2024. 3. 31. 이전 1 2 다음