다중 온도 스토리지를 사용한 데이터 관리

빈번하게 액세스되는 데이터(핫데이터)는 급속 스토리지에 저장되고, 자주 액세스되지 않는 데이터(웜데이터)는 조금 더 느린 스토리지에 저장되며, 거의 액세스되지 않는 데이터(콜드데이터)는 저비용의 느린 스토리지에 저장되도록 데이터베이스를 구성할 수 있습니다. 핫데이터가 덜 액세스되면, 이 데이터를 보다 느린 스토리지로 동적으로 이동시킬 수 있습니다.

데이터베이스 시스템에서, 상대적으로 작은 비율의 데이터가 핫데이터가 되고 데이터의 많은 부분은 웜데이터나 콜드데이터가 되기 쉽습니다. 이러한 세트의 다중 온도 데이터에서는, 콜드데이터를 저장하지 않도록 하여 급속 스토리지의 사용을 최적화하려는 경우, 많은 어려움이 발생합니다. 데이터 웨어하우스가 사용하는 스토리지의 양이 늘어남에 따라, 스토리지 비용을 관리하는 데 있어 급속 스토리지 사용의 최적화가 점점 더 중요해지고 있습니다.

스토리지 그룹은 유사한 품질의 스토리지 경로 그룹입니다. 스토리지 그룹을 작성하거나 변경할 때 고려할 몇 가지 중요한 기본 스토리지 속성은 사용 가능한 스토리지 용량, 대기 시간, 데이터 전송률 및 RAID 보호의 정도입니다. 데이터베이스 관리 시스템의 여러 스토리지 클래스에 맵핑하는 스토리지 그룹을 작성할 수 있습니다. 핫데이터, 웜데이터 또는 콜드데이터를 포함한 테이블스페이스에 따라, 자동 스토리지 테이블스페이스를 이러한 스토리지 그룹에 지정할 수 있습니다. 데이터베이스 관리 테이블스페이스를 변환하여 자동 스토리지를 사용하려면 MANAGED BY AUTOMATIC STORAGE 옵션을 지정하여 ALTER TABLESPACE문을 실행한 후 재조정 조작을 수행해야 합니다.

현재 데이터가 종종 핫데이터로 간주되므로, 일반적으로 시간이 지남에 따라 웜데이터로 그 다음엔 콜드데이터로 변화됩니다. YUSING STOGROUP 옵션과 함께 ALTER TABLESPACE문을 사용하여 테이블스페이스를 여러 스토리지 그룹에 동적으로 재지정할 수 있습니다.

다음 예에서는 다중 온도 데이터가 있는 스토리지 그룹 사용에 대해 보여줍니다. 사용자가 현재 회계 분기 데이터에서 처리하는 비즈니스의 DBA라고 가정합니다. 그림 1에 표시된 바와 같이, 이 비즈니스에는 전체 분기에 대한 데이터를 보유할 수 있는 충분한 SSD (Solid-State Drive) 용량이 있으며 나머지 연도에 대한 데이터를 보유하기에 충분한 파이버 채널 기반 (FC) 및 SAS (Serial Attached SCSI) 드라이브 용량이 있습니다. 1년 보다 이전의 데이터는 대형 SATA (Serial ATA) RAID 어레이에 저장되며, 이 어레이는 중질 쿼리 워크로드를 견딜 수 있을 만큼 빠르게 수행되지 않습니다. 세 개의 스토리지 그룹을 정의할 수 있습니다. 하나는 SSD 스토리지 (sg_hot), FC및 SAS 스토리지 (sg_warm), SATA 스토리지 (sg_cold) 용입니다. 그런 다음 다음 조치를 수행합니다.
  • 현재 분기의 데이터가 포함된 테이블스페이스를 sg_hot 스토리지 그룹에 지정
  • 이전 세 분기의 데이터가 포함된 테이블스페이스를 sg_warm 스토리지 그룹에 지정
  • 이전의 데이터가 모두 포함된 테이블스페이스를 sg_cold 스토리지 그룹에 지정
