SQLP 용어집

Jmnote bot (토론 | 기여)님의 2017년 6월 27일 (화) 13:53 판 (봇: 자동으로 텍스트 교체 (-== 참고 자료 == +==참고==))
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)
SQLP 용어집

1 목록[ | ]

한국어명 영어명 설명
개념적 데이터 모델링 추상화 수준이 높고 업무중심적이고 포괄적인 수준의 모델링 진행. 전사적 데이터 모델링, EA 수립시 많이 이용
격리성 isolation 실행 중인 트랜잭션의 중간결과를 다른 트랜잭션이 접근할 수 없다.
공유 락 shared lock 데이터를 읽고자 할 때 사용하며, 다른 공유 Lock과는 호환되지만 배타적 Lock과는 호환되지 않는다.
관계 relation 엔터티의 인스턴스 사이의 논리적인 연관성으로서 존재의 형태로서나 행위로서 서로에게 연관성이 부여된 상태
교착상태 deadlock 두 세션이 각각 Lock을 설정한 리소스를 서로 액세스하려고 마주보며 진행하는 상황을 말하며, 둘 중 하나가 물러나야 해결된다.
규칙기반 옵티마이저 rule-based optimazer 미리 정해 놓은 규칙에 따라 액세스 경로를 평가하고 실행계획을 선택해 주는 옵티마이저다.
낙관적 동시성 제어 optimistic concurrency control 사용자들이 같은 데이터를 동시에 수정하지 않을 것이라고 가정함으로써, 데이터를 읽을 때는 Lock을 설정하지 않는다. 대신 수정 시점에 다른 사용자에 의해 값이 변경됐는지를 검사하는 동시성 제어 기법을 말한다.
논리적 데이터 모델링 시스템으로 구축하고자 하는 업무에 대해 Key, 속성, 관계 등을 정확하게 표현. 재사용성이 높음
다중버전 동시성 제어 multiversion concurrency control, MVCC 현재 진행 중인 트랜잭션에 의해 변경된 데이터를 읽고자 할 때는 변경 이전 상태로 되돌린 버전을 읽는 방식이다.
데이터 모델링 기업 업무에 대한 종합적인 이해를 바탕으로 데이터에 존재하는 업무 규칙(Business Rule)에 대하여 참(True) 또는 거짓(False)을 판별할 수 있는 사실(사실명제)을 어떻게(How), 누가(Who) 접근하는지를 정의하고, 이에 대한 전산화와는 별개의(독립적인) 관점에서 이를 명확하게 표현하는 추상화 기법
데이터독립성 ANSI/SPARC에서 제시한 외부단계와 개념적 단계, 내부적 단계로 구성된 서로 독립적인 데이터베이스 스키마 구조에서 외부와 개념, 개념과 내부 단계에 대한 독립성을 의미
동시성 제어 concurrency control 다수 사용자에 의한 다중 트랜잭션이 동시에 작동할 때 DBMS는 이들 트랜잭션의 상호 간섭 작용에서 데이터베이스를 보호할 수 있어야 하며, 이를 동시성 제어라고 한다.
동적 파티션 Pruning dynamic partition pruning 액세스할 파티션을 실행 시점(Run-Time)에서야 결정한다. 파티션 키 칼럼을 바인드 변수로 조회하는 경우가 태표적이다. NL Join 할 때도 Inner 테이블이 조인 칼럼 기준으로 파티셔닝 돼 있으면 동적으로 Pruning이 작동한다.
디스크 소트 to-disk sort 할당받은 소트 영역 내에서 정렬을 완료하지 못해 디스크 공간까지 사용하는 경우를 말하며, 'External Sort'라고도 한다.
메모리 소트 in-memory sort 전체 데이터의 정렬 작업을 할당받은 소트 영역 내에서 완료하는 것을 말하며, 'Internal Sort' 또는 'Optimal Sort'라고도 한다.
모델 model 모형(模型), 축소형(縮小型)의 의미로 사람이 살아가면서 나타날 수 있는 다양한 현상에 대해서 일정한 표기법에 의해 표현해 놓은 모형
문장수준 읽기 일관성 statement-level read consistency 다른 트랜잭션에 의해 데이터의 추가, 변경, 삭제가 발생하더라도 단일 SQL문 내에서 일관성 있게 값을 읽는 것을 말한다. 일관성 기준 시점은 쿼리 시작 시점이 된다.
물리적 데이터 모델링 실제로 데이터베이스에 이식할 수 있도록 저장공간, 성능 등 물리적인 성격을 고려하여 설계
반정규화 de-normalization 정규화된 엔터티, 속성, 관계에 대해 시스템의 성능 향상과 개발(Development), 운영(Maintenance)의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링의 기법
배타적 락 exclusive lock 데이터를 변경하고자 할 때 사용되며, 어떤 모드의 Lock과도 호환되지 않는다.
버퍼 캐시 히트율 buffer cache hit ratio 전체 읽은 블록 중에서 메모리 버퍼 캐시에서 찾은 비율을 말한다. 즉, 물리적인 디스크 읽기를 수반하지 않고 곧바로 메모리에서 블록을 찾은 비율로서, 구하는 공식은 다음과 같다. 버퍼 캐시 히트율 = (버퍼 캐시에서 곧바로 찾은 블록 수 / 총 읽은 블록 수) X 100
병렬 서버 프로세스 실제 병렬 작업을 수행하는 개별 프로세스를 말한다.
부분범위처리 쿼리 결과집합을 전송할 때, 전체 데이터를 연속적으로 전송하지 않고 사용자로부터 Fetch Call이 있을 때마다 일정량씩 나누어서 전송하는 것을 말한다.
분산 데이터베이스 분산 데이터베이스는 데이터베이스를 연결하는 빠른 네트워크 환경을 이용하여 데이터베이스를 여러 지역, 여러 노드로 위치시켜 사용성/성능을 향상시킨 데이터베이스
블로킹 blocking Lock 경합이 발생해 특정 세션이 작업을 진행하지 못하고 멈춰 선 상태를 말한다.
비관적 동시성 제어 pessimistic concurrency control 사용자들이 같은 데이터를 동시에 수정할 것이라고 가정함으로써, 데이터를 읽는 시점에 설정한 Lock을 트랜잭션이 완료될 때까지 유지하는 동시성 제어 기법을 말한다.
비식별자관계 부모로부터 받은 주식별자를 자식 엔터티의 주식별자가 아닌 일반 속성으로 이용하는 연관관계
비용 cost 쿼리를 수행하는데 소요될 것으로 예상되는 일량 또는 시간을 말한다.
비용기반 옵티마이저 cost-based optimizer 비용을 기반으로 최적화를 수행하는 옵티마이저다. 여기서 '비용(Cost)'이란, 쿼리를 수행하는데 소요되는 일량 또는 시간을 뜻한다.
비용기반 쿼리 변환 변환된 쿼리의 비용이 더 낮을 때만 그것을 사용하고, 그렇지 않을 때는 원본 쿼리 그대로 두고 최적화를 수행하는 것을 말한다.
선택도 selectivity 전체 대상 레코드 중에서 특정 조건에 의해 선택될 것으로 예상되는 레코드 비율을 말한다.
성능 데이터 모델링 데이터베이스 성능 향상을 목적으로 설계단계의 데이터 모델링 때부터 정규화, 반정규화, 테이블통합, 테이블분할, 조인구조, PK, FK 등 여러 가지 성능과 관련된 사항이 데이터 모델링에 반영될 수 있도록 하는 것
소프트 파싱 soft parsing SQL과 실행계획을 캐시에서 찾아 곧바로 실행단계로 넘어가는 경우를 말한다.
속성 업무에서 필요로 하는 인스턴스에서 관리하고자 하는 의미상 더 이상 분리되지 않는 최소의 데이터 단위
식별자 identifier 여러 개의 집합체를 담고 있는 하나의 통에서 각각의 인스턴스를 구분할 수 있는 논리적인 이름
식별자관계 부모로부터 받은 주식별자를 자식 엔터티의 주식별자로 이용하는 연관관계
실행계획 execution plan 사용자의 질의를 처리하기 위한 방법과 절차를 표현한 것이다. DBMS 내부적으로 옵티마이저에 의해 생성된 SQL 처리절차(프로시저)를 말한다.
엔터티 entity 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합적인 것(thing)
영속성 durability 트랜잭션이 일단 그 실행을 성공적으로 완료하면 그 결과는 데이터베이스에 영속적으로 저장된다.
옵티마이저 optimizer 사용자의 질의에 대해 최적의 실행 방법(실행계획)을 결정하는 모듈이다. 규칙기반 옵티마이저와 비용기반 옵티마이저로 나눠진다.
원자성 atomicity 트랜잭션은 더 이상 분해가 불가능한 업무의 최소단위이므로, 전부 처리되거나 아예 하나도 처리되지 않아야 한다.
인덱스 손익분기점 인덱스에 의한 테이블 액세스와 테이블 전체 스캔의 수행 비용이 같아지는 지점을 말한다.
인스턴스 instance SGA 공유 메모리 영역과 이를 액세스하는 프로세스 집합을 합쳐서 부르는 말이다.
일관성 consistency 일관된 상태의 데이터베이스에서 하나의 트랜잭션을 성공적으로 완료하고 나면 그 데이터베이스는 여전히 일관된 상태여야 한다. 즉, 트랜잭션 실행의 결과로 데이터베이스 상태가 모순되지 않아야 한다.
정규화 normalization 속성간의 함수적 종속, 다치종속, 조인종속에 의한 데이터처리(입력, 수정, 삭제)의 이상 현상(Anomaly)을 제거하여 정규형(Normal Form)을 만들어 나가는 데이터베이스 근간 이론
정적 파티션 Pruning static partition pruning 액세스할 파티션을 컴파일 시점(Compile-Time)에 미리 결정한다. 파티션 키 칼럼을 상수 조건으로 조회하는 경우에 작동한다.
카디널리티 cardinality 특정 액세스 단계를 거치고 나서 출력될 것으로 예상되는 결과 건수를 말하며, 총 로우 수에 선택도를 곱해서 구한다.
클러스터링 팩터 clustering factor 특정 칼럼을 기준으로 같은 값을 갖는 데이터가 서로 모여있는 정도를 의미한다.
트랜잭션 수준 읽기 일관성 transaction-level read consistency 다른 트랜잭션에 의해 데이터의 추가, 변경, 삭제가 발생하더라도 트랜잭션 내에서 일관성 있게 값을 읽는 것을 말한다. 일관성 기준 시점은 트랜잭션 시작 시점이 된다.
트랜잭션 transaction 업무 처리를 위한 논리적인 작업 단위다.
파티션 Pruning 파티션 Pruning은 옵티마이저가 SQL의 대상 테이블과 조건절을 분석하여 불필요한 파티션을 액세스 대상에서 제외하는 기능을 말한다.
하드 파싱 hard parsing SQL과 실행계획을 캐시에서 찾지 못해 최적화 과정을 거치고 나서 실행단계로 넘어가는 경우를 말한다.
함수의 종속성 functional dependency 속성의 값이 어떤 기준값에 의해 종속되는 현상을 지칭하는 것. 이 때 기준값을 결정자(Determinant)라 하고 종속되는 값을 종속자(Dependendent)라고 함
휴리스틱 쿼리 변환 결과만 보장된다면 무조건 쿼리 변환을 수행하는 것을 말한다.
빌드 인풋 build input Hash Join에서 해시 테이블(=맵) 생성을 위해 선택된 집합을 말한다.
더티 리드 dirty read 다른 트랜잭션에 의해 수정된, 아직 커밋되지 않은 데이터를 읽는 것을 말한다.
동적 SQL dynamic SQL String형 변수에 담아서 기술하는 SQL문을 말한다.
ERD entity relationship diagram 도출된 엔터티와 엔터티간의 관계를 이해하기 쉽게 도식화한 다이어그램
글로벌 파티션 인덱스 global partition index 테이블 파티션과 독립적인 구성을 갖도록 파티셔닝한 인덱스를 말한다. SQL Server에선 '정렬되지 않은(un-aligned) 파티션 인덱스'라고 부른다.
인덱스 스큐 index skew 인덱스 엔트리가 왼쪽 또는 오른쪽에 치우치는 현상을 말한다.
인덱스 스파스 index sparse 인덱스 블록 전반에 걸쳐 밀도(density)가 떨어지는 현상을 말한다.
로컬 파티션 인덱스 local partition index 테이블 파티션과 1:1로 대응되도록 파티셔닝한 인덱스를 말한다. SQL Server에선 '정렬된(aligned) 파티션 인덱스'라고 부른다.
락 에스컬레이션 lock escalation 관리할 Lock 리소스가 정해진 임계치를 넘으면서 로우 레벨 락이 페이지, 익스텐트, 테이블 레벨 락으로 점점 확장되는 것을 말한다.
LRU least recently used 사용빈도가 높은 오브젝트가 메모리 캐시에 오래 상주하도록 관리하는 알고리즘을 말한다.
멀티 블록 I/O multi block I/O MultiBlock I/O 는 I/O Call이 필요한 시점에, 인접한 블록들을 같이 읽어 메모리에 적재하는 방식이다.
넌프리픽스트 파티션 인덱스 non-prefixed partition index 파티션 인덱스를 생항할 때, 파티션 키 칼럼을 인덱스 키 칼럼 왼쪽 선두에 두지 않는 것을 말한다. 파티션 키가 인덱스 칼럼에 아예 속하지 않을 때도 여기에 속한다.
넌리피터블 리드 non-repeatable read 한 트랜젝션 내에서 같은 쿼리를 두 번 수행했는데, 그 사이에 다른 트랜잭션이 값을 수정 또는 삭제하는 바람에 두 쿼리 결과가 다르게 나타나는 현상을 말한다.
팬텀 리드 phantom read 한 트랜잭션 내에서 같은 쿼리를 두 번 수행했는데, 첫 번째 쿼리에서 없던 유령(Phantom) 레코드가 두번째 쿼리에서 나타나는 현상을 말한다.
프리픽스트 파티션 인덱스 prefixed partition index 파티션 인덱스를 생성할 때, 파티션 키 칼럼을 인덱스 키 칼럼 왼쪽 선두에 두는 것을 말한다.
프로브 인풋 probe input Hash Join에서 Build Input으로 선택되지 못한 나머지 집합을 말하며, 해시 테이블을 탐색할 소스 데이터를 제공하는 집합이다.
쿼리 코디네이터 query coordinator 병렬 SQL문을 발생한 세션으로서, 각 병렬 서버 프로세스의 역할을 조정하고 결과를 취합니다.
랜덤 액세스 random access 레코드간 논리적, 물리적 순서를 따르지 않고, 한 건을 읽기 위해 한 블록씩 접근하는 방식이다.
리드 커미티드 read committed 트랜잭션이 커밋되어 확정된 데이터만 다른 트랜잭션이 읽도록 허용함으로써 Dirty Read를 방지해주는 트랜잭션 격리성 수준이다.
리드 언커미티드 read uncommitted 트랜잭션에서 처리 중인 아직 커밋되지 않은 데이터를 다른 트랜잭션이 읽는 것을 허용하는 트랜잭션 격리성 수준이다.
리피터블 리드 repeatable read 트랜잭션 내에서 쿼리를 두 번 이상 수행할 때, 첫 번째 쿼리에 있던 레코드가 사라지거나 값이 바뀌는 현상을 방지해 주는 트랜잭션 격리성 수준이다.
순차 액세스 sequential access 레코드간 논리적 또는 물리적인 순서를 따라 차례대로 읽어 나가는 방식이다.
시리얼라이저블 리드 serializable read 트랜잭션 내에서 쿼리를 두 번 이상 수행할 때, 첫 번째 쿼리에 있던 레코드가 사라지거나 값이 바뀌지 않음은 물론 새로운 레코드가 나타나지도 않는 트랜잭션 격리성 수준이다.
싱글 블록 I/O single block I/O 한번의 I/O Call에 하나의 테이블 블록만 읽어 메모리에 적재하는 방식이다.
SQL 처리 흐름도 access flow diagram SQL문의 내부적인 처리 절차를 도표화하여 표현한 것이다.
정적 SQL static SQL String형 변수에 담지 않고 코드 사이에 직접 기술한 SQL문을 말하며, 'Embadded SQL'이라고도 한다.

2 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}