Search

데이터베이스 종류

날짜
2025/03/03
태그
공부
스터디
프로젝트
SSAFY
공개여부

1. Key-Value Database

가장 단순한 형태의 NoSQL 데이터베이스로 각 데이터는 고유한 키와 그에 대응하는 값으로 저장된다.
key
value
이름
홍길동
나이
30
자격증
[1종보통, sqld]
주요 특징:
스키마가 없어 자유로운 데이터 저장이 가능하다.
단순한 구조로 인해 매우 빠른 읽기/쓰기 성능을 제공한다.
사용 사례:
세션 관리, 장바구니, 사용자 프로필 캐싱 등에 사용된다.
실시간 분석, IoT 데이터 처리에 효과적이다.
주요 제품:
Redis: 디스크에 데이터를 저장하지 않고 RAM에 1차로저장하는 방식인 인메모리 방식으로 고성능을 제공한다.
Amazon DynamoDB: 완전 관리형 서비스로 확장성이 뛰어나다.

2. RDB (관계형 데이터베이스)

엑셀처럼 정형화된 테이블 형태로 데이터를 저장하며, SQL을 사용하여 데이터를 조작한다.
주요 특징:
정규화를 통해 데이터 중복을 최소화한다.
복잡한 조인 연산을 통해 다양한 데이터 조회가 가능하다.
스키마가 엄격하여 구조 변경이 어렵다.
데이터 무결성을 보장하는 ACID 트랜잭션을 지원한다.
원자성(Atomicity): 트랜잭션은 모두 실행되거나 전혀 실행되지 않아야 합니다. 중간에 실패하면 모든 변경사항이 취소됩니다.
일관성(Consistency): 트랜잭션이 완료된 후에도 데이터베이스는 일관된 상태를 유지해야 합니다. 모든 제약조건과 규칙이 지켜져야 합니다.
격리성(Isolation): 여러 트랜잭션이 동시에 실행될 때도 각 트랜잭션은 다른 트랜잭션의 영향을 받지 않고 독립적으로 실행되어야 합니다.
지속성(Durability): 트랜잭션이 성공적으로 완료되면 그 결과는 시스템 장애가 발생하더라도 영구적으로 보존되어야 합니다.
사용 사례:
금융 시스템, ERP, CRM과 같은 트랜잭션 처리 시스템에 적합하다.
데이터 정확성이 중요한 업무 시스템에 널리 사용된다.
주요 제품:
MySQL: 오픈소스로 웹 애플리케이션에 많이 사용된다.
PostgreSQL: 확장성과 복잡한 쿼리 처리에 강점이 있다.
Oracle: 기업용 대규모 시스템에 널리 사용된다.

3. Graph Database

노드와 엣지를 사용하여 데이터 간의 관계를 저장하고 처리한다.
주요 특징:
복잡한 관계 쿼리가 빠르고 직관적이다.
데이터와 관계가 동시에 저장되어 관계 탐색이 효율적이다.
관계가 우선시되는 데이터 모델에 적합하다.
실시간 관계 분석에 최적화되어 있다.
사용 사례:
소셜 네트워크 분석, 추천 엔진 구현에 효과적이다.
지식 그래프 구현에 적합하다.
주요 제품:
Neo4j: 가장 널리 사용되는 그래프 데이터베이스로 Cypher 쿼리 언어를 사용한다.

4. Document Database

폴더collection안 파일 document에 JSON같은 형식의 문서로 데이터를 저장한다.
주요 특징:
스키마가 유연하여 다양한 구조의 데이터를 저장할 수 있다.
한 폴더 안에 document의 json구조가 달라도 상관없다.
문서 내부 구조를 이해하고 쿼리할 수 있다.
각 문서가 독립적이어서 분산 처리에 적합하다.
수평적 확장이 용이하다.
분산된 데이터베이스 사용 시 데이터 동기화 문제 발생 가능
사용 사례:
콘텐츠 관리 시스템, 블로그 플랫폼 등에 사용된다.
이벤트 로깅, 실시간 분석에 효과적이다.
주요 제품:
MongoDB: 가장 인기 있는 문서 데이터베이스로 JSON을 2진 형태로 인코딩 된 BSON 형식을 사용한다.

5. Column-family Database

RDB의 유연한 버전으로 행과 열로 구성되지만, 각 행마다 다른 열을 가질 수 있는 유연한 구조이다.
주요 특징:
대용량 데이터 처리에 최적화되어 있다.
높은 쓰기 처리량과 수평적 확장성을 제공한다.
시간 기록을 잘 해줘서 시계열 데이터 관리에 효율적이다.
Column에 column name, value, timestamp 를 저장
열 기반 저장으로 특정 열에 대한 집계 연산이 빠르다.
사용 사례:
대규모 로그 데이터 분석, 시계열 데이터 저장에 적합하다.
IoT 센서 데이터, 사용자 행동 분석 등에 활용된다.
대용량 분산 시스템에서 많이 사용된다.
주요 제품:
Apache Cassandra: 뛰어난 확장성과 고가용성을 제공한다.
Cassandra 데이터 모델 계층
HBase: Hadoop 생태계와 통합되어 대용량 데이터 처리에 적합하다.
google cloud bigtable : 구글 클라우드의 다른 서비스(BigQuery, Dataflow 등) 쉽게 통합된다.

6. Search Engine Database

검색용 인덱스 보관 데이터베이스이다.
주요 특징:
인덱싱 기술을 통해 빠른 검색을 제공한다.
텍스트 분석, 형태소 분석 등 언어 처리 기능을 포함한다.
전문 검색, 퍼지 검색, 지오 검색 등 다양한 검색 기능을 제공한다.
검색 결과의 관련성과 랭킹을 조정할 수 있다.
사용 사례:
기업 내부 검색, 사이트 내 검색 기능 구현에 사용된다.
로그 분석, 이상 탐지 시스템에 활용된다.
추천 시스템의 일부로 사용될 수 있다.
주요 제품:
Elasticsearch: 분산형 검색 및 분석 엔진이다.
google cloud search : 기업 내부 문서와 Google Workspace 통합에 유리하다.