현재 분기가 지난 후 다음 조치를 수행합니다.
  • 새 분기의 테이블스페이스를 sg_hot 스토리지 그룹에 지정
  • 전달된 분기의 테이블스페이스를 sg_warm 스토리지 그룹으로 이동
  • sg_warm 스토리지 그룹의 이전 분기의 데이터를 sg_cold 스토리지 그룹으로 이동

데이터베이스가 온라인인 경우 이 작업을 모두 수행할 수 있습니다.

그림 1. 다중 온도 데이터 스토리지를 사용하여 매출 데이터 관리
다중 온도 데이터 스토리지를 사용하여
매출 데이터 관리

다음 단계에서는 현재 회계 연도의 매출 데이터에 다중 온도 데이터 스토리지를 설정하는 방법에 대한 세부사항을 제공합니다.

  1. 두 가지 스토리지 클래스 즉, 핫데이터를 저장할 스토리지 그룹 및 웜데이터를 저장할 스토리지 그룹을 적용하기 위해 두 가지 스토리지 그룹을 작성하십시오.
    CREATE STOGROUP sg_hot ON '/ssd/path1', '/ssd/path2' DEVICE READ RATE 100 
             OVERHEAD 6.725;
    CREATE STOGROUP sg_warm ON '/hdd/path1', '/hdd/path2';

    이러한 명령문은 핫데이터를 저장할 SSD 스토리지 그룹(sg_hot) 및 웜데이터를 저장할 FC 및 SAS 스토리지 그룹(sg_warm)을 정의합니다.

  2. 회계 연도에서 데이터에 대해 분기당 하나씩, 네 개의 테이블스페이스를 작성하고 테이블스페이스를 스토리지 그룹에 지정하십시오.
    CREATE TABLESPACE TbSpc11 USING STOGROUP sg_warm;
    CREATE TABLESPACE TbSpc12 USING STOGROUP sg_warm;
    CREATE TABLESPACE TbSpc13 USING STOGROUP sg_warm;
    CREATE TABLESPACE TbSpc14 USING STOGROUP sg_hot;
    
    이 연관의 결과, 테이블스페이스가 스토리지 그룹 특성을 상속합니다.
  3. 매출 테이블에서 범위 파티션을 설정하십시오.
    CREATE TABLE sales (order_date DATE, order_id INT, cust_id BIGINT) 
    PARTITION BY RANGE (order_date) 
    (PART "Q22010" STARTING ('2010-04-01') ENDING ('2010-06-30') in "TbSpc11", 
     PART "Q32010" STARTING ('2010-07-01') ENDING ('2010-09-30') in "TbSpc12", 
     PART "Q42010" STARTING ('2010-10-01') ENDING ('2010-12-31') in "TbSpc13",
     PART "Q12011" STARTING ('2011-01-01') ENDING ('2011-03-31') in "TbSpc14"); 
    Q12011 데이터는 현재 회계 분기를 나타내며 sg_hot 스토리지 그룹을 사용하고 있습니다.
  4. 현재 분기가 지난 후, 새 분기에 대한 테이블스페이스를 작성하고 테이블스페이스를 sg_hot 스토리지 그룹에 지정하십시오.
    CREATE TABLESPACE TbSpc15 USING STOGROUP sg_hot;
  5. 지나간 분기의 테이블스페이스를 sg_warm 스토리지 그룹으로 이동하십시오. TbSpc14 테이블스페이스의 스토리지 그룹 연관을 변경하려면 USING STOGROUP 옵션과 함께 ALTER TABLESPACE문을 실행하십시오.
    ALTER TABLESPACE TbSpc14 USING STOGROUP sg_warm;
  6. TbSpc15에서 다음 분기의 새 파티션을 작성하십시오.
    ALTER TABLE sales ADD PART Q22011 STARTING ('2011-04-01') ENDING ('2011-06-30') IN TbSpc15;