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, 실시간 서비스
|