아래 글은 데이터베이스 관련 개념 정리 및 작성자 공부를 위해 작성되었습니다.

 

 

📃 참고자료

  • 책[SQL Server 디비로 누리는 특별한 세상] (59 ~ 63페이지)

 

 

 

# 데이터베이스란?

 

데이터베이스는 데이터를 중앙에 저장하고 관리하여 여러 사용자가 공유할 수 있게 하려고 사용하는 '데이터 저장소'다.

공유가 필요하지 않다면 데이터를 워드나 엑셀과 같은 개별 파일로 관리해도 된다.

하지만 그 데이터에 대한 수정 사항이 생긴다면 각각 개별 파일을 따로따로 수정해줘야 한다.

 

 

 

 

# 데이터베이스를 사용하는 2가지 분야

 

OLTP(Online Transaction Processing) 데이터베이스

주로 트랜잭션 처리(우선 데이터 변경 처리로 이해하자)를 위한 용도로 사용하는 데이터베이스이다.

 

  • 데이터베이스의 테이블은 되도록 중복된 데이터를 제거하고, 빠르게 데이터를 변경할 수 있는 구조로 디자인
  • 이를 위해 SQL Server는 다수의 사용자가 데이터를 동시에 수정할 수 있도록 데이터베이스를 관리한다.
  • 우리가 일반적으로 데이터베이스라고 부르는 것은 대부분 OLTP 데이터베이스다.

 

 

OLAP(Online Analytical Processing) 데이터베이스

대량의 데이터를 체계화하고 요약하여, 데이터에 대한 빠른 평가와 분석을 목적으로 사용하는 데이터베이스

 

  • 이를 위해 SQL Server는 Analysis Services를 사용하여 빠른 의사 결정을 위한 데이터 분석을 가능하게 한다.
  • Reporting Services를 사용하여 손쉽게 보고서를 작성하고 조회할 수 있게 해준다.

 

 

 

 

 

 

# 시스템 데이터베이스

 

SQL Server를 설치하는 과정에서 SQL Server가 자체적으로 사용할 목적으로 자동으로 만드는 몇몇 테이터베이스를 '시스템 데이터베이스'라 한다.

 

 

 

master 데이터베이스

SQL Server가 수 많은 데이터베이스를 관리하기 위해서는 이들 데이터베이스에 대한 정보를 저장할 특변한 데이터베이스가 필요하다. 즉, 데이터베이스의 이름은 무엇이며, 데이터베이스와 관련된 데이터 파일과 로그 파일은 어느 폴더에 있으며, 데이터베이스에 접근하기 위해 서버에 로그인할 수 있는 계정은 무엇인지 등의 정보를 어딘가에 저장해야 한다.

이때 사용하는 데이터베이스가 'master' 데이터베이스다.

 

 

 

model 데이터베이스

'model' 이라는 단어에서 그 역할을 추측할 수 있듯이, 새로 만들어지는 데이터베이스의 원형으로 사용된다.

즉, model 데이터베이스를 복사해서 새로운 데이터베이스를 만든다.

 

  • model 데이터베이스 설정을 변경하면 이후에 만들어지는 새로운 데이터베이스에 그대로 반영된다.
  • CREATE DATABASE 문을 실행하면 model 데이터베이스의 내용을 복사하여 데이터베이스의 첫 번째 부분이 생성

 

 

tempdb 데이터베이스

SQL Server가 운영될 때 자동으로, 또는 사용자에 의해 만들어지는 임시 테이블들이 저장되는 곳이다.

물론 임시 테이블을 저장하는 것 외에도 여러 가지 역할을 담당한다.

 

tempdb 데이터베이스는 그 이름에 '임시' 의 뜻이 있어 중요한 것 같지 않지만,

절대 무실할 수 없는 중요한 시스템 데이터베이스다.

 

SQL Server 인스턴스에 연결된 모든 사용자가 사용할 수 있는 전역 리소스 이고, 

사용자 개체, 내부 개체, 버전 저장소를 저장하는 데 사용한다.

 

 

 

tempdb 데이터베이스

주로 자동화와 관련된 정보를 저장할 때 msdb 데이터베이스를 사용한다.

SQL Server 에이전트 서비스가 제공하는 '작업(Jobs)', '경고(Alert)', '운영자(Operators)' 기능으로 유지관리 업무를 자동화 할 수 있는데, 이들과 관련된 정보를 msdb 데이터베이스에 저장한다.

 

이런 이유로 msdb 데이터베이스를 'SQL Server 에이전트 서비스가 사용하는 데이터베이스'라고 말하기도 한다.

 

 

 

resource 데이터베이스

SQL Server 운영과 관련된 시스템 개체를 모두 포함하고 있는 resource 데이터베이스가 있다.

하지만 읽기 전용의 숨겨진 데이터베이스여서 개체 탐색기에서는 보이지 않는다.

 

 

 

 

# 예제 데이터베이스

예제 데이터베이스는 SQL Server 기능을 익힐 때 사용하도록 제공되는 학습용 데이터베이스다.

학습 목적 외에는 SQL Server 운영과는 전혀 상관이 없다.

 

  • AdventureWorks 데이터베이스
    - OLTP용 애제 데이터베이스다.
    - AdventureWorksDW는 OLAP용 예제 데이터베이스다.
  • WideWorldImpoters 데이터베이스
    - SQL Server 2016버전부터 사용 가능한 새로운 예제 데이터베이스다.

 

 

# 사용자 데이터베이스

사용자가 데이터를 저장하기 위해 만든 데이터베이스가 사용자 데이터베이스다.

어떻게 보면 업무적으로 가장 중요한 데이터베이스라 할 수 있다.

반응형

+ Recent posts