Database

[SQLD 이론 기초] 1. 데이터베이스

noahkim_ 2021. 7. 28. 11:56

해당 포스팅은 패스트캠퍼스 '데이터베이스와 SQLD 합격패스 Online' 강의를 듣고 공부한 내용을 정리한 것입니다.

 

1. 데이터베이스

  • 다양한 정보를 체계적이고 효율적으로 관리하기 위해 컴퓨터 시스템에 저장된 데이터의 집합
  • ✅ 데이터베이스를 전에는 텍스트 파일형태'로 저장하고 관리하였음
  • ⚠️ 데이터 중복
  • ⚠️ 수정 시 관련 데이터 모두 수정해야 함
  • ⚠️ 동시에 여러명이 열면 충돌 발생
  • ⚠️ 파일 깨지면 복구 어려움 
  • ➡️ 구조화/조직화된 데이터 저장 공간

 

2. DBMS (데이터베이스 관리 시스템)

  • 데이터베이스에 저장된 데이터를 효율적으로 관리하고, 사용자의 요구사항에 따라 적절하게 처리하고 응답해주는 시스템
  •  실시간 접근성: 사용자의 요구에 따라 실시간으로 데이터베이스 내 정보에 접근이 가능함
  • ✅ 변화 반영: 데이터 갑은 시간에 따라 계속 변화하며 DBMS는 이를 실시간으로 반영함
  • ✅ 동시 접근: 여러 사용자가 충돌 없이 동시에 접근할 수 있음
  • ✅ 내용 기반 참조: 데이터베이스에 저장된 데이터는 물리적인 위치가 아니라 데이터 내용을 기준으로 접근할 수 있음

 

기능

구분 세부 기능 설명 핵심 키워드
동시성 제어 트랜잭션 관리 여러 사용자가 동시에 접근해도 데이터 일관성 유지 Transaction
  충돌 방지 Lock, MVCC 등을 통해 충돌 제어 Lock, Isolation
  순서 보장 트랜잭션 실행 순서 제어 Serializability
장애 대응 기능 데이터 복원 장애 발생 시 이전 상태로 복구 Recovery
  로그 기록 변경 이력을 기록하여 복구 가능
WAL, Redo/Undo
  장애 방지 백업, 복제, 이중화 등으로 손실 예방
Backup, Replication
보안 기능 선택적 접근 사용자 권한에 따라 접근 제어 Authorization
  인증 기능 사용자 신원 확인 Authentication
  서버 내부 보안 중요 데이터 암호화 및 보호 Encryption
  투명성 내부 구조를 숨기고 논리적 접근 제공
Data Abstraction

 

종류

구분 계층형 데이터베이스 관계형 데이터베이스
NoSQL 데이터베이스
구조 트리 구조 테이블 구조
Key-Value, Document, Column, Graph 등
관계 표현 부모-자식 관계 중심 Join을 통한 관계 표현
❌ (데이터 자체 중심)
스키마 고정 구조 엄격한 스키마
유연한 스키마
장점 구조 단순, 특정 구조에 빠름 데이터 무결성 보장
확장성 뛰어남, 대용량 분산 처리에 적합
단점 구조 변경 어려움 수평 확장 어려움 무결성 제약 약함
대표 예시 IMS (IBM) MySQL, Oracle, PostgreSQL
MongoDB, Redis, Cassandra
적합한 환경 조직도, 파일 시스템 금융, ERP, 정형 데이터
빅데이터, 로그, SNS, 실시간 서비스