Post

01 DataBase 기본개념

01 DataBase 기본개념

1. 데이터베이스

1. 주요 개념

  • 데이터/정보/지식
구분의미예시
데이터(Data)가공되지 않은 사실 또는 수치“2025-10-14”, “홍길동”, “35세”
정보(Information)데이터를 가공·처리하여 의미를 부여한 것“홍길동의 나이는 35세이다”
지식(Knowledge)여러 정보 간의 관계를 분석해 얻은 통찰“35세 이상의 고객은 재구매율이 높다”
  • 데이터베이스
    • 조직에 필요한 정보를 얻기 위해 논리적으로 연관된 데이터를 모아 구조적으로 통합해놓은 것
    • 데이터의 일관성(Consistency), 무결성(Integrity), 보안(Security), 공유성(Sharing) 등을 보장하는 정보 관리 시스템의 핵심 인프라
  • 스키마
    • 데이터베이스 구조와 제약 조건을 정의한 설계 정보
    • 데이터베이스에 어떤 테이블이 있고, 컬럼은 어떤 것이며, 데이터 타입과 관계는 어떻게 되는지를 정리한 것

2. 데이터베이스의 특징

  • 실시간 접근이 가능하다(real-time accessibility)
  • 계속 변화한다(continuous evolution)
  • 동시 공유가 가능하다(concurrent sharing)
  • 내용으로 참조가 가능하다(content reference)

3. 데이터베이스의 데이터 종류

구분설명
통합 데이터(Integrated Data)여러 부서나 업무에서 사용하는 데이터를 중복 없이 통합 관리한다.
→ 동일 데이터가 여러 파일에 분산되지 않고 한 곳에서 일관성 있게 유지됨.
저장 데이터(Stored Data)컴퓨터 시스템 내 보조 기억장치(디스크 등)에 저장되어 지속적으로 관리된다.
→ 일시적이 아닌 ‘영속적(persistent)’ 데이터 보관이 가능.
운용 데이터(Operational Data)실제 업무나 서비스 운영에 필요한 데이터를 관리한다.
→ 예: 회원 정보, 주문 내역, 결제 이력 등.
공용 데이터(Shared Data)여러 사용자가 동시에 동일한 데이터를 접근·사용할 수 있다.
→ 사용자 간 데이터 충돌 방지를 위해 DBMS가 동시성 제어 수행.

4. 데이터베이스의 유형

구분변경 빈도조회 비중주요 특징주요 예시
운영형 데이터베이스
(Operational DB)
잦음
(상시 갱신)
적음
(거래 단위 중심)
실시간 서비스 운영 및 거래 처리
- 실시간 트랜잭션 중심
- 데이터 일관성, 무결성 중요
- 많은 동시 접속 처리 필요
은행 거래 DB, 온라인 쇼핑몰 주문 DB, 항공 예약 DB
분석형 데이터베이스
(Analytical DB)
없음
(주기적 적재)
많음
(분석 쿼리 중심)
대량의 데이터 분석 및 통계 처리
- 데이터 변경 거의 없음
- 대용량 조회/집계에 최적화
- 정규화보다는 분석용 구조(비정규화)
데이터 웨어하우스(DW), BI 시스템, 로그 분석 DB
혼합형 데이터베이스
(Hybrid / HTAP)
중간중간운영 + 분석 병행
- 트랜잭션과 분석을 동시에 지원
- 최신 데이터 기반 실시간 분석 가능
SAP HANA, Oracle Exadata, PostgreSQL + Timescale 등

4. 데이터베이스의 개념적 구조

1. 개념

수준역할설명
외부 수준(External Level / View Level)사용자 관점사용자가 접근하는 데이터의 일부를 정의. 각 사용자나 응용 프로그램별로 다른 뷰(View) 제공
개념 수준(Conceptual Level / Logical Level)DB 전체 논리 구조DB 전체 구조를 정의. 테이블, 컬럼, 관계, 제약조건 등 논리적 설계 중심. 외부 수준과 내부 수준 사이의 중재자 역할
내부 수준(Internal Level / Physical Level)저장 관점데이터가 실제로 저장되는 방식 정의. 저장 구조, 접근 경로, 인덱스, 파일 구조 등 물리적 설계 중심

2. 정리

항목설명
외부 수준(View)DB 개념 수준에서 정의된 전체 데이터를 기반으로 사용자 맞춤형으로 보여주는 데이터 부분
웹 시스템에서의 구현개발자가 HTML, CSS, JS, API, 화면 구성 등을 통해 사용자에게 필요한 정보(외부수준)만 보여주는 인터페이스를 만드는 것
예시- 학생 관리자: 학생 정보 목록, 성적 입력 화면
- 교사 관리자: 담당 수업 정보, 출결 관리 화면
- 학생: 본인 성적/출결 조회 화면
DBMS 역할개발자가 만든 화면 요청에 맞춰 DB에서 필요한 데이터를 조회하고, 권한·보안·동시성 제어를 수행

