Object Storage에 대해 알아보자
Object Storage는 Internet Workloads (web application, webstie, website hosting 등)를 위해 고안되었고,
상대적으로 low performance & low cost 특징을 가진 스토리지라고 할 수 있다.
그렇다면 Object란 무엇일까?
버킷에 저장할 수 있는 어떤 종류의 파일이든 Object라고 할 수 있다.
Object에는 ID, Data, Meta Data, Attribute 이렇게 4가지 구성요소들이 있다.
- ID: 해당 Object의 유니크한 식별자
- Data: File이 존재하는데 실제하는 Data가 없다는 것은 말이 안된다. Data 그 자체를 의미하는 것으로 예를 들어 Excel, Video, Audio File 등이 이에 해당한다.
- Meta Data: Data에 대해 알 수 있는 모든 정보들을 의미한다. 예를 들어 누가 이 Data를 만들었는지, 언제 생성 되었는지, 이 Data가 뭘 위한 것인지, Data 타입, Data 크기가 무엇인지 등에 대한 정보를 말한다.
- Attribute: Meta Data와 비슷하지만 주로 파일에 덮어 씌울 권한이 있는 User가 누구인지, 다운로드가 가능한 User가 누구인지, 파일의 삭제 권한이 있는 User가 누구인지 등의 파일에 대한 정보를 담고있다.
이제 이 Object를 Bucket에 담아보자.
이 Object를 담는 Bucket의 크기는 제한이 없다. 사용자가 정하면 된다.
사용자는 Bucket과 통신하기 위해 API를 이용할 것이다.
그렇다면 이 Object Storage를 어떻게 이용할 것인가?
위의 그림에서 처럼, 물리 디바이스가 4개가 존재한다면 Bucket 안의 Object를 각각의 디바이스에 Replicate한다.
이는 하나의 장치가 고장났을 경우를 생각한다면 아주 안전한 방법이라 볼 수 있다.
가격면에서 Object Storage를 이용하는 방법이 달라질 수 있는데,
파일을 묻어두고 거의 꺼낼 필요가 없는 경우라면 (Coldest) 가격은 가장 쌀 것이다.
6개월 마다 한번씩 파일을 꺼내야 하는 경우는 첫번째 경우보다는 가격이 비싸질 것이고,
인터넷을 통해 Video Streaming을 하는 경우처럼 Object Storage를 바쁘게 이용하는 경우라면 가격은 당연히 비싸질 것이다.
GCP의 Cloud Storage는 이런 경우에 4가지로 storage class를 구분하고 있는데,
Standard Storage - Nearline Storage - Coldline Storage - Archive Storage 로 나뉜다.
Storage에 빈번히 접근해야 하는 경우라면 가장 왼쪽부터 쓰는 것이 좋다.
위의 내용은 아래의 강의를 듣고 정리한 것이다. 이 집 설명 맛집이네요.
https://www.youtube.com/watch?v=ZfTOQJlLsAs