Object storage, BLOB, File storage

0

배경

우리는 생활의 대부분이 온라인으로 연결되어 소셜 네트워크, 카카오톡, 인스타 그램 등에 글,사진 및 동영상 등을 올리고 스트리밍 등을 통해서 실시간으로 음악을 들으며, 드롭박스와 같은 스토리지 서비스를 이용하면서 많은 데이터 들을 저장하고 사용하고 있다.
이처럼 클라우드 컴퓨팅의 다양한 기능 중에 데이터 저장과 관련된 많은 서비스 들이 우리에게 매우 익숙한 일상이 되었으며, 이제는 없어서는 안될 중요한 생활의 요소가 되었습니다.
오브젝트 스토리지는 이러한 클라우드 데이터 저장 공간으로서 많은 클라우드 서비스와 연관되어 사용하고 있다.

  • 비정형 데이터란?

일정한 규격이나 형태를 지닌 숫자 데이터와 달리 그림이나 영상, 문서와 같이 형태와 구조가 각기 다른 구조화 되지 않은 데이터

  • 정형 데이터란?

텍스트와 같이 일정한 규격과 형태를 가진 데이터 형식

  • Block Storage(기존의 스토리지)란?

Block Storage는 일반적으로 파일 시스템이 디렉토리 구조로 파일을 계층화 하여 저장
데이터를 파일 규칙에 따라 관리하고, 특정 영역과 구간을 나눠 데이터를 블록 단위로 관리 하는 스토리지

  • Object Storage란?
    • 비정형 데이터를 안정하게 저장하고 관리하기 위해 등장
      오브젝트 스토리지는 파일에 대한 구체적인 정보를 포함한 메타데이터를 자동으로 생성, 보관, 관리 하는 방식으로 데이터를 저장
    • 데이터의 물리적인 위치는 상관 없이 사용자나 서버에서 식별할 수 있는 ID를 오브젝트에 부여하여 관리하는 스토리지
    • 데이터와 식별 가능한 ID, 메타데이터를 하나의 오브젝트로 묶고 이것을 컨테이너에 저장하고 동일한 레벨로 관리 하는 방식을 취함
    • 이런 관리 방법을 통해 파일을 저장할 때, 해당 파일과 메타데이터를 생성하여 함께 관리 하는 방식을 가짐
    • 이런 관리 방법에 따라 비정형 데이터에 정형성을 부여함으로서 훨씬 많은 양의 콘텐츠를 보다 효율적이고 지능적인 방식으로 저장 관리 할 수 있도록 함
    • 이런 관리 방식을 통해 비정형 데이터라도 메타데이터를 이용해 신속한 파일 검색 및 분석으로 또 다른 가치를 얻거나 링크 주소를 통한 파일 공유 등 비정형 데이터에 대한 접근 지원

      단점으로는 Throughput의 문제가 있음
      하나의 파일을 업데이트 할 때마다 모든 복제본이 업데이트 될 때까지 기다려야 하기 때문에 데이터를 자주 바꿔야 하는 업무에는 권장하지 않음

백업, 아카이빙 비디오 파일, 가상머신 이미지 파일 등의 데이터를 저장하는데 적합
오브젝트 스토리지는 발레파킹과 같다고 생가하면 됨

발레 파킹의 경우 음식점에 들어가기 전 발레파킹 서비스를 받기 위해 키를 맡기게 되면 주차요원이 알아서 주차를 해주고, 음식을 다 먹고 나왔을 때, 번호표를 전달해 주면 차를 다시 앞으로 가져 오는 것처럼 차의 주차 위치가 어디인지를 알아볼 필요가 없는 것 처럼 파일이 어디에 저장되어 있는지 사용자는 알필요가 없으며, ID를 기반으로 해당 파일에 접근만 하면 되는 구조라고 생각하면 됨

  • Blob Storage란?

Blob Storage란 HTTP와 HTTPS를 통해서 어느 장소에서든 접근이 가능하도록 되어진 방대한 양의 비정형 데이터를 저장하기 위한 스토리지이다

  • Blob 이란?

일반적으로 Blob이라는 단어는 "Binary Large Object"라고 이해되고 있다
데이터베이스에서 Blob은 데이터베이스에 의해서 정의 되어진 타입(텍스트,숫자)을 따르지 않고 저장되어진 데이터를 말한다.
아마, 위와 비슷한 의미로 생각하면 될 것. 다시 말해 비정형 데이터

Azure의 Blob Storage를 무엇을 위해서 사용 할까?

  • Blob Storage를 사용하는 일례는 웹사이트에서 빈번하게 사용되어지는 이미지, CSS Files, PDF와 같은 고정된 파일이 될 수 있다.
  • URL변경으로 인하여 파일을 Blob Storage에서 다시 받아오게 될 경우, Web Server에 요청하는 부하를 감소 시킬 수 있다.
  • 만약 Web Roles과 Worker Roles 등과 같은 PaaS의 기능을 사용하면, 어플리케이션 성능을 더욱 향상 시킬 수 있다.
  • 또한, 다수의 파일이 빈번하게 변화되는 환경에서 그 파일을 Blob Storage에 위치시키게 되면 웹 사이트를 새롭게 배포할 필요 없이 바로 변경된 파일을 적용시킬 수 있다

예를들어, 만약 어느 기업의 로고 이미지 파일을 Blob Storage안에 넣었고, 매번 회사 기업 로고 이미지 라인이 변경된다고 하면, 관리자는 변경되는 기업 이미지만 변경해서 Blob Storage에 저장 하면 된다

다른 예는 Blob Storage를 거대한 Queue 메시지의 Temporary의 영역으로 사용하는 것이다

파일 스토리지

파일 스토리지는 가장 일반적인 저장소 유형 중 하나입니다.
대부분의 사람들이 일상적인 컴퓨터 사용으로 이에 익숙합니다.
간단한 예를 생각해보세요. 여러분은 최근 여행에서 찍은 사진을 개인 노트북이나 데스크톱에 저장합니다. 먼저 '여행'이라는 이름의 폴더를 생성합니다.
이제 이 폴더 아래에 '좋아하는 사진'이라는 이름의 다른 폴더를 추가하고 마음에 드는 사진들을 넣을 수 있습니다. 이와 같은 방식으로 여러분은 파일을 폴더와 하위 폴더의 계층 구조로 체계화하고, 폴더/파일 경로를 사용해 접근할 수 있습니다.
이 방법으로 파일을 저장하면 생성 날짜, 수정 날짜 및 파일 크기 등의 첨부되는 메타데이터가 제한적입니다. 이 간단한 조직 스키마는 데이터 양이 늘어나면서 문제를 일으킬 수 있습니다.
파일과 폴더를 계속 추적하기 위해 파일 시스템에 대한 자원 요구가 증가하기 때문에 성능이 떨어질 수 있습니다. 이러한 '구조적' 문제는 단순히 파일 시스템에서 사용할 수 있는 저장 공간을 늘리는 것으로 해결할 수 없습니다.
규모의 측면에서 잠재적인 문제가 있음에도, 파일 시스템은 업무 현장 및 중대형 기업에서 사용하는 개인용 컴퓨터와 서버에서 일상적인 작업을 잘 수행합니다. 파일 스토리지는 일반적으로 하드 드라이브 및 네트워크 연결 스토리지(NAS) 시스템에 배치되어 보여집니다.

오브젝트 스토리지의 개념
알리바바 클라우드

profile
🇰🇷🇺🇸 #Back-End Engineer

0개의 댓글