2. 파일시스템 / DBMS

1. DBMS

  • 데이터베이스(Database)를 생성, 관리, 제어, 보호, 활용할 수 있도록 해주는 프로그램
  • 역할
구분핵심 역할주요 기능
데이터 정의 (Data Definition)데이터 구조를 정의하고 스키마를 관리테이블, 컬럼, 제약조건 생성 및 변경
데이터 조작 (Data Manipulation)데이터의 조회, 삽입, 수정, 삭제 수행CRUD(Create, Read, Update, Delete)
데이터 제어 (Data Control)사용자 권한 및 보안 관리접근 제어, 권한 부여·회수
트랜잭션 관리 (Transaction Control)작업 단위를 묶어 일관성 있게 처리Commit, Rollback, Savepoint 관리
무결성 관리 (Integrity Control)데이터의 정확성과 일관성 보장제약조건 검사 (PK, FK, UNIQUE, CHECK 등)
동시성 제어 (Concurrency Control)다중 사용자 접근 시 데이터 충돌 방지Lock, Isolation Level, Deadlock 처리
복구 관리 (Recovery Control)장애 발생 시 데이터 복원로그 기록, 자동 백업, Rollforward/Rollback
보안 관리 (Security Management)사용자 인증 및 접근 통제사용자별 권한 설정, 암호화

2. 파일시스템과 DBMS

구분파일 시스템데이터베이스(DBMS)
데이터 구조개별 파일 단위 저장 (비구조적)테이블 기반 구조적 저장
데이터 중복동일 데이터 중복 발생중복 최소화 (정규화)
데이터 일관성개별 파일마다 다름중앙 집중 관리로 일관성 보장
보안 관리OS 수준 권한만 존재사용자 단위 접근 제어 가능
동시성 처리다중 사용자 접근 어려움트랜잭션 기반 동시성 제어
검색 성능파일 단위 순차 탐색인덱스, 쿼리 최적화로 빠름
복구 기능직접 백업 필요자동 백업 및 로그 복구 기능 제공

3. 데이터모델

1. 데이터모델

  • 데이터베이스에서 데이터 구조, 데이터 간 관계, 제약조건, 연산 규칙을 정하는 개념적 설계
  • DBMS가 실제 데이터를 저장하고 관리할 때 따라야 할 설계 규칙

2. 역할

  • DB 설계 시 데이터 구조와 관계를 논리적으로 명확하게 표현
  • 데이터 무결성과 일관성을 보장하기 위한 제약 조건 정의
  • DBMS에서 데이터를 구현할 때 구조와 제약 조건을 따라야 함

3. 데이터 모델의 종류

종류특징
관계형 모델(Relational Model)데이터를 테이블(행·열)로 저장, 키를 통해 관계 정의, SQL 기반
계층형 모델(Hierarchical Model)트리 구조로 부모-자식 관계를 통해 데이터 연결
네트워크 모델(Network Model)그래프 구조로 복잡한 다대다 관계 표현 가능
객체지향 모델(Object-Oriented Model)데이터와 관련 연산을 객체 단위로 묶어 표현

4. DBMS/데이터모델

1. 관계형 DBMS(RDBMS) – 테이블 기반

DBMS유형특징사용 사례
Oracle상용안정적, 강력한 트랜잭션 관리, 대규모 기업용금융권, 공공기관, ERP 시스템
MySQL오픈소스경량, 빠른 성능, 커뮤니티 활발웹 서비스, 쇼핑몰, 블로그
PostgreSQL오픈소스표준 SQL 준수, 고급 기능 지원, 확장성 우수GIS, 분석 시스템, 대규모 웹 서비스
Microsoft SQL Server상용Windows 환경 최적화, BI·보고서 기능 지원기업 내 ERP, 데이터 웨어하우스
IBM DB2상용대규모 트랜잭션 처리, 안정성 높음은행, 금융권, 대형 기업 시스템

2. 비관계형 DBMS(NoSQL) – 비정형 데이터 처리

DBMS유형특징사용 사례
MongoDB문서(Document)JSON 형태로 데이터 저장, 유연한 스키마로그, SNS, IoT 데이터
Redis키-값(Key-Value)메모리 기반, 빠른 읽기/쓰기캐시, 세션 관리, 실시간 데이터 처리
Cassandra컬럼(Column)분산형, 대규모 데이터 처리에 강점IoT, 빅데이터, 추천 시스템
Neo4j그래프(Graph)노드·관계 기반, 복잡한 관계 처리소셜 네트워크, 추천 엔진, 지식 그래프
This post is licensed under CC BY 4.0 by the author.