본문 바로가기
목차훔치기/면접을 위한 CS 전공지식 노트

데이터베이스의 종류(면접을 위한 CS 전공지식 노트)

by 해삼2 2023. 10. 8.
728x90
반응형
데이터베이스의 종류

데이터베이스의 종류

데이터베이스(Database)는 데이터를 저장, 관리, 검색 및 조작하기 위한 

체계화된 방법을 제공하는 시스템입니다. 

 

데이터베이스의 유형

관계형 데이터베이스(Relational Database):
가장 일반적으로 사용되는 데이터베이스 유형 중 하나입니다.
데이터를 테이블 형태로 저장하며, 이러한 테이블은 관계(Relationship)을 통해 서로 연결됩니다.
대표적인 관계형 데이터베이스 관리 시스템(RDBMS)으로는

Oracle, MySQL, PostgreSQL, Microsoft SQL Server 등이 있습니다.


NoSQL 데이터베이스(Not Only SQL):
관계형 데이터베이스와는 다른 데이터 모델을 사용하는 데이터베이스 유형입니다.
NoSQL 데이터베이스는 스키마가 유연하며, 대량의 비구조적 데이터를 처리하기에 적합합니다.
예시로 MongoDB(문서 기반 NoSQL), Cassandra(열 기반 NoSQL), Redis(키-값 저장소) 등이 있습니다.


그래프 데이터베이스(Graph Database):
데이터 요소 간의 관계를 그래프 형태로 저장하고 쿼리하는 데 사용됩니다.
노드(Node)와 엣지(Edge)로 이루어진 그래프 모델을 사용하며, 

소셜 네트워크 분석 및 추천 시스템에 적합합니다.
대표적인 그래프 데이터베이스로는 Neo4j가 있습니다.


열 지향 데이터베이스(Columnar Database):
데이터를 열 기반으로 저장하는 데이터베이스로, 대용량 데이터 분석에 유용합니다.
각 열은 독립적으로 압축되고 인덱싱되어 성능을 향상시킵니다.
Apache Cassandra와 Apache HBase가 열 지향 데이터베이스의 예시입니다.


키-값 저장소(Key-Value Store):
간단한 키와 해당 키에 연결된 값을 저장하는 데이터베이스 유형입니다.
분산 데이터베이스 및 캐싱에 많이 사용되며, 빠른 읽기 및 쓰기 작업을 지원합니다.
Redis와 Amazon DynamoDB가 키-값 저장소의 대표적인 예입니다.


메모리 데이터베이스(In-Memory Database):
모든 데이터를 메모리에 저장하므로 빠른 데이터 액세스 속도를 제공합니다.
주로 실시간 데이터 처리 및 분석에 사용되며, 데이터의 지속성은 디스크에 저장될 수도 있습니다.
Redis와 Apache Ignite가 메모리 데이터베이스의 예시입니다.


시계열 데이터베이스(Time-Series Database):
시간에 따라 변화하는 데이터를 저장 및 분석하기 위한 데이터베이스입니다.
센서 데이터, 로그 데이터 등 시계열 데이터를 효율적으로 다룰 수 있습니다.
InfluxDB와 Grafana가 시계열 데이터베이스 및 시각화의 예시입니다.


분산 데이터베이스(Distributed Database):
여러 노드에 데이터를 분산하여 저장하고 처리하는 데이터베이스 시스템입니다.
고가용성, 확장성 및 장애 내성을 제공합니다.
Apache Cassandra, Amazon DynamoDB, Google Spanner 등이 분산 데이터베이스입니다.


이외에도 다양한 데이터베이스 유형과 그 종류가 있으며, 

선택할 때 프로젝트의 요구 사항과 목적에 따라 가장 적합한 데이터베이스 유형을 고려해야 합니다.

 

데이터베이스 종류 자세히 알기!!

관계형 데이터베이스(Relational Database):
예시: MySQL
사용 사례:
온라인 거래 시스템의 주문 및 재고 관리.
기업 내부 데이터베이스에서 고객 정보와 주문 기록의 관리.
데이터 분석 및 보고서 작성을 위한 데이터 저장.


NoSQL 데이터베이스(Not Only SQL):
예시: MongoDB
사용 사례:
대량의 비정형 또는 반정형 데이터(예: 로그 데이터, 센서 데이터) 저장 및 분석.
소셜 미디어 애플리케이션에서 사용자 프로필 및 게시물 관리.
실시간 분산 시스템의 데이터 저장.


그래프 데이터베이스(Graph Database):
예시: Neo4j
사용 사례:
소셜 네트워크에서 친구 관계 및 연결 분석.
지식 그래프에서 특정 주제의 관련 정보 검색.
로그 및 이벤트 데이터의 상관 관계 분석.


열 지향 데이터베이스(Columnar Database):
예시: Apache Cassandra
사용 사례:
대량의 분산 데이터(예: 센서 데이터) 저장 및 실시간 분석.
읽기 중심 작업에 최적화된 데이터 웨어하우스 시스템.


키-값 저장소(Key-Value Store):
예시: Redis
사용 사례:
캐싱 시스템으로서 데이터베이스 액세스 속도 향상.
실시간 리더보드 및 카운팅 애플리케이션.


메모리 데이터베이스(In-Memory Database):
예시: Apache Ignite
사용 사례:
실시간 분석 및 대규모 트랜잭션 처리.
높은 처리량과 낮은 응답 시간이 필요한 애플리케이션.


시계열 데이터베이스(Time-Series Database):
예시: InfluxDB
사용 사례:
센서 데이터, 서버 로그 및 성능 모니터링을 위한 데이터 저장 및 쿼리.
IoT 기기 및 스마트 시티 애플리케이션.


분산 데이터베이스(Distributed Database):
예시: Amazon DynamoDB
사용 사례:
글로벌 규모의 애플리케이션에서 데이터의 고가용성과 확장성 보장.
대용량 웹 애플리케이션 및 모바일 앱 데이터 저장.


이러한 예시는 각 데이터베이스 유형의 주요 사용 사례를 보여주며,

프로젝트의 요구 사항과 데이터 형태에 따라 적절한 데이터베이스를 선택할 수 있습니다.

 

728x90
반응형