데이터 절감률과 효율성: 모든 스토리지가 다 똑같지는 않다!

퓨어스토리지가 플래시어레이(FlashArray)를 처음 개발했을 때의 목표는 기존의 디스크 기반 시스템보다 뛰어난 올플래시 기술의 티어1 성능을 티어2 디스크 스토리지 가격으로 대중에게 제공하는 것이었습니다.

플래시어레이(FlashArray)는 올플래시 스토리지로서 처음부터 티어1 올플래시 성능, 높은 가용성, 전력 소모 및 무게 절감 그리고 간단함이란 장점들을 제공했을 뿐만 아니라 다른 올플래시 스토리지가 시장에 등장했을 때에도 다양한 데이터 절감 기술과 방식으로 비용을 낮추고 추가적인 혜택도 제공했습니다.

퓨어스토리지는 각 스토리지 제품에 사용되는 데이터 절감 방식이 확연히 다르며, 이 차이가 비용, 공간, 전력 및 복잡성에 큰 영향을 미친다고 생각합니다.

벌써 이 블로그 포스트가 작성된지도 4년이란 세월이 지났습니다. 해당 포스트에는 퓨어스토리지의 기술에 대한 설명과 데이터 절감 목표, 그리고 실행에 대해 구체적으로 설명되어 있습니다. 오늘은 조금 짧게 요약해보도록 하겠습니다.

퓨어스토리지의 데이터 절감 기술은 “상시 구동(always on)”되도록 고안되었으며, 플래시어레이(FlashArray)는 아래의 다섯 가지 방식으로 데이터를 절감합니다:

  1. 패턴 제거: 0을 포함해 반복적인 바이너리 패턴들을 파악해 제거합니다. 패턴 제거는 용량을 절감할 뿐 아니라, 중복제거 스캐너와 압축 엔진이 처리하는 데이터의 양을 줄여줍니다.
  2. 고성능의 인라인 중복 제거: 고성능의 인라인 중복제거는 데이터를 512B로 정렬된, 4KB부터 32KB까지의 가변적인 블록 크기로 처리합니다. 고유한 데이터 블록만 플래시에 저장되며, 고정 블록 아키텍처가 처리하지 못한 중복 데이터까지 제거합니다.
  3. 인라인 압축: 인라인 압축은 원래 포맷보다 용량을 덜 사용하도록 데이터를 축소합니다. 부가적인(appended-only) 데이터 레이아웃과 가변 방식은 고정 블록 아키텍처로 생성되는 낭비 공간을 제거함으로써 압축을 최적화합니다.
  4. 심층 압축: 추가적으로 보다 심도 있는 압축 알고리즘이 적용돼 인라인으로 압축된 데이터 절감 효과를 향상시켜 줍니다.
  5. 복사본 절감: 플래시어레이(FlashArray)에서의 데이터 복사는 메타데이터에 한합니다. 퓨리티(Purity)는 데이터 절감 엔진을 활용해, 스냅샷, 복제 및 xCopy 명령어를 사전 중복 제거된 복사본으로 즉각적으로 제공합니다. 이에는 VMFS VM에서부터 VMware의 새로운 VVOL로의 즉각적이고, 공간 효율적인 마이그레이션 등의 장점이 있습니다.

스스로를 데이터 절감 분야의 리더라 생각하는 스토리지 벤더라면 거리낌 없이 실제 데이터를 고객과 공유할 수 있어야 합니다. 플래시어레이(FlashArray)는 실시간으로, 매 3초마다 절감률을 업데이트해 지속적으로 공유하고 있습니다. 클릭하시면 10,000개 이상의 어레이의 현재 성능을 보실 수 있습니다. 아래의 수치는 제가 이 글을 작성하고 있는 7월 27일 금요일 오후 3시35분 (EDT)의 상태를 나타냅니다.

물론 퓨어1(Pure1®)과 같은 관리 인프라와 실시간 클라우드 기반 지원이 있다면 데이터를 더 쉽게 확인하고 공유할 수도 있습니다.

위의 “놀라운 수치”들은 실제 수치이며, 모든 플래시어레이(FlashArray)의 평균입니다. 실제 데이터 절감 비율(DRR)은 애플리케이션, 환경, 사용 범위에 따라 크게 달라질 수 있습니다. 일부 환경에서는 이 정도의 데이터 절감률을 경험하지 못할 수도 있고, 데이터 절감이 아예 되지 않는 경우도 있으며, 위 수치보다 더 큰 절감률을 얻게 되는 경우도 있을 수 있습니다.

아래 그래프는 플래시어레이(FlashArray)의 고객들이 압축과 중복제거만으로 얻은 데이터 절감률을 여러 사용범위에 걸쳐 제시하고 있습니다. 그래프에서의 선은 각 개별 카테고리 내에 설치된 어레이의 수를 나타냅니다.

만약 어떠한 스토리지 벤더가 실제 데이터 절감 정보를 공개적으로 공유하지 않는다면 그것은 아마도 아래의 이유 때문일 것입니다.

  1. 데이터의 수집과 제시에 필요한 도구, 인프라 혹은 수단이 없다.
  2. 혹은, 데이터의 결과가 만족스럽지 않아 공개할 수 없다.

