데이터베이스와 스토리지
데이터 저장소
파이프라인 아키텍처 설계 프로젝트를 하면서 데이터를 저장하는 저장소에 대한 선정을 어떻게 하는가에 대한 질문을 항상 해왔다. 포스팅을 통해서 두 기술의 차이와 특징에 대해서 정리해 보도록 한다.
저장소의 종류와 특징 : 클라우드 기반
스토리지 종류 | 특징 | 예시 |
---|---|---|
파일 스토리지 | 파일시스템 기반, 각 파일은 디렉토리 구조로 저장. 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