
AWS 학습 도중 애매하게 알고 있던 지식을 정리해본다.
블록 스토리지 vs 파일 스토리지 vs 오브젝트 스토리지
파일 스토리지
예) 하드 드라이브나 NAS
계층 구조 스토리지
파일 스토리지 방식으로 저장 시 메타 데이터가 제한적 (생성 날짜, 수정 날짜, 파일 크기 등)
데이터가 늘어나면 성능이 떨어질 수 있다. 따라서 더 많은 용량을 추가해 확장하는 방식이 아닌, 더 많은 시스템을 추가해 Scale Out해야 한다.
오브젝트 스토리지
각각의 데이터가 여러 하드웨어에 분산 개별 저장되는 데이터 저장소 유형.
서버의 블록이나 폴더 등이 아닌 단일 리포지토리에 저장되는 방식.
오브젝트 스토리지 볼륨은 각각의 독립적인 리포지토리이며, 메타데이터는 고유 식별자가 있는 평면 주소 공간에 오브젝트 자체로 저장된다. 메타데이터의 내용은 매우 상세할 수 있다.
데이터를 검색하기 위해 메타데이터와 고유 식별자를 이용하고 오브젝트의 이름은 색인 테이블에서 키 역활을 할 수 있다. 즉, 찾고 싶은 오브젝트의 키만 알고 있으면 색인 테이블을 이용해 쉽고 빠른 검색이 가능하다.
오브젝트 스토리지는 수정이 불가능하다. 그리고 전통적인 데이터베이스와 잘 연동되지 않는다.
오브젝트 작성도 느리고, 오브젝트 스토리지는 HTTP API가 필요하다. 대부분의 언어를 지원한다.
오브젝트 스토리지는 사용한 만큼만 비용을 지불하면 되어서 비용 효율적이다. 확장도 용이해 퍼블릭 클라우드 스토리지로 적합하다. 정적 데이터에 적잡한 스토리지이다.
블록 스토리지
데이터를 하나의 단위가 아닌 블록으로 쪼개어서 저장하는 방식. 각 데이터 블록은 고유 식별자를 가지고 있으며 연속적으로 저장할 필요없이 여러 환경에 분산해서 저장하고 데이터 요청 시 기본 스토리지 시스템이 데이터 블록을 병합해서 제공하는 방식.
각 블록은 서로 독립적으로 존재하기 때문에 별도의 고유 주소가 필요없으며, 계층 구조도 필요없다. 파티션으로 분할될 수 있어서 서로 다른 운영 체제에 접근이 가능하다.
저장 영역 네트워크(SAN) 저장소에 배치되고, 대부분의 애플리케이션에서 오브젝트, 파일 스토리지는 기본 블록 스토리지 맨 위에 있는 계층이다.
파일 스토리지처럼 경로에 의존하지 않아서 신속하게 검색이 가능하다.
대규모 트랜잭션을 수행하는 기업과 대용량 데이터베이스에서도 유리하며 많은 데이터를 저장해야 할 수록 블록 스토리지를 사용하는 것이 유리하다.
단점은 비용이 많이 들 수 있다. 메타 데이터를 처리하는 기능이 제한적이라 애플리케이션이나 데이터베이스에서 취급해야 한다.