목록SQLD (29)
-
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/NzQjY/btq3PSq8Tmx/G5QWYxpkCVB5CmPYLKidTk/img.png)
목차 1. 트랜잭션 개요 2. COMMIT 3. ROLLBACK 4. SAVEPOINT 5. 정리 1. 트랜잭션 개요 트랜잭션 : 데이터베이스의 논리적 연산 단위. 밀접하게 관련되어 분리될 수 없는 한 개 이상의 데이터베이스 조작을 말한다. 하나의 트랜잭션에는 하나 이상의 SQL 문장이 포함된다. 올바르게 반영된 데이터를 DB에 반영시키는 것을 커밋(COMMIT), 트랜잭션 시작 이전의 상태로 되돌리는 것을 롤백(ROLLBACK)이라고 하며 저장점(SAVEPOINT) 기능과 함께 3가지 명령어를 TCL(Transaction Control Language)로 분류한다. 트랜잭션의 대상이 되는 SQL문은 UPDATE, INSERT, DELETE 등 데이터를 수정하는 DML 문이다. 트랜잭션이 수행하는 동안 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bI9F5b/btq3DxBfRLr/zzpOQPCIUps6K9dleUsDq1/img.png)
목차 1. 데이터 유형 2. CREATE TABLE 3. ALTER TABLE 4. RENAME TABLE 5. DROP TABLE 6. TRUNCATE TABLE 1. 데이터 유형 데이터 유형 : 테이블에 특정 자료를 입력할 때, 그 자료를 받아들일 공간을 자료의 유형별로 나누는 기준 VARCHAR 유형은 가변 길이이므로 필요한 영역은 실제 데이터 크기뿐이다. 따라서 길이가 다양한 칼럼과, 정의된 길이와 실제 데이터 길이에 차이가 있는 칼럼에 적합하다. 저장 측면에서도 CHAR 유형보다 작은 영역에 저장할 수 있다. CHAR 에서는 문자열을 비교할 때 공백을 채워서 비교하는 방법을 사용한다. 우선 짧은 쪽의 끝에 공백을 추가하여 2개의 데이터가 같은 길이가 되도록 한다. 그리고 앞에서부터 한 문자씩 비..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cfactI/btq3r1J2hFo/DwTGOAwosGfNgu0ZDsWlfK/img.png)
목차 1. 분산 데이터베이스의 개요 2. 분산 데이터베이스의 투명성 3. 분산 데이터베이스의 적용 방법 및 장단점 4. 분산 데이터베이스의 활용 방향성 5. 데이터베이스 분산 구성의 가치 6. 분산 데이터베이스의 적용 기법 7. 분산 데이터베이스를 적용하여 성능이 향상된 사례 1. 분산 데이터베이스의 개요 분산 데이터베이스의 정의 - 여러 곳으로 분산되어있는 데이터베이스를 하나의 가상 시스템으로 사용할 수 있도록 한 데이터베이스 - 논리적으로 동일한 시스템에 속하지만, 컴퓨터 네트워크를 통해 물리적으로 분산되어있는 데이터들의 모임 즉, 분산 데이터베이스는 DB를 연결하는 빠른 네트워크 환경을 이용하여 DB를 여러 지역의 여러 노드로 위치시켜 사용성/성능 등을 극대화 시킨 데이터베이스이다. 2. 분산 데이..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bkBWYe/btq3bO4NERZ/K2bKhCNpbHYVYF6JQDEXT0/img.png)
목차 1. 슈퍼타입/서브타입 모델의 성능고려 방법 2. 인덱스 특성을 고려한 PK/FK 데이터베이스 성능 향상 3. 물리적인 테이블에 FK 제약이 걸려있지 않을 경우 인덱스 미생성으로 성능 저하 1. 슈퍼타입/서브타입 모델의 성능고려 방법 1. 슈퍼/서브타입 데이터 모델의 개요 슈퍼/서브타입 데이터 모델(Extended ER)은 최근에 데이터 모델링을 할 때 자주 쓰이는 모델링 방법이다. 자주 쓰이는 이유는 업무를 구성하는 데이터의 특징을 공통점과 차이점을 중심으로 효과적으로 표현할 수 있기 때문이다. 공통 부분 : 슈퍼타입으로 모델링 공통으로부터 상속받아 다른 엔터티와 차이가 있는 속성 : 별도의 서브 엔터티로 구분 물리적인 데이터 모델을 설계하는 단계에서는 슈퍼/서브타입 데이터 모델을 일정한 기준에 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ygdZk/btq3bnk9XxA/0qXjtDVkq4bcgkZdq9q3uk/img.png)
목차 1. 대량 데이터 발생에 따른 테이블 분할 개요 2. 한 테이블에 많은 수의 칼럼을 가지고 있는 경우 3. 대량 데이터 저장 및 처리로 인한 성능 4. 테이블에 대한 수평분할/수직분할의 절차 1. 대량 데이터 발생에 따른 테이블 분할 개요 데이터 모델이 아무리 설계가 잘 되어있어도 대량의 데이터가 하나의 테이블에 집약되어있고, 하나의 하드웨어 공간에 저장되어있으면 성능저하가 일어난다. 이런 경우 트랜잭션이 분산 처리될 수 있도록 테이블 단위에서 분할의 방법을 적용할 필요가 있다. 대량의 데이터가 처리되는 테이블에 성능이 저하되는 이유는 SQL 문장에서 데이터를 처리하기 위한 I/O 양이 증가하기 때문이다. 만약 대량의 데이터가 하나의 테이블에 존재하게 되면 인덱스를 생성할 때 인덱스의 크기가 커지게..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/uxgTw/btq27hZFTGO/XnSwhiKcjIDMVVAKz8G3k0/img.png)
목차 1. 반정규화를 통한 성능향상 전략 2. 반정규화의 기법 3. 정규화가 잘 정의된 데이터 모델에서 성능이 저하될 수 있는 경우 4. 정규화가 잘 정의된 데이터 모델에서 성능이 저하된 경우 1. 반정규화를 통한 성능향상 전략 1. 반정규화의 정의 반정규화 : 정규화된 엔터티, 속성, 관계에 대해 시스템의 성능향상과 개발 및 운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링의 기법 데이터 무결성이 깨질 수 있는 위험을 감안하고 데이터를 중복하여 반정규화를 하는 이유는 데이터를 조회할 때 디스크 I/O 양이 많아서 성능이 저하되거나 경로가 너무 멀어 조인으로 인한 성능 저하가 예상되는 경우에 실행한다. 정규화는 입력/수정/삭제/조회에 대한 성능을 향상시킨다. 그러나 정규화만을 수행하면..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bZcNDf/btq2YR2pKPE/gSUYo5XysV2zbrmmDsFky1/img.png)
목차 1. 정규화를 통한 성능 향상 전략 2. 함수적 종속성에 근거한 정규화 수행 필요 1. 정규화를 통한 성능 향상 전략 정규화를 수행하는 것 : 데이터를 결정하는 결정자에 의해 함수적 종속을 가지고 있는 일반속성을 의존자로 하여 입력/수정/삭제 이상을 제거하는 것. 데이터의 중복속성을 제거하고 결정자에 의해 동일한 의미의 일반속성이 하나의 테이블로 집약되므로 한 테이블의 데이터 용량이 최소화되는 효과가 있다. 위 사진처럼 정규화 수행 모델은 반정규화된 테이블에 비해 처리 성능이 향상된다. 단, 데이터를 조회할 때에는 처리 조건에 따라 조회 성능이 향상될 수도, 저하될 수도 있다. 2. 함수적 종속성 (Functional Dependency) 에 근거한 정규화 수행 필요 함수의 종속성 : 데이터들이 어..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/lwiKr/btq26ojxvDF/QrDXarDz3LWfzmufOnxYj0/img.png)
목차 1. 성능 데이터 모델링의 정의 2. 성능 데이터 모델링 수행 시점 3. 성능 데이터 모델링 고려사항 1. 성능 데이터 모델링의 정의 성능이 저하되는 데이터 모델의 경우 크게 세가지를 고려하여 그 성능을 향상시킬 수 있다. - 데이터 모델 구조에 의해 성능이 저하되는 경우 - 데이터가 대용량이 됨으로 인해 성능이 저하되는 경우 - 인덱스 특성을 고려하지 않고 인덱스를 생성함으로 인해 성능이 저하되는 경우 성능 데이터 모델링 : 데이터베이스 성능 향상을 목적으로 설계단계의 데이터 모델링때부터 정규화, 반정규화, 테이블통합, 테이블 분할, 조인구조, PK, FK 등 여러가지 성능과 관련된 사항이 데이터 모델링에 반영될 수 있도록 하는 것 2. 성능 데이터 모델링 수행 시점 분석/설계 단계에서 데이터 모..