객체 스토리지의 정의와 사용 가이드
객체 스토리지(object storage)란 무엇이며, 파일 및 블록 스토리지와는 어떻게 다를까요? 객체 스토리지의 장단점은 무엇일까요? 이번 블로그에서는 이런 질문에 대한 답과 그 이상을 살펴보겠습니다.
객체 스토리지란 무엇일까요?
객체 스토리지를 정확하게 이해하기 위해서는 먼저 데이터 스토리지의 세 가지 주요 유형을 이해할 필요가 있습니다. 각 유형을 간단히 설명하면 다음과 같습니다.
파일 스토리지는 마이크로소프트 윈도우에서 폴더 내에 계층 트리 구조로 파일을 저장하는 방법과 비슷한 원리로 동작합니다. 윈도우 파일 구조는 우리가 물리적인 캐비닛에 직접 파일을 보관하는 방식을 모방하여 설계되었습니다. 물리적인 캐비닛은 캐비닛으로 가득 찬 창고에 위치할 수 있습니다. 파일을 폴더 안에 넣어두고, 파일을 찾아야 할 때는 파일 구조를 탐색하거나 검색합니다.
파일 스토리지는 파일과 폴더를 쉽게 탐색할 수 있지만, 파일 액세스 권한이나 잠금, 복사 및 기타 파일 작업에 상당한 오버헤드가 투입됩니다. 파일 스토리지 시스템은 수십만 개의 파일을 수용하는 수준까지 쉽게 확장되지만, 기업의 백업 리포지토리에 있는 수십억 개의 파일과 페타바이트 규모의 데이터를 수용할 정도까지는 확장되지 않습니다.
블록 스토리지는 파일을 개별적인 데이터 블록으로 분할한 다음 별도로 저장합니다. 각 데이터 블록에는 고유한 주소가 있으므로 블록 스토리지 시스템에는 파일 스토리지 시스템과 같은 계층 트리 구조가 필요하지 않습니다. 덕분에 블록 스토리지 시스템은 더 작은 데이터 조각을 리포지토리 내 가장 효율적인 위치로 분산할 수 있습니다. 파일이 액세스되면 스토리지 시스템 소프트웨어는 필요한 블록을 재조합해서 파일을 재건합니다.
블록 스토리지는 데이터베이스와 트랜잭션 시스템에 적합합니다. 그러나 비용이 많이 들어가며, 반드시 서버에 연결해야 합니다. 또 제한된 메타데이터로 인해 데이터 검색과 회수 속도가 느릴 수 있습니다.
객체 스토리지는 데이터를 객체로 관리하는 데이터 스토리지 아키텍처입니다. 객체란 파일과 폴더 구조에 중첩된 파일이나 섹터와 트랙 내의 블록이 아니라 맞춤 메타데이터와 고유 식별자가 설정된 파일입니다.
객체 스토리지는 각 객체에 고유한 식별자가 있다는 면에서 블록 스토리지와 어느 정도 비슷하지만, 각 객체에 저장된 파일에 메타데이터를 더 많이 추가해 자세한 정보로 맞춤 구성을 할 수 있습니다. 메타데이터가 풍부한 덕분에 검색하는 사용자가 원하는 것을 쉽게 찾고 파일 회수 절차 속도도 높일 수 있습니다.
객체 스토리지는 어떤 경우에 적합할까요?
객체 스토리지, 혹은 객체 기반 스토리지는 새로운 개념이 아니고 꽤 오래전부터 존재했습니다. 초반에는 주로 슈퍼컴퓨터에 사용했고, 약 20년 전부터는 온프레미스 아카이빙 시스템에도 사용하면서 입지를 넓혔습니다. 객체 스토리지는 불변성, 무한한 확장성, 낮은 비용 덕분에 백업 및 복구, 장기 데이터 보존과 재해 복구에 적합한 것으로 평가됩니다.
흥미로운 점은 클라우드의 객체 스토리지가 클라우드 기반 서비스 대부분에서 주된 방법론이 되었다는 것입니다. 클라우드 객체 스토리지는 페이스북, 스포티파이, 드롭박스 같은 온라인 서비스에 사용되며, 아마존 S3(Amazon Simple Storage Service), 마이크로소프트 애저 블롭(Microsoft Azure Blob) 및 구글 클라우드와 같은 상용 클라우드 서비스의 기반이 되기도 합니다.
아카이빙 외에도 객체 스토리지는 온프레미스와 클라우드를 불문하고 이미지, 사운드 및 비디오 파일과 같은 대량의 비구조적 데이터와 로그 파일 및 사물인터넷(IoT) 센서 데이터에도 적합합니다.
확장성은 어느 정도일까요?
앞서 언급한 것처럼 창고에 파일이 보관된 상황을 가정해 보겠습니다. 파일 스토리지가 모든 폴더와 캐비닛, 창고 내 공간을 가득 채우는 지점에 이르면, 창고에는 확장할 여분의 공간이 없습니다. 이 지점에 이르면 또 다른 창고를 지어 파일, 폴더, 캐비닛을 채워야 합니다.
아마존 S3에서 사용하는 표현을 빌리자면, 객체 스토리지는 버킷(bucket, 양동이)과 같습니다. 객체 스토리지에서는 모든 정보를 버킷에 넣습니다. 객체 스토리지용으로 설계된 창고에 파일 구조와 폴더, 캐비닛 대신 버킷을 보관한다고 생각하면 됩니다.
파일 기반 창고와 객체 기반 창고를 비교하면, 객체 스토리지 창고에는 파일 스토리지 창고처럼 사방에 벽이 있지만, 지붕이 없습니다. 그래서 데이터가 증가하면 창고를 계속 확장해 버킷을 추가할 수 있습니다. 이것이 객체 스토리지의 대표적인 특성입니다.
검색 기능은 어떨까요?
객체 스토리지에서는 데이터를 더 쉽고 빠르게 찾고 회수할 수 있습니다. 이것이 가능한 이유는 각 객체에 고유 식별자가 있으며, 세부적이고 맞춤화된 메타데이터를 각 객체에 추가할 수 있기 때문입니다. 메타데이터에는 파일에 대한 온갖 종류의 정보를 넣을 수 있습니다.
객체 스토리지에서는 3가지 방법으로 파일을 검색합니다. 파일에 입력한 메타데이터를 검색하거나, 파일에서 추출되어 채워진 메타데이터를 검색하거나, 고유 식별자를 검색하는 방법입니다. 데이터 용량이 페타바이트에 이르는 상황에서 다른 방법보다 훨씬 더 용이하고 신속하게 원하는 것을 찾을 수 있습니다.
한계는 무엇일까요?
파일/블록 스토리지와 달리 객체 스토리지에서는 파일의 한 부분만 편집하는 것이 불가능합니다. 객체는 전체적으로만 읽고 쓸 수 있는 단위의 하나로 취급됩니다. 파일을 편집하기 위해서는 새 객체를 만들어야 합니다. 장기 보존과 규정 준수 측면에서는 장점이지만, 데이터베이스와 같은 트랜잭션 시스템용 백엔드로는 적합하지 않으며, 파일을 자주 편집하게 되면 리포지토리가 파일/블록 스토리지보다 훨씬 빠르게 증가할 수 있습니다.
클라우드에서 객체 스토리지의 가치를 극대화하는 방법은 무엇인가요?
객체 스토리지의 가치를 극대화하는 2가지 방법은 ‘데이터 중복 제거’와 ‘압축’입니다. 저장되는 백업 데이터의 양을 줄이는 주된 방법으로, 클라우드 티어링과 함께 사용하면 클라우드에서 비용을 크게 절감할 수 있습니다.
데이터 중복 제거는 데이터 흡수 시 이를 스캔하면서 리포지토리에 이미 있는 데이터와 일치하는 경우 저장된 데이터에 대한 포인터로 대체합니다. 즉, 유일무이한 데이터만 저장하는 것입니다. 데이터 중복 제거는 일반적으로 비율로 측정합니다. 예를 들어, 10:1 감소 비율은 스토리지 용량 요구사항이 90% 줄어든다는 의미입니다.
데이터 압축은 스토리지 공간을 덜 사용하도록 데이터를 압축하는 방법으로 데이터 중복 제거를 보완합니다. 데이터에서 중요한 정보 조각은 모두 그대로 유지하면서 불필요한 필러 및 공백을 제거하는 방법입니다.
클라우드 티어링은 데이터 사용량을 기반으로 클라우드에서의 객체 스토리지 비용을 최적화합니다. 클라우드 스토리지 서비스 업체 대부분은 데이터 액세스 빈도와 전송 용량에 따라 다양한 비용으로 여러 수준의 스토리지를 제공합니다. 스토리지 수준과 관련된 다른 요소도 있지만, 일반적으로 스토리지는 핫(hot), 웜(warm), 쿨(cool), 콜드(cold)로 분류됩니다. 파일 액세스 속도가 가장 빠른 것이 ‘핫’이고, 가장 느린 것이 ‘콜드’입니다. 필요한 성능을 충족하는 가장 느린 단계를 선택하는 것이 좋습니다.
데이터 중복 제거 및 압축, 클라우드 티어링을 결합하면 백업 데이터 리포지토리 액세스 속도를 높이면서 스토리지 비용을 낮출 수 있습니다. 데이터 중복을 제거하고 압축하는 것은 백업 데이터를 스토리지로 전송하기 전에 가장 효과적으로 크기를 줄이는 방법입니다. 또 스토리지 용량을 줄이면 비용 절감 효과를 유지하면서 더욱 빠른 클라우드 스토리지 수준을 선택할 수 있습니다.
클라우드에서의 객체 스토리지 사용 최적화에 대한 더 자세한 내용은 퀘스트 백서 ‘백업을 위한 클라우드 티어링과 객체 스토리지 – 비용과 속도 사이의 균형’을 참고하십시오.
마무리하며
그동안 클라우드 객체 스토리지를 사용해 데이터를 백업하는 방법에 대한 기업의 관심이 증가했습니다. 이유는 분명합니다. 객체 스토리지는 무한히 확장할 수 있고 비용 효율적이며, 거의 어디에서나 작동하고 크기나 형식에 제한이 없으므로 백업 데이터와 완벽하게 어울립니다.
객체 스토리지와 데이터 보호에 대해 궁금한 점이 있으시면 언제든 퀘스트소프트웨어 코리아로 문의 주시기 바랍니다.
객체 스토리지의 정의와 사용 가이드
객체 스토리지(object storage)란 무엇이며, 파일 및 블록 스토리지와는 어떻게 다를까요? 객체 스토리지의 장단점은 무엇일까요? 이번 블로그에서는 이런 질문에 대한 답과 그 이상을 살펴보겠습니다.
객체 스토리지란 무엇일까요?
객체 스토리지를 정확하게 이해하기 위해서는 먼저 데이터 스토리지의 세 가지 주요 유형을 이해할 필요가 있습니다. 각 유형을 간단히 설명하면 다음과 같습니다.
파일 스토리지는 마이크로소프트 윈도우에서 폴더 내에 계층 트리 구조로 파일을 저장하는 방법과 비슷한 원리로 동작합니다. 윈도우 파일 구조는 우리가 물리적인 캐비닛에 직접 파일을 보관하는 방식을 모방하여 설계되었습니다. 물리적인 캐비닛은 캐비닛으로 가득 찬 창고에 위치할 수 있습니다. 파일을 폴더 안에 넣어두고, 파일을 찾아야 할 때는 파일 구조를 탐색하거나 검색합니다.
파일 스토리지는 파일과 폴더를 쉽게 탐색할 수 있지만, 파일 액세스 권한이나 잠금, 복사 및 기타 파일 작업에 상당한 오버헤드가 투입됩니다. 파일 스토리지 시스템은 수십만 개의 파일을 수용하는 수준까지 쉽게 확장되지만, 기업의 백업 리포지토리에 있는 수십억 개의 파일과 페타바이트 규모의 데이터를 수용할 정도까지는 확장되지 않습니다.
블록 스토리지는 파일을 개별적인 데이터 블록으로 분할한 다음 별도로 저장합니다. 각 데이터 블록에는 고유한 주소가 있으므로 블록 스토리지 시스템에는 파일 스토리지 시스템과 같은 계층 트리 구조가 필요하지 않습니다. 덕분에 블록 스토리지 시스템은 더 작은 데이터 조각을 리포지토리 내 가장 효율적인 위치로 분산할 수 있습니다. 파일이 액세스되면 스토리지 시스템 소프트웨어는 필요한 블록을 재조합해서 파일을 재건합니다.
블록 스토리지는 데이터베이스와 트랜잭션 시스템에 적합합니다. 그러나 비용이 많이 들어가며, 반드시 서버에 연결해야 합니다. 또 제한된 메타데이터로 인해 데이터 검색과 회수 속도가 느릴 수 있습니다.
객체 스토리지는 데이터를 객체로 관리하는 데이터 스토리지 아키텍처입니다. 객체란 파일과 폴더 구조에 중첩된 파일이나 섹터와 트랙 내의 블록이 아니라 맞춤 메타데이터와 고유 식별자가 설정된 파일입니다.
객체 스토리지는 각 객체에 고유한 식별자가 있다는 면에서 블록 스토리지와 어느 정도 비슷하지만, 각 객체에 저장된 파일에 메타데이터를 더 많이 추가해 자세한 정보로 맞춤 구성을 할 수 있습니다. 메타데이터가 풍부한 덕분에 검색하는 사용자가 원하는 것을 쉽게 찾고 파일 회수 절차 속도도 높일 수 있습니다.
객체 스토리지는 어떤 경우에 적합할까요?
객체 스토리지, 혹은 객체 기반 스토리지는 새로운 개념이 아니고 꽤 오래전부터 존재했습니다. 초반에는 주로 슈퍼컴퓨터에 사용했고, 약 20년 전부터는 온프레미스 아카이빙 시스템에도 사용하면서 입지를 넓혔습니다. 객체 스토리지는 불변성, 무한한 확장성, 낮은 비용 덕분에 백업 및 복구, 장기 데이터 보존과 재해 복구에 적합한 것으로 평가됩니다.
흥미로운 점은 클라우드의 객체 스토리지가 클라우드 기반 서비스 대부분에서 주된 방법론이 되었다는 것입니다. 클라우드 객체 스토리지는 페이스북, 스포티파이, 드롭박스 같은 온라인 서비스에 사용되며, 아마존 S3(Amazon Simple Storage Service), 마이크로소프트 애저 블롭(Microsoft Azure Blob) 및 구글 클라우드와 같은 상용 클라우드 서비스의 기반이 되기도 합니다.
아카이빙 외에도 객체 스토리지는 온프레미스와 클라우드를 불문하고 이미지, 사운드 및 비디오 파일과 같은 대량의 비구조적 데이터와 로그 파일 및 사물인터넷(IoT) 센서 데이터에도 적합합니다.
확장성은 어느 정도일까요?
앞서 언급한 것처럼 창고에 파일이 보관된 상황을 가정해 보겠습니다. 파일 스토리지가 모든 폴더와 캐비닛, 창고 내 공간을 가득 채우는 지점에 이르면, 창고에는 확장할 여분의 공간이 없습니다. 이 지점에 이르면 또 다른 창고를 지어 파일, 폴더, 캐비닛을 채워야 합니다.
아마존 S3에서 사용하는 표현을 빌리자면, 객체 스토리지는 버킷(bucket, 양동이)과 같습니다. 객체 스토리지에서는 모든 정보를 버킷에 넣습니다. 객체 스토리지용으로 설계된 창고에 파일 구조와 폴더, 캐비닛 대신 버킷을 보관한다고 생각하면 됩니다.
파일 기반 창고와 객체 기반 창고를 비교하면, 객체 스토리지 창고에는 파일 스토리지 창고처럼 사방에 벽이 있지만, 지붕이 없습니다. 그래서 데이터가 증가하면 창고를 계속 확장해 버킷을 추가할 수 있습니다. 이것이 객체 스토리지의 대표적인 특성입니다.
검색 기능은 어떨까요?
객체 스토리지에서는 데이터를 더 쉽고 빠르게 찾고 회수할 수 있습니다. 이것이 가능한 이유는 각 객체에 고유 식별자가 있으며, 세부적이고 맞춤화된 메타데이터를 각 객체에 추가할 수 있기 때문입니다. 메타데이터에는 파일에 대한 온갖 종류의 정보를 넣을 수 있습니다.
객체 스토리지에서는 3가지 방법으로 파일을 검색합니다. 파일에 입력한 메타데이터를 검색하거나, 파일에서 추출되어 채워진 메타데이터를 검색하거나, 고유 식별자를 검색하는 방법입니다. 데이터 용량이 페타바이트에 이르는 상황에서 다른 방법보다 훨씬 더 용이하고 신속하게 원하는 것을 찾을 수 있습니다.
한계는 무엇일까요?
파일/블록 스토리지와 달리 객체 스토리지에서는 파일의 한 부분만 편집하는 것이 불가능합니다. 객체는 전체적으로만 읽고 쓸 수 있는 단위의 하나로 취급됩니다. 파일을 편집하기 위해서는 새 객체를 만들어야 합니다. 장기 보존과 규정 준수 측면에서는 장점이지만, 데이터베이스와 같은 트랜잭션 시스템용 백엔드로는 적합하지 않으며, 파일을 자주 편집하게 되면 리포지토리가 파일/블록 스토리지보다 훨씬 빠르게 증가할 수 있습니다.
클라우드에서 객체 스토리지의 가치를 극대화하는 방법은 무엇인가요?
객체 스토리지의 가치를 극대화하는 2가지 방법은 ‘데이터 중복 제거’와 ‘압축’입니다. 저장되는 백업 데이터의 양을 줄이는 주된 방법으로, 클라우드 티어링과 함께 사용하면 클라우드에서 비용을 크게 절감할 수 있습니다.
데이터 중복 제거는 데이터 흡수 시 이를 스캔하면서 리포지토리에 이미 있는 데이터와 일치하는 경우 저장된 데이터에 대한 포인터로 대체합니다. 즉, 유일무이한 데이터만 저장하는 것입니다. 데이터 중복 제거는 일반적으로 비율로 측정합니다. 예를 들어, 10:1 감소 비율은 스토리지 용량 요구사항이 90% 줄어든다는 의미입니다.
데이터 압축은 스토리지 공간을 덜 사용하도록 데이터를 압축하는 방법으로 데이터 중복 제거를 보완합니다. 데이터에서 중요한 정보 조각은 모두 그대로 유지하면서 불필요한 필러 및 공백을 제거하는 방법입니다.
클라우드 티어링은 데이터 사용량을 기반으로 클라우드에서의 객체 스토리지 비용을 최적화합니다. 클라우드 스토리지 서비스 업체 대부분은 데이터 액세스 빈도와 전송 용량에 따라 다양한 비용으로 여러 수준의 스토리지를 제공합니다. 스토리지 수준과 관련된 다른 요소도 있지만, 일반적으로 스토리지는 핫(hot), 웜(warm), 쿨(cool), 콜드(cold)로 분류됩니다. 파일 액세스 속도가 가장 빠른 것이 ‘핫’이고, 가장 느린 것이 ‘콜드’입니다. 필요한 성능을 충족하는 가장 느린 단계를 선택하는 것이 좋습니다.
데이터 중복 제거 및 압축, 클라우드 티어링을 결합하면 백업 데이터 리포지토리 액세스 속도를 높이면서 스토리지 비용을 낮출 수 있습니다. 데이터 중복을 제거하고 압축하는 것은 백업 데이터를 스토리지로 전송하기 전에 가장 효과적으로 크기를 줄이는 방법입니다. 또 스토리지 용량을 줄이면 비용 절감 효과를 유지하면서 더욱 빠른 클라우드 스토리지 수준을 선택할 수 있습니다.
클라우드에서의 객체 스토리지 사용 최적화에 대한 더 자세한 내용은 퀘스트 백서 ‘백업을 위한 클라우드 티어링과 객체 스토리지 – 비용과 속도 사이의 균형’을 참고하십시오.
마무리하며
그동안 클라우드 객체 스토리지를 사용해 데이터를 백업하는 방법에 대한 기업의 관심이 증가했습니다. 이유는 분명합니다. 객체 스토리지는 무한히 확장할 수 있고 비용 효율적이며, 거의 어디에서나 작동하고 크기나 형식에 제한이 없으므로 백업 데이터와 완벽하게 어울립니다.
객체 스토리지와 데이터 보호에 대해 궁금한 점이 있으시면 언제든 퀘스트소프트웨어 코리아로 문의 주시기 바랍니다.