데이터베이스 용어

  • 튜닝(Tuning) : 데이터 베이스의 성능 향상과 최적화 요구에 따라 데이터베이스 시스템을 재조정(조율)하는 것을 말한다. 트랜잭션의 무결성을 유지하면서 정보 공유를 위해 적정한 수준의 Locking 기법을 사용한다.
  • CRUD 매트릭스 : 2차원 구조의 행렬 구조를 사용하여 업무와 개체 간의 상관관계를 분석한 응용 시스템과 데이터베이스 간의 업무 상관 분석표.
  • 트리거 : 참조 관계에 있는 두 테이블에서 하나의 테이블의 내용이 바뀌었을 때 테이터의 일관성과 무결성 유지를 위해 이와 연관된 테이블도 연쇄적으로 변경이 이루어 질 수 있도록 하는 것.
  • 데이터 웨어하우스(Data Warehouse) : 한 조직이나 사용자의 의사 결정에 도움을 주기위하여 데이터를 공통된 형식으로 변환하여 관리하는 데이터베이스. 정보 관리 시스템.
  • 데이터 마트(Data Mart) : 데이터 웨어하우스의 축소판.
  • 데이터 마이닝(Data mining) : 대량의 데이터에서 정보를 얻어내기 위하여 데이터의 상관관계를 분석하여 규칙이나 패턴을 찾아내는 것.
  • OLAP(Online Analytical Processing) : 사용자가 직접 데이터 검색과 분석을 통해 문제점이나 해결책을 찾도록 해주는 분석형 애플리케이션. 온라인 검색을 지원하는 웨어하우스 지원도구.
종류 특징

MOLAP
(MultidimensionalOLAP)

 결과값을 다원 배열로 저장하여 다차원의 데이터베이스를 큐브형태의 데이터 뷰로 구성하하여 다양한 분석을 할 수 있도록 지원.

ROLAP
(RelationalOLAP)

 관계형 데이터베이스를 기초로 질의 처리에 드는 시간을 줄이기 위하여 집계 테이블을 생성, 저장하여 두는 방식의 시스템. 대량의 데이터 처리와 빠른 로딩.

HOLAP
(HybridOLAP)

다차원 데이터베이스와 관계형 데이터 베이스가 함께 사용될 수 있도록 기술.
  • OLTP(On-line Transaction Processing) : 중앙 컴퓨터와 통신 회선으로 접속되어 있는 다수의 사용자 단말기에서 요청한 트랜잭션의 처리를 중앙 컴퓨터에서 처리하여 그 결과를 즉시 사용자 단말 측으로 되돌려 보내 주는 처리 형태.

데이터베이스 실무 응용

트랜잭션(Transaction)

데이터베이스 내에서 한번에 수행되어야 하는 연산들의 집합. 하나의 작업처리를 위한 논리적 작업 단위. 모두 완료하거나 또는 모두 취소되어야 한다.

  • 원자성(Atomicity) : 기본특성. 트랜잭션 내의 연산은 모두 수행되거나 모두 수행되지 않아야 한다.
  • 일관성(Consistency) : 트랜잭션이 정상적으로 완료된 후 언제나 일관성 있는 데이터베이스 상태가 되어야 한다.
  • 격리성(Isolation) : 독립성. 하나의 트랜잭션이 수행 중일 때는 다른 트랜잭션이 접근할 수 없다.
  • 영속성(Durability) : 지속성. 트랜잭션이 성공적으로 완료되면 결과는 지속적으로 유지되어야 한다.

회복

여러가지 요인으로 손상된 데이터베이스를 이전의 정상적인 상태로 복구시키는 작업.

  • 즉시 갱신 기법 : 변경되는 내용을 바로 데이터베이스에 적용하는 기법. 변경되는 모든 내용은 로그에 기록하여 장애 발생시 로그 내용을 토대로 회복.
  • 지연 갱신 기법 : 트랜잭션이 부분완료 될 때까지 데이터베이스에 적용하지 않고 지연시킨 후 부분완료가 되면 로그를 토대로 데이터베이스에 적용.
  • 검사 시점 기법 : 트랜잭션 실행 중간에 검사 시점(Check Point)을 지정하여 검사 시점까지 완료된 내용을 데이터베이스에 적용하는 기법.
  • 그림자 페이징(Shadow Paging) 기법 : 로그를 사용하지 않고 데이터베이스를 동일한 페이지로 나누어 페이지마다 복사하여 그림자 페이지를 보관.

병행 제어

동시에 여러개의 트랜잭션이 실행되는 경우 트랜잭션 간의 격리성을 유지하여 수행에 문제가 없도록 제어하는 것.

  • 로킹(Locking) : 주요 데이터의 액세스를 상호 배타적으로 하는 것. DB동시성으로 데이터를 잃거나 부정정 효과를 방지하기 위함.
  • 교착상태(Deadlock) : 한 트랜잭션에서 수행시간이 너무 길어 오랫동안 데이터가 LOCK된 상태가 오랫동안 지속되는 것. 공유락(읽기 허용, 쓰기 금지)과 배타락(읽기 쓰기 모두 금지)을 이용하거나, 2단계 로킹 기법, 타임 스탬프 등을 이용하여 해결할 수 있다.

보안(Security)

  • 기밀성(Confidentiality) : 허락되지 않은 사용자가 정보의 내용을 알 수 없도록 하는 것.
  • 무결성(Integrity) : 허락되지 않은 사용자나 대상이 정보를 함부로 수정, 삭제 등 변경할 수 업사도록 하는 것.
  • 가용성(Availability) : 하락된 사용자나 대상이 정보에 접근하고자 할 때 방해받지 않도록 하는 것.

암호화(Encryption) 기법을 이용한 보안

  • 대칭키 시스템 : 암호화-복호화 키가 동일한 암호 시스템. 속도가 빠르고 간단하나 키관리가 번답함. 예) DES.
  • 비대칭키 시스템 : 공개키 시스템. 암호화키(공개키)와 공개되지 않는 복호화키(비밀키)가 다름. 보안성이 좋으나 알고리즘이 복잡함. 예) RSA.