본문 바로가기
728x90

CS 개념정리/데이터베이스(DB)5

[CS] 데이터베이스 이론 정리(5) Concurrency Control (병행 제어) 여러개의 트랜잭션을 실행할 때 데이터베이스의 Consistency를 지켜야한다. - 일관된 데이터의 view를 보는 것 A 트랜잭션은 B 트랜잭션에 영향을 끼치면 안 된다. 트랜잭션을 제어 사용자에 대한 응답 시간 최소화하는 동시에 db 일관성 유지 Concurrency Control (병행 제어)를 하지 않는다면 Lost Update - 같은 데이터를 공유하여 갱신할 때 갱신 결과의 일부가 사라지는 현상. Inconsistency - 동시에 같은 데이터를 갱신할 때, 데이터의 상호 불일치가 발생하는 현상. Cacading Rollback - 같은 자원을 사용하는 A 트랜잭션은 성공하고 B 트랜잭션이 실패한 경우 B가 실패했기에 2개의 트랜잭션이 롤백되는.. 2023. 1. 9.
[CS] 데이터베이스 이론 정리(4) Transaction isolation Acid의 원칙을 타이트하게 지키면 동시성에 대한 퍼포먼스가 너무 떨어진다. 그래서 isolation level 별로 차등을 두어 동시성에 대한 이점을 가질 수 있게 한다. Read Uncommited 2개의 Transaction(A, B)이 있다고 가정했을 때 A가 수행하는 쿼리가 마무리되지 않았는데(commit 하지 않음) B가 A의 값을 채가는 경우 Same Data를 같은 시간에 볼 수 있음 Read Commited 하나의 Transaction(A)이 commit이 되어야 다른 Transaction(A)이 커밋된 것(A)을 읽어갈 수 있음 Same Data를 같은 시간에 볼 수 없음 Reapeatable Read Read Commited를 기본으로 하되, T.. 2022. 12. 26.
[CS] 데이터베이스 이론 정리(3) 데이터 베이스 뷰란? 허용된 데이터를 제한적으로 보여주기 위해 하나 이상의 테이블에서 유도된 가상의 테이블 데이터 베이스 뷰의 장점은? 뷰의 데이터가 저장되는 물리적위치가 없기에 자원을 낭비하지 않고 출력 가능 insert, update, delete 명령어를 허용하지 않기 때문에 데이터 엑세스 제한( 보안적 이득 ) 데이터 베이스 뷰의 단점은? 큰 테이블에 대해 뷰를 만들 때 더 많은 메모리가 사용된다. ER 모델은 무엇인가? ER 모델은 데이터베이스의 개념적 뷰를 정의하는 엔터티 - 관계 모델이다. ER 모델은 기본적으로 실체와 그 연관 관계를 보여준다. - (엔터티는 데이터베이스의 속성(column)) 엔터티(Entity), 엔터티 타입(Entity type), 엔터티 집합(Entity set)이란.. 2022. 11. 28.
[CS] 데이터베이스 이론 정리(2) 1.NoSQL Not Only SQL의 약자. 기존의 RDBMS와 다른 형태의 데이터로 저장하는 기술이다. 기존 기술은 복잡하고 소량이었다면 NoSQL은 단순하고 다량의 로그데이터 형태. RDBMS(관계형 db)는 관계형 연산을 수행하나 NoSQL은 데이터간의 관계를 보통 정의하지 않는다. ( 정의할 순 있음) RDBMS는 정해진 스키마에 맞추어 작성 but NOSQL은 데이터를 읽어올 때 유통성있는 스키마 사용 가능 - 매우 대용량의 데이터를 다루는데 적합한 방법, 분산형 구조에 매우 적합. - ACID(RDBMS 특징) 미보장 - 확장성, 가용성, 높은 성능 - 관계형 모델 x 조인기능 없음 - 여러대의 db 서버를 묶어서 하나의 db 구성 2.중앙 집중형 데이터 베이스 한 대의 물리적 시스템에 DB.. 2022. 11. 8.
[CS] 데이터베이스 이론 정리(1) KEY: 무언가를 식별하는 고유한 식별자 candidate key(후보키): 각 행을 유일하게 식별할 수 있는 최소한의 속성들의 집합 학번, 주민번호 primary key(기본키): 후보키들 중에서 하나를 선택한 키 - 최소성, 유일성 만족 학번 or 주민번호 super key(슈퍼키): 각 행을 유일하게 식별할 수 있는 하나 or 그 이상의 속성들의 집합 - pk가 들어가 있어야 하고 나머지 속성들이 원소로 들어가도 가능. {학번, 이름, 나이}, {주민번호, 사는 곳, 이름}.. foreign key(외래키): 테이블이 다른 테이블의 데이터를 참조할 때 관계 연결에 사용하는 key 1번 table과 2번 table을 연결하기 위한 key인 foreign key = 주민번호 alternate key(대.. 2022. 11. 2.
728x90