CS/Database

CS/Database

데이터베이스 B Tree 자료구조란, 데이터 삽입 과정 및 AVL Tree와 차이 이해하기

인덱스란데이터베이스 테이블의 검색 속도를 향상시키기 위한 자료구조로, 사전의 목차와 유사하다.저장되는 컬럼의 값을 사용하여 항상 정렬된 상태를 유지합니다.이러한 특징으로 인덱스는 쓰기 작업인 Insert, Update, Delete 연산 성능이 희생된다는 장점이 있습니다.하지만 데이터베이스 작업은 읽기 작업이 80% 정도 일어나므로, 인덱스를 사용하는 것이 더 큰 장점이 있습니다.InnoDB 스토리지 엔진에서는 Secondary Index(Primary Index를 제외한 모든 인덱스)의 리프 노드에는 레코드의 PK가 저장됩니다. 따라서 Secondary Index 검색에서는 레코드를 읽기 위해 PK를 가지고 있는 B-Tree를 다시 한번 검색해야 합니다. (1 + 1)B Tree자녀 노드의 최대 개수를..

CS/Database

데이터베이스 인덱스 이해하기: index, clustered index, non-clustered index

Index인덱스 파일은 데이터베이스에서 쿼리 성능을 향상시키기 위해 테이블의 특정 컬럼 값과 해당 행의 위치(Pointer)를 저장합니다.인덱스는 테이블의 데이터를 효율적으로 검색하기 위한 자료구조를 활용합니다. (B-Tree, Hash)Indexed Column Value인덱스가 설정된 컬럼의 실제 값들이 저장됩니다.해당 값을 이용해 데이터베이스가 특정 행을 찾는 데 필요한 정보로 사용합니다.Indexed Column Value: 101, 102, 103, 104, ...Row Pointer인덱스 파일에는 해당 인덱스 키 값이 테이블의 어느 행에 위치하는지에 대한 정보를 나타내는 포인터가 함께 저장됩니다.해당 포인터는 테이블의 실제 데이터 행을 가리킵니다.Indexed Column Value: 101 ..

CS/Database

데이터베이스 인덱스 종류와 원리: 희소 인덱스, 밀집 인덱스, 클러스터링 인덱스

인덱스란 ▶ DBMS가 데이터베이스 내의 특정 레코드들을 빠르게 찾을 수 있도록 하는 데이터 구조이며, 인덱스를 통하여 질의를 수행하면 응답 시간이 향상됩니다. 즉, 인덱스는 데이터베이스에서 원하는 데이터를 조회하는데 시간을 단축시켜 주는 또 하나의 파일 데이터라 할 수 있습니다. 인덱스는 보통 형태로 구성되어 있습니다. 디스크 접근 시간이 주기억 장치 접근 시간에 비해서 크며 대부분의 데이터베이스 응용에서 디스크 접근을 많이 요구하여, 탐색 시간을 단축해야 좋은 성능을 가질 수 있습니다. 인덱스 파일의 크기는 보통 데이터베이스 파일의 크기에 비해 훨씬 작습니다.왜냐하면 인덱스는 여러 애트리뷰트 중에서 탐색 키에 해당하는 일부 애트리뷰트만 포함되기 때문입니다. (+ 포인터도 있음) 데이터베이스에서 인덱..

CS/Database

[DB] 데이터베이스의 원칙과 ACID, RDBMS와 NOSQL의 차이점 이해하기

데이터베이스의 기본 원칙과 RDBMS와 NoSQL 차이를 이해하여 프로젝트 유형에 따라 어느 데이터베이스를 고르는 것이 효율적인지 파악하고자 합니다. 데이터베이스의 원칙 무결성 : 데이터의 정보가 변경되거나 오염되지 않도록 하는 원칙 Accuracy 데이터에 오류가 없어야 합니다. 사용자가 저장하고자 하는 내용 모두가 잘 저장되어야 합니다. Consistency 데이터베이스는 일관성이어야 합니다. 안정성 오류 발생 시 회복력(복구력)이 좋아야 합니다. 고장이 잘 나지 않아야 합니다. 확장성 Scale Up - 서버 컴퓨터 기능 향상 하기 Scale Out - 여러 서버 분산하여 처리하기 Transaction 트랜잭션을 통해 작업의 완전성을 보장합니다. 사용자의 작업셋을 모두 완벽하게 처리하거나 처리하지 ..

kylo
'CS/Database' 카테고리의 글 목록 (2 Page)