위의 그래프는 높은 절감률을 보여주고 있지만 최근에 출시된 최신 버전인 퓨리티(Purity) 5.1의 기대효과가 모두 반영되어 있지는 않습니다. 이번 업그레이드에서 개선된 압축 기능 덕분에 많은 플래시어레이(FlashArray) 고객들의 효율성이 최대 20% 향상될 것입니다. 그러나 어레이가 오래된 데이터 세그먼트의 “가비지 콜렉션(garbage collection; 데이터 재배치)”을 하기 때문에 압축 기능의 개선이 점진적으로 나타날 것입니다.

퓨어스토리지는 여러분의 애플리케이션과 데이터 환경을 점검하고, 실제 데이터에 기반해 퓨어스토리지의 데이터 절감 기술이 가져다줄 수 있는 혜택을 확실한 추정치로 제시하고자 합니다. 더 나아가, 퓨어스토리지는 여러분의 환경에 적합한 데이터 용량을 보장할 수 있을 뿐만 아니라, 여러분이 퓨어스토리지의 모든 면에 만족하게 될 것이라고 확신합니다.

스토리지 벤더들은 서로 다른 경험, 데이터 절감 기술을 보유하고 있기 때문에 어떤 벤더를 선택하느냐에 따라 여러분의 비즈니스, 운영, 재정이 받는 영향의 정도도 달라지게 됩니다.

2016년 Dell-EMC는 VMAX 올플래시 시스템의 HyperMax OS의 새로운 5977 버전을 출시하며 최초로 데이터 절감에 인라인 압축 기술을 택했습니다. 이는 2009년 EMC가 처음으로 이 방식을 FAST-VP의 한 부분으로 언급한 이후에 이뤄진 것으로, 압축과 중복제거가 모두 포함되어 있습니다. 평균 기대 데이터 절감률은 “2:1”이었고, 최근 Dell은 실제 데이터 절감률이 이 기대치에 매우 근접한 1.98:1을 달성했다고 밝혔습니다. (비디오 22:20에서 보실 수 있습니다)

새로운 PowerMax는 다른 변화도 불러왔습니다. 기존의 압축 I/O 모듈이 다른 인라인 압축 알고리즘을 사용하는 데이터 절감 I/O 모듈로 바뀌었고, 30일 간 비활성화된 데이터를 추가적으로 압축하는 기능이 더해졌습니다. 그리고 이 아키텍처에서는 최초이자 EMC가 기능을 언급한지 8년 만에 중복제거 기능이 추가됐습니다. 따라서 PowerMax의 데이터 절감률이 VMAX all-flash 보다 훨씬 월등할 것이라 기대할 수 있습니다.

생산 환경에서 PowerMax가 애플리케이션을 구동하거나 고객들이 자신들의 경험을 나서서 공유하지 않는 이상 대중들이 PowerMax의 데이터 절감률을 확실히 파악하기 어렵습니다. 그래서 Dell EMC에서는 고객들이 기대할 수 있는 데이터 절감의 이점에 대해 다음과 같이 언급하였습니다.

PowerMax의 데이터 절감 기능이 성능에 미치는 영향을 한번 살펴봅시다. 위의 인용구들처럼 Dell에서는 “미미한 영향”, “성능에 거의 영향을 미치지 않는다”, “성능에 미치는 영향은 거의 제로다”라고 주장했습니다.

아마 여러분은 Dell에 대해 다음과 같은 의문을 품을 것입니다. 위에 언급한 것들이 사실이라면 왜 데이터 절감 기능이 상시 구동 기능이 아니고 선택 기능인가? 데이터 절감이 성능에 영향을 미치지 않는다면서, 고객들이 데이터 절감 기능을 사용하고 싶은 경우에도 왜 “활성” 데이터는 따로 분류돼 기능이 적용되지 않는가? “활성” 데이터가 데이터의 최대 20%를 차지하는데, 그렇다면 “상시 구동” 데이터 절감 기능을 가진 스토리지와 비교했을 때, PowerMax가 더 많은 물리적 공간을 필요로 하는 것 아닌가? 활성과 비활성 데이터가 계속 바뀌는 랜덤IO와 같은 워크로드에선 어떻게 구동되는가?

“이 부분에 있어 타협은 없다”고 주장한 시스템이기에 이 이슈가 굉장히 중요한데, 이미 성능과 효율성 간에 타협이 이뤄진 것이 아닌가? 여러분은 최적의 성능과 최적의 효율성 중 무엇을 원하십니까? PowerMax에서는 Dell이 여러분을 대신해 이 둘 중 하나를 선택했다면, 퓨어스토리지의 플래시어레이(FlashArray)에서는 두 마리 토끼를 모두 잡을 수 있습니다.

그러나 다시 효율성 측면으로 돌아가 PowerMax와 플래시어레이(FlashArray)의 효율성을 비교해보도록 하겠습니다.

“업계 최고의 데이터 절감률”이라는 Dell)의 주장을(이 주장이 정확하다는 전제 하에) 위에 제시한 플래시어레이(FlashArray)에 대해 증명된(그리고 공개된) 데이터와 비교해보면, 분명한 차이를 볼 수 있습니다.

