- 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 참고[ | ]
편집자 Jmnote Jmnote bot
로그인하시면 댓글을 쓸 수 있습니다.