Database/개념

데이터 모델링 이란? 모델링의 특징 1. 추상화 : 현실세계를 일정한 형식에 맞춰 표현을 한다는 의미2. 단순화 : 복잡한 현실세계를 약속된 규약에 의해 제한된 표기법이나 언어로 표현하여 쉽게 이해할 수 있도록 하는 개념을 의미3. 명확화 : 누구나 이해하기 쉽게 하기 위해 대상에 대한 애매모호함을 제거하고 정확하게 현상을 기술하는 것을 의미 모델링의 세가지 관점 1. 데이터 관점 : 업무가 어떤 데이터와 관련이 있는지 또는 데이터간의 관계는 무엇인지에 대해 모델링하는 방법2. 프로세스 관점 : 업무가 실제하고 있는 일은 무엇인지 또는 무엇을 해야 하는지를 모델링하는 방법3. 상관괌점 : 업무가 처리하는 일의 방법에 따라 데이터는 어떻게 영향을 받고 있는지 모델링하는 방법 데이터 모델링의 정의 1. 정보..
GOLDILOCKS DBMS 를 기준으로 설명되며, 이는 다른 DBMS 또한 동일합니다. T1 테이블에 다수개의 필드가 있고, 데이터가 많이 있는 상황입니다.gSQL> SELECT * FROM T1 LIMIT 10; DESCRIPTION LOGICAL_ADDR REF_COUNT SPIN_LOCK WAIT_COUNT X_LOCK_SEQ CURRENT_MODE CAS_MISS_COUNT ----------------------------- --------------- --------- --------- ---------- ---------- ------------ -------------- PCH ( TBS:4, PAGE:0, TYPE:9 ) 562949991497728 0 0 0 14 INITIAL 0 P..
실행 계획(Plan) 이란, 결과를 도출하기 위해 어떤 방법 혹은 순서로 데이터에 접근할지를 나타내는 것을 의미합니다. 접근 방식은 테이블 스캔과, 인덱스 스캔으로 나뉘어집니다.이 접근 방식은 테이블의 데이터 량에 따라 성능차이가 발생할 수 있습니다. 예를 들어 보겠습니다. 테이블에 데이터가 1건이 있는 경우, 학번 1001 을 검색하기 위해선, 아래 그림 중 어느 게 빠를까요?테이블에 데이터가 10,000 건(엄청 많음을 의미)이 있는 경우, 학번 1001 을 검색하기 위해선, 아래 그림 중 어느게 빠를까요? 테이블의 건수가 많은 경우테이블 스캔은 수많은 데이터중 1건을 스캔해야 하지만,인덱스 스캔은 1001 이라는 데이터에 접근한 뒤, 이 주소를 이용하여 테이블에 접근하면 되므로 성능에서 이점이 생깁..
데이터베이스 정규화란데이터 중복을 최소화 혹은 없애기 위한 작업을 의미합니다. 정규화의 단계는 1NF 부터 시작해서 2NF, 3NF, BCNF, 4NF, 5NF 단계로 이루어 집니다. 주로 3NF 단계에서 정규화 작업은 끝이나며,너무 많은 정규화 작업은 JOIN 으로 인하여 성능을 떨어트릴 수 있으므로 주의하여야 합니다. 요즘 한창 이슈인 코인에 대해서 예시를 들어보겠습니다. 1NF각 열의 데이터가 하나의 값만 가지고 있는 경우를 의미합니다. 특정 테이블에 아래와 같은 데이터가 있다고 가정합니다. 사용자 고유 식별번호 사용자 이름 보유 코인 1001 홍길동 비트코인 1002 임꺽정 비트코인, 리플 1003 성춘향 리플혹은 다음과 같을 수도 있습니다. 사용자 고유 식별번호 사용자 이름 보유 코인 1 보유 ..
OLTP ( On-Line Transaction Processing )여러 과정의 연산이 하나의 단위 프로세스(트랜잭션)로 실행되도록 하는 프로세스입니다. A 라는 사람이 B 에게 10,000 원을 이체하는 상황을 예로 들어보겠습니다.1. A 라는 사람의 계좌에서 10,000 원이 인출됩니다.2. B 라는 사람의 계좌에 10,000 원이 입금됩니다. 이 단계는 하나의 프로세스로 이루어져야 하며, 중간에 오류가 발생하는경우 모든 단계를 되돌려야 합니다. OLAP ( On-Line Analytical Processing )대용량 데이터를 고속으로 처리하며 쉽고 다양한 관점에서 추출, 분석할 수 있도록 지원하는 데이터 분석 기술입니다.데이터를 분석하여, 소비자 패턴, 연령대별의 선호 물품 등을 판별하여 매출에..
XA 트랜잭션여러 개의 노드 또는 다른 종료의 데이터베이스가 참여하는 하나의 트랜잭션(=분산 트랜잭션)을 의미합니다.Goldilocks DBMS 에서는 이를 Global Transaction 이라고 칭하고 있습니다. XA 트랜잭션의 로직1. AP 에서 트랜잭션 관리자에게, 트랜잭션을 시작을 알립니다.2. 트랜잭션 관리자는 어느 노드가 트랜잭션에 참여하는지 확인합니다. 다음 각 노드에 트랜잭션의 시작을 알립니다.3. AP 에서 SQL 문장을 통해 작업을 수행합니다.4. 모든 작업이 완료되면 AP 에서 트랜잭션 관리자에게 트랜잭션을 종료를 알립니다.5. 트랜잭션 관리자는 각 데이터베이스 노드에 커밋과 롤백을 동시에 하도록 지시하며 이 때 2 단계 커밋을 수행합니다. 2단계 커밋은 아래 URL 을 참고 하시면..
우선 정말 간단하게 사전적 의미만 알아봅니다.Latency : 한 지점에서 다른 지점으로 보내는데 소요되는 시간Throughput : 단위 시간당 처리할 수 있는 업무 단위량 데이터베이스 관점에서 다시 의미를 풀이하면 다음과 같습니다.Latency : 어떠한 트랜잭션의 요청시간으로부터 반환까지 걸리는 시간Throughput : 시간당 처리할 수 있는 트랜잭션 량 3가지 종류의 사진에 대해 설명해보겠습니다.50km 길이의 차선이 있다고 가정해보겠습니다.통과하는데 걸리는 시간을 L (=Latency), 한시간동안의 통과량을 T (=Throughput) 이라고 계산해보겠습니다. * 사진 11차선 도로가 있고, 차가 시속 100km/h 로 간다고 합니다.L 은 0.5 라는 값이 나옵니다.T 는 2 라는 값이 나..
테이블이나 인덱스같은 저장공간의 데이터블록에 설정 가능한 옵션입니다. INITRANS 와 MAXTRANS * INITRANS1. 데이터 블록에 동시에 접근 가능한 트랜잭션의 초기 수를 의미합니다.2. 트랜잭션이 많이 발생하는 경우 MAXTRNAS 까지 늘어나며, PCTFREE 로 확보된 영역에 추가 확장됩니다. * MAXTRANS1. 데이터 블록에 접근 가능한 최대 트랜잭션 수를 의미합니다.2. 접근하는 트랜잭션 수가 MAXTRNAS 값을 초과하는 경우, 앞의 트랜잭션이 COMMIT 혹은 ROLLBACK 을 해야 다음 트랜잭션이 접근 가능합니다. 그렇다면 INITRANS 를 많이 설정해도 되지 않을까 라는 생각을 하게 되는데,INITRANS 을 위한 슬롯도 블록에 공간을 차지하며, 트랜잭션이 많지 않은 ..
꽁담
'Database/개념' 카테고리의 글 목록 (3 Page)