Dell의 평균 데이터 절감률 3:1은 퓨어스토리지의 실제 평균 데이터 절감률인 5:1 (현재 제가 이 글을 작성하는 시점에서는 4.9577:1입니다)과 바로 비교해 볼 수 있습니다. 이 두 수치는 모두 압축과 중복제거를 함께 사용함으로써 나오는 결과입니다. Dell의 최대 5:1의 총 데이터 절감률, 4:1의 데이터 절감률을 보장하는 스토리지 효율성은 퓨어스토리지의 실제 총 데이터 절감률인10: 1과 비교할 수 있습니다. 이 10:1에는 씬 프로비저닝을 통한 추가적 효율성이 포함되어 있습니다. Dell의 4:1 절감률 보장에도 스냅샷을 통한 추가적 데이터 절감이 포함되어 있습니다.

그렇다면 왜 Dell이 생각하는 PowerMax의 데이터 절감률이 플래시어레이(FlashArray)의 평균 데이터 절감률 보다 낮은 것일까요?

중복제거 기능에서 플래시어레이(FlashArray)와 PowerMax 간에는 효율성에 영향을 미치는 기술적 차이들이 있습니다. Dell의 PowerMax 관련 문서를 보면 “중복제거는 어떻게 제어되는가? 고정 블록, 128KB(트랙) 단위로 압축과 같은 방식이다.”라고 나옵니다. 이렇게 128KB 고정 블록 기준을 사용하는 PowerMax는 퓨어스토리지에 비해 훨씬 많은 수의 중복 데이터를 놓칠 수밖에 없습니다.

플래시어레이(FlashArray)의 룩업 데이터 유닛 사이즈는 4KB, 데이터 정렬은 512B이며, 데이터 비교 기준점은 4KB로, 이 기준점을 전후로 데이터를 512B 단위로 비교해 중복 데이터를 찾아냅니다.

따라서 PowerMax와 비교했을 때

  • 플래시어레이(FlashArray) 룩업 사이즈 4KB vs 128KB. 플래시어레이(FlashArray)가 더 많은 매치를 찾을 수 있습니다.
  • 플래시어레이(FlashArray)의 데이터 정렬 512B vs 128KB. 플래시어레이(FlashArray)는 다양한 실제 워크로드에 적용될 수 있습니다.
  • 플래시어레이(FlashArray)의 데이터 비교 단위 512B vs 128KB 고정. 플래시어레이(FlashArray)가 더 많은 데이터 중복을 제거할 수 있습니다.

일례로, Oracle의 데이터베이스는 기본적으로 8KB 블록을 사용하며, 대다수의 Oracle 고객들도 마찬가지입니다. Oracle의 블록 사이즈는 2KB에서 32KB까지 다양하지만, 블록 사이즈와 상관없이 Oracle은 각 블록에 고유 헤더를 씁니다. 퓨어스토리지는 512B 단위로 블록을 비교하기 때문에 쉽게 Oracle 데이터베이스의 중복 데이터를 제거할 수 있는 반면, PowerMax는 128KB 단위를 사용하기 때문에 이 데이터베이스의 중복을 전혀 제거할 수 없습니다. Dell 역시 이를 블로그에서 언급한 바 있습니다: “Oracle과 관련해 한 가지 명심할 점이 있다. Oracle이 데이터 파일을 생성할 때 각 데이터베이스 블록(보통 8KB 사이즈)이 고유의 헤더를 갖게 되어 하나의 데이터베이스 내에서의 중복제거가 불가능해진다(블록이 비어 있든 차 있든 상관없이). PowerMax의 단위가 128KB이기 때문에 더욱 그러하다.”

즉, 결론적으로 같은 용량의 Oracle 사용자 데이터를 저장할 때, PowerMax는 플래시어레이(FlashArray)보다 훨씬 더 많은 물리적 공간을 필요로 하게 됩니다.

아래 그림은 PowerMax 8000과 플래시어레이//X90(FlashArray//X90)의 데이터 절감률이 각각 3:1과 5:1인 경우에 3PB 스토리지에 어떻게 도달하는 지를 보여줍니다.

PowerMax는 공간, 전력, 냉각 면에서 이전의 VMAX보다는 더 효율적일 것으로 기대되지만, 모든 측면에서 플래시어레이(FlashArray)의 효율성이 훨씬 높을 것입니다. 위 그림에서 랙 단위의 물리적 사이즈 비교가 이를 잘 보여줍니다.

플래시어레이(FlashArray)를 사용하게 되면, 필요한 물리적 공간, 전력, 냉각이 감소할 뿐만 아니라 복잡성을 줄이고 TCO를 개선할 수 있습니다.

퓨어스토리지가 어떻게 TCO를 개선할 수 있는지 보여드리고 싶습니다. 그리고 이미 퓨어스토리지의 혜택을 받은 다른 고객들의 이야기와 경험을 들려드리고 싶습니다. 하지만 더 좋은 방법은 실제로 PoC를 통해 퓨어스토리지만의 차별점을 몸소 경험하시는 것입니다!