CS
[CS / 데이터베이스] 4.4 데이터베이스의 종류
개발하는 감자입니다
2024. 6. 1. 16:05
728x90
안녕하세요! 개발감자입니다.
오늘은 CS의 운영체제 중에서도 4.4 데이터베이스의 종류 에 대해서 정리해보았습니다.
4.4 데이터베이스의 종류
4.4.1 관계형 데이터베이스
관계형 데이터베이스 (RDBMS)
- 구조: 행과 열을 가지는 표 형식 데이터를 저장하는 형태의 데이터베이스입니다.
- 조작: SQL을 사용하여 데이터를 조작합니다.
- 대표적 제품: MySQL, PostgreSQL, 오라클, SQL Server, MSSQL 등 다양한 제품이 있으며, 각 제품은 특화된 SQL을 사용합니다.
MySQL
- 호환성: 대부분의 운영체제와 호환 가능합니다.
- 인기: 현재 가장 많이 사용되는 데이터베이스입니다. 2021년 스택오버플로우 조사 결과, 가장 많이 사용되는 데이터베이스로 나타났습니다.
- 사용 사례: 메타, 트위터 등 많은 기업에서 사용합니다.
- 기술적 특징:
- 스레드 기반의 메모리 할당 시스템을 갖추고 있으며, 최대 64개의 인덱스를 제공합니다.
- 트랜잭션 지원: 롤백, 커밋 기능을 제공하여 데이터 무결성을 보장합니다.
- 보안 기능: 이중 암호화, 사용자 권한 관리 등의 다양한 보안 기능을 제공합니다.
PostgreSQL
- 선호도: MySQL 다음으로 개발자들이 선호하는 데이터베이스 기술입니다.
- 확장성: SQL뿐만 아니라 JSON을 이용해 데이터에 접근할 수 있습니다.
- 기술적 특징:
- 지정된 시간에 복구, 로깅, 접근 제어, 중첩된 트랜잭션, 백업 등의 기능을 제공합니다.
- ACID 특성 준수: 트랜잭션의 원자성, 일관성, 고립성, 지속성을 보장합니다.
- 확장 가능한 데이터 타입: 사용자 정의 타입, 배열, 하이브리드 데이터 타입 등을 지원합니다.
4.4.2 NoSQL 데이터베이스
NoSQL (Not only SQL)
- 구조: SQL을 사용하지 않는 데이터베이스입니다.
- 유형: 키-값 저장소, 도큐먼트 저장소, 컬럼 지향 저장소, 그래프 데이터베이스 등 다양한 유형이 있습니다.
- 대표적 제품: MongoDB, Redis 등이 있습니다.
MongoDB
- 데이터 접근: JSON을 통해 데이터에 접근할 수 있습니다.
- 저장 형식: BSON 형식으로 데이터를 저장합니다.
- 기술적 특징:
- 와이어드타이거 엔진을 기본 스토리지 엔진으로 사용하는 도큐먼트 기반의 데이터베이스입니다.
- 확장성: 샤딩을 통해 데이터를 여러 서버에 분산 저장할 수 있습니다.
- 성능: 빅데이터를 저장할 때 뛰어난 성능을 보입니다.
- 고가용성: 레플리카셋을 지원하여 데이터의 가용성을 높입니다.
- 스키마리스: 스키마를 미리 정하지 않고 데이터를 삽입할 수 있어, 다양한 도메인의 데이터를 유연하게 처리할 수 있습니다.
- ObjectID: 도큐먼트를 생성할 때마다 유닉스 시간 기반의 타임스탬프, 랜덤값, 카운터로 이루어진 고유 ID가 생성됩니다.
Redis
- 구조: 인메모리 데이터베이스로, 키-값 데이터 모델 기반의 데이터베이스입니다.
- 기본 데이터 타입: 문자열을 기본으로 하며, 이외에도 셋, 해시, 리스트, 정렬된 셋 등을 지원합니다.
- 사용 사례:
- 실시간 애플리케이션: 실시간 순위표 서비스, 채팅 시스템, 캐싱 계층, 세션 정보 관리 등에 이용됩니다.
- pub/sub 기능: 채팅 시스템 등 실시간 통신을 요구하는 애플리케이션에 유용합니다.
- 기술적 특징:
- 고속 데이터 처리: 모든 데이터를 메모리에 저장하여 매우 빠른 읽기 및 쓰기 성능을 제공합니다.
- 영속성: 데이터를 디스크에 저장하여 시스템 재시작 후에도 데이터를 유지할 수 있습니다.
- 고급 데이터 구조: 리스트, 해시, 셋, 정렬된 셋 등의 다양한 자료 구조를 지원하여 복잡한 데이터 처리에 유용합니다.
면접을 위한 CS 전공지식 노트 | 주홍철 - 교보문고
면접을 위한 CS 전공지식 노트 | 디자인 패턴, 네트워크, 운영체제, 데이터베이스, 자료 구조, 개발자 면접과 포트폴리오까지! CS 전공지식 습득과 면접 대비, 이 책 한 권이면 충분하다! 개발자 면
product.kyobobook.co.kr
이 포스팅은 면접을 위한 CS 전공지식 노트를 기반으로 작성되었습니다.
728x90
반응형