데이터베이스(DB)의 종류와 장단점

Sungju Kim·2025년 2월 1일

DB 종류

1. 관계형 데이터베이스 (RDBMS)

구조: 데이터를 테이블(행과 열) 형식으로 저장.
쿼리 언어: SQL (Structured Query Language, 구조화된 쿼리 언어).
예시: MySQL, PostgreSQL, Oracle, Microsoft SQL Server.
사용 사례: 웹 애플리케이션, 금융 시스템, 전자상거래.

2. NoSQL 데이터베이스

유연성과 확장성을 고려하여 설계된 데이터베이스로, 여러 유형으로 나뉜다.

a) 문서 지향 데이터베이스

JSON 또는 BSON 문서 형식으로 데이터를 저장.
예시: MongoDB, CouchDB.
사용 사례: 콘텐츠 관리 시스템, 실시간 빅데이터 애플리케이션.

b) 키-값 저장소

데이터를 키-값 쌍으로 저장.
예시: Redis, DynamoDB.
사용 사례: 캐싱, 실시간 세션 관리.

c) 컬럼 패밀리 데이터베이스

데이터를 행이 아닌 컬럼 기반으로 저장 (대규모 데이터에 최적화).
예시: Apache Cassandra, HBase.
사용 사례: 분산 시스템, 시계열 데이터 분석.

d) 그래프 데이터베이스

데이터를 노드(객체)와 관계(엣지) 형태로 저장.
예시: Neo4j, ArangoDB.
사용 사례: 소셜 네트워크, 추천 시스템.

3. 시계열 데이터베이스 (Time-Series Database)

구조: 타임스탬프(시간 정보)와 함께 데이터를 저장하는 데 최적화.
예시: InfluxDB, TimescaleDB.
사용 사례: 사물인터넷(IoT), 주식 시장 분석.

4. NewSQL 데이터베이스

구조: 관계형 데이터베이스의 SQL 기능과 NoSQL의 확장성을 결합.
예시: Google Spanner, CockroachDB.
사용 사례: 대규모 분산 애플리케이션.

5. 객체 지향 데이터베이스 (Object-Oriented Database)

구조: 객체 지향 프로그래밍(OOP) 개념을 활용하여 데이터를 객체로 저장.
예시: ObjectDB, db4o.
사용 사례: AI 애플리케이션, CAD 시스템.

6. 인메모리 데이터베이스 (In-Memory Database)

구조: 데이터를 RAM에 저장하여 빠른 속도로 처리.
예시: Redis, Memcached.
사용 사례: 실시간 분석, 고속 데이터 처리 애플리케이션.

7. 분산 데이터베이스 (Distributed Database)

구조: 데이터를 여러 서버에 분산 저장하여 확장성과 가용성을 높임.
예시: Google Bigtable, Apache Ignite.
사용 사례: 클라우드 컴퓨팅, 대규모 웹 애플리케이션.

위치 기반 정보 저장에는 어떤 데이터베이스가 적합할까?

위치 기반 정보를 저장할 경우, 지리공간 데이터 (GIS, Geographic Information System) 지원이 중요한 요소이다.

👉 결론: PostgreSQL + PostGIS가 가장 적합.

  • PostGIS는 거리 계산, 좌표 변환, 다각형 검색, KNN 검색(가장 가까운 위치 찾기) 등 강력한 기능 제공.
  • 오픈 소스이므로 비용이 들지 않으며, 확장성과 성능도 뛰어남.
  • 전 세계적으로 위치 기반 서비스(LBS), GIS 분석, 내비게이션 시스템에서 많이 사용됨.

🚀 추천 시나리오

  • 프로젝트에서 위치 기반 검색, 거리 계산, 지역 필터링이 필요하다 → PostgreSQL + PostGIS
  • 단순한 좌표 저장 및 기본 검색이면 → MySQL도 가능하지만 제한적
  • 엔터프라이즈급 규모이고 비용 문제가 없다면 → Oracle Spatial 고려 가능
profile
Fully ✨committed✨ developer, always eager to learn!

0개의 댓글