데이터베이스와 스토리지

데이터 저장소

파이프라인 아키텍처 설계 프로젝트를 하면서 데이터를 저장하는 저장소에 대한 선정을 어떻게 하는가에 대한 질문을 항상 해왔다. 포스팅을 통해서 두 기술의 차이와 특징에 대해서 정리해 보도록 한다.

저장소의 종류와 특징 : 클라우드 기반

스토리지 종류 특징 예시
파일 스토리지 파일시스템 기반, 각 파일은 디렉토리 구조로 저장. nas등에서 사용 google cloud filesystem , azure files , amazon EFS
블록 스토리지 데이터를 고정된 크기의 블록으로 나누어 저장. 빠른 접근, 고성능 제공 amazon EBS, google persistent disks
객체 스토리지 비정형 데이터등을 저장. 데이터를 객체로 관리, 파일시스템보다 유연하고 확장성 있음 google cloud storage, amazon S3
데이터베이스 스토리지 rdbms, nosql 등 구조화된 데이터 저장. 트랜잭션 처리 및 빠른 데이터 쿼리 성능 제공 amazon RDS, google cloud SQL
분산 스토리지 여러 노드에 데이터를 분산 저장해 확장성과 내구성을 보장 hadoop HDFS
클라우드 데이터 웨어하우스 대규모의 구조화된 데이터를 저장하고 분석 amazon redshift, google bigquery
백업, 아카이빙 스토리지 장기적으로 데이터를 저장, 자주 액세스 하지 않는 경우 amazon glacier

저장소의 종류와 특징 : 온프레미스 기반

스토리지 종류 특징 예시
NAS 네트워크를 통해 여러 클라이언트가 파일을 저장하고 접근할 수 있도록 하는 파일시스템 synology NAS
SAN 블록기반 스토리지 시스템. 서버와 스토리지를 고속 네트워크로 연결해서 저장, 액세스 dell EMC PowerStore
DAS 스토리지가 서버에 직접 연결되어 네트워크를 통해 공유하지 않는다. 고속 액세스가 필요한 애플리케이션이나 특정 서버에만 데이터를 저장하는 경우 사용 dell PowerVault
오브젝트 스토리지 비정형 데이터를 저장하기 위해 객체 단위로 관리. minIO

데이터베이스와 스토리지의 차이?

rdb로 저장할 것인가, 스토리지로 저장할 것인가? 항상 고민의 주축이 되었던 스토리지간의 특징과 차이점을 비교해본다.

1. 데이터베이스(DB)

  • 목적 및 구조:
    • 구조화된 데이터 저장
    • 효율적 조회, 수정, 삭제
    • 테이블, 열, 행 등의 구조를 통해 관계형 또는 비관계형 방식으로 관리됨
  • 주요 기능:
    • 데이터 조회: SQL 같은 쿼리 언어를 통해 복잡한 데이터 조회 가능.
    • 트랜잭션 처리: 여러 작업을 하나의 트랜잭션으로 묶어 일관성 있게 처리.
    • 인덱스: 인덱스를 통해 데이터를 빠르게 검색.
    • 관계: 테이블 간 관계를 정의하고, 이를 기반으로 데이터 무결성을 보장.
    • 백업 및 복구: 데이터 손실을 방지하기 위해 정기적으로 백업을 수행.
  • 예시: MySQL, PostgreSQL, MongoDB, Oracle, Microsoft SQL Server.

2. 스토리지

  • 목적 및 구조:
    • 파일이나 객체 등 데이터 자체를 물리적으로 저장.
    • 파일 시스템 도는 클라우드 기반 스토리지를 사용함.
    • 쿼리 기능을 제공하지 않음, 대량의 비정형 데이터를 저장하는데 적합
  • 주요 기능:
    • 대용량 데이터 저장: 비정형 데이터(예: 이미지, 동영상, 로그 파일 등)를 효율적으로 저장.
    • 데이터 접근: 단순한 파일 경로 또는 객체 ID로 데이터에 접근.
    • 확장성: 클라우드 스토리지는 매우 큰 데이터를 유연하게 저장하고 관리할 수 있는 높은 확장성을 가짐.
    • 백업 및 복구: 데이터 손실 시 복구할 수 있도록 다양한 백업 옵션 제공.
  • 예시: AWS S3, Google Cloud Storage, Azure Blob Storage, 로컬 하드 디스크, NAS(Network Attached Storage).

Leave a comment