개발/sql

데이터베이스 관련 용어

카앙구운 2017. 2. 27. 11:51
728x90
반응형

회사에서 데이터베이스에 관한 책으로 공부하다가보니 용어를 제대로 알지 못해서 책에서 의도한 바를 이해하지 못하는 경우가 많아 몇가지 따로 정리해 본다.

OLTP(Online Transaction Proccessing): 온라인 트랜잭션을 위한 데이터베이스 프로세싱

온라인 업무처리 형태의 하나이다. 터미너에서 받은 메세지에 따라 호스트가 처리하고 그 결과를 다시 터미널로 되돌려주는 방법을 말한다.


Shared Pool: 공유 Data 를 저장하기 위해 마련된 메모리 공간

SQL문을 처리하고 커서를 공유하는데 사용된다. 쿼리를 실행하기 위해 필요한 구문분석 정보와 실행계획을 저장한다.(Shared =Library Cache+dictionally Cache)

Library Cache :  SQL 실행에 관련된 모든 객체에 대한 정보를 관리

    서버 프로세스가 SQL을 작업할 떄 사용하는 공간

    Shared SQL Area: SQL 문장 파스트리, 실행계획 저장

    PL/SQL Procedure:PL/SQL 문장 컴파일된 프로그램 및 프로시저 저장

   Control Structures


뷰(View): 실제로 존재하지 않고 SQL JOIN/EQUIJOIN 등의 테이블 합성 DML에 의해 만들어진 가상테이블.


CIO(Chief Information Officer): 최고 정보 책임자.


데이터 웨어하우스:데이터의 집합체, 정보 창고


PCTFREE :블록내에 UPDATE시 늘어나느 데이터를 수용하기 위한 공간. DEFAULT는 10%

블록내에 10%는 Free Space로 지정되게 된다.

블록이 100%인 상태에서 데이터가 90%가 찬 상태라면 Insert 할 수 없다.



레벨(Level): 트리의 각층의 번호

높이(Height): 트리의 최대 레벨

차수(Degree): 노트가 가지고 있는 자식 노드의 갯수


B*Tree(Balance):트리의 일종으로 이진트리를 확장해 하나의 노드를 가질 수 있는 자식노드의 숫자가 2보다 큰 트리구조이다. 일반적으로 상향식으로 구성된다.


옵티마이저(Optimizer)

-SQL을 가장 빠르고 효율적으로 수행할 최적(최저비용)의 처리 경로를 생성해주는 DBMS 내부의 핵심엔진

SQL 최적화 과정

-사용자가 던진 쿼리 수행을 위해, 후보군이 될만한 실행계획을 찾는다.

-오브젝트 통계 및 시스템 통꼐정보를 이용해 각 실행 계획의 예상비용을 산정한다.

-각 실행계획을 비교해서 최저비용을 갖는 하나를 선택한다.

옵티마이저 종류

규칙기반 옵티마이저

-미리 정해놓은 규칙에 따라 액세스 경로를 평가하고 실행계획을 선택한다.

규칙?

-엑세스 경로별 우선순위로서 인덱스 구조, 연산자, 조건절 형태가 순위를 결정하는 주요인

비요기반 옵티마이저

-테이블과 인덱스에 대한 여러 통계 정보를 기초로 각 오퍼레이션 단계별 예상비용을 산정하고, 이를 합산한 총 비용이 가장 낮은 실행계획을 선택한다.

비용?

-쿼리를 수행하는데 소요되는 일량 또는 시간


728x90
반응형