CS/DB (3) 썸네일형 리스트형 DB 트랜잭션 & 트랜잭션 격리수준 트랜잭션이란? 여러 쿼리를 논리적으로 하나의 작업으로 묶어 주는 것 트랜잭션의 4가지 특징 : ACID Atomicity : 원자성 한 트랜잭션의 연산이 모두 성공하거나(commit), 모두 실패해야한다 (rollback) Consistency : 일관성 한 트랜잭션 이전과 이후의 데이터베이스 상태가 유효해야한다 즉, 데이터베이스의 제약이나 규칙을 만족해야한다 Isolation : 독립성 모든 트랜잭션은 다른 트랜잭션으로부터 독립되어야한다 둘 이상의 트랜잭션이 동시 실행되고 있을 때 어떤 트랜잭션도 다른 트랜잭션 연산에 끼어들 수 없다 durability : 지속성 한 트랜잭션이 성공적으로 수행되었다면 결과는 영구히 반영되어야 한다 트랜잭션이 동시 접근 시 발생되는 현상 Dirty Write : 커밋되지.. [DB] Index with B-Tree B-Tree Binary Tree 에서 확장된 트리 한 node가 가질 수 있는 child node의 수가 2개 이상인 트리 각 노드는 여러개의 key를 가질 수 있고 각 key에 대응하는 data도 가지고 있다 leaf node는 모두 같은 레벨에 존재해야 한다 B+ Tree B-Tree 에서 확장된 트리 branch node 에는 key값만 가지고 있고, leaf node에만 data가 저장된다 따라서 disk I/O 시 disk block에 더 많은 key를 배치할 수 있기 때문에 key 탐색 시 B-Tree 보다 상대적으로 적은 disk block만 읽어도 된다 (리프노드를 제외하고 데이터를 담아두지 않기 때문) ⟹ 성능 개선 leaf node는 linked list로 연결되어있다 B-Tree 가.. [DB] Index 란? Index 추가적인 쓰기작업과 저장공간을 활용하여 RDBMS에서 검색 속도를 높일 수 있는 자료구조이다. 예를들어 책이라고 생각해보면, 책의 내용 = 데이터, 목차 = Index, 목차의 페이지 번호 = 데이터가 저장된 레코드 주소라고 할 수 있다. 따라서 모든 데이터를 검색해서 원하는 결과를 가져오는 시간보다 미리 저장해둔 값에 따른 위치로 접근하여 속도면에서 유리하다. Index의 장단점 장점 CUD 작업(Insert, Update, Delete)은 기본적으로 R 작업(Select)을 선행하기 때문에 대부분의 작업에서 성능개선을 기대할 수 있다. 단점 추가적인 저장공간이 필요하다. 또한, 잘못된 사용이나 무분별한 사용으로 성능이 저하될 수 있다. CRUD에 따른 성능 비교 CUD 작업(Insert, .. 이전 1 다음