Oracle 19c의 하이브리드 파티션 테이블로 데이터 저장 최적화

Oracle 19c의 하이브리드 파티션 테이블로 데이터 저장 최적화

대규모 데이터 세트의 효과적인 관리는 성능과 비용 최적화 모두에서 가장 중요합니다. Oracle 19C는 고성능 온-프레미스 시스템에서 비용 효율적인 클라우드 기반 객체 스토리지에 이르기까지 여러 스토리지 계층에 테이블 파티션을 배포 할 수있는 기능인 하이브리드 파티션 테이블 (HPT)을 소개합니다. 이 접근 방식을 통해 조직은 클라우드에서 덜 활성 “콜드”데이터를 보관하면서 더 빠른 처리를 위해 로컬로 “핫”데이터를 자주 저장할 수 있습니다.

HPT (Hybrid Partitioned Tables)를 구현하여 데이터 관리를 간소화하고 쿼리 성능을 높이고 저장 비용을 줄이는 방법을 알아보십시오.


하이브리드 파티션 테이블이란 무엇입니까?

하이브리드 파티션 테이블이 가능합니다.

  • 가게 뜨거운 데이터 (자주 액세스) 로컬 데이터베이스 스토리지에서.
  • 가게 콜드 데이터 OCI (Oracle Cloud Infrastructure)와 같은 외부 객체 스토리지에서 (드물게 액세스) 객체 저장.
  • 응용 프로그램 변경없이 내부 및 외부 파티션을 완벽하게 쿼리합니다.

하이브리드 파티션 테이블

이 접근법은 저장 비용을 최적화하는 동시에 중요한 데이터의 고성능을 유지하려는 조직에 이상적입니다.


하이브리드 파티션 테이블 구현에 대한 단계별 안내서

1 단계 : 전제 조건

  • Oracle Database 19C가 설치되었습니다.
  • OCI (Oracle Cloud Infrastructure) 객체 저장소 (또는 호환 가능한 외부 스토리지)에 대한 액세스.
  • 외부 파티션을 저장하기 위해 OCI 객체 저장에 버킷이 생성되었습니다.

데이터 플로우 하이브리드 파티션

데이터 플로우 하이브리드 파티션

2 단계 : 하이브리드 파티션 테이블을 만듭니다

판매 데이터를 저장하기 위해 하이브리드 파티션 테이블을 만들어 봅시다. 최근 판매 데이터는 로컬로 저장되며 이전 데이터는 OCI 객체 저장에 저장됩니다.

-- Create a Hybrid Partitioned Table
CREATE TABLE sales (
    sale_id   NUMBER,
    sale_date DATE,
    amount    NUMBER
)
PARTITION BY RANGE (sale_date) (
    PARTITION p2023_q1 VALUES LESS THAN (TO_DATE('2023-04-01', 'YYYY-MM-DD')),
    PARTITION p2023_q2 VALUES LESS THAN (TO_DATE('2023-07-01', 'YYYY-MM-DD')),
    PARTITION p2023_q3 VALUES LESS THAN (TO_DATE('2023-10-01', 'YYYY-MM-DD')),
    PARTITION p2023_q4 VALUES LESS THAN (TO_DATE('2024-01-01', 'YYYY-MM-DD'))
)
HYBRID (
    PARTITION p2023_q1 EXTERNAL LOCATION (
        '
    ),
    PARTITION p2023_q2 EXTERNAL LOCATION (
        '
    )
);

3 단계 : 데이터를 파티션으로로드합니다

4 단계 : 하이브리드 파티션 테이블을 쿼리하십시오

내부 및 외부 파티션에서 데이터를 검색하기 위해 테이블을 쿼리하십시오.

SELECT * 
FROM sales
WHERE sale_date BETWEEN TO_DATE('2023-01-01', 'YYYY-MM-DD') 
                    AND TO_DATE('2023-12-31', 'YYYY-MM-DD');

파티션 추가 및 삭제

파티션 추가

명령문을 사용하여 하이브리드 파티션 테이블에 새 파티션을 추가하십시오. 예를 들어, 2024 Q1에 파티션을 추가하려면 :

ALTER TABLE sales 
ADD PARTITION p2024_q1 
VALUES LESS THAN (TO_DATE('2024-04-01', 'YYYY-MM-DD'));

파티션을 떨어 뜨립니다

기존 파티션을 떨어 뜨리려면 사용하십시오 ALTER TABLE ... DROP PARTITION 성명. 예를 들어, Q1 2023 파티션을 삭제하려면 :

ALTER TABLE sales 
DROP PARTITION p2023_q1;

외부 파티션 추가

외부 파티션을 추가하려면 외부 위치를 지정하십시오.

ALTER TABLE sales 
ADD PARTITION p2023_q1 
VALUES LESS THAN (TO_DATE('2023-04-01', 'YYYY-MM-DD')) 
EXTERNAL 
DEFAULT DIRECTORY tmp_dir 
LOCATION ('p2023_q1.csv');

외부 파티션을 떨어 뜨립니다

외부 파티션을 떨어 뜨리는 것은 내부 파티션을 떨어 뜨리는 것과 유사합니다.

ALTER TABLE sales 
DROP PARTITION p2023_q1;

시뮬레이션 시나리오 : 성능 및 비용 혜택

시나리오 설정

  • 테이블 크기: 1 백만 행 (내부 스토리지 50 만, 외부 스토리지 50 만).
  • 쿼리 패턴:
    • 쿼리의 80%가 최근 데이터 (내부 파티션)에 액세스합니다.
    • 쿼리의 20%가 히스토리 데이터에 액세스합니다 (외부 파티션).

성능 지표

메트릭 내부 파티션 외부 파티션
쿼리 응답 시간 (AVG) 0.5 초 2.5 초
저장 비용 (GB/월별) $ 0.10 (온-프레미스) $ 0.02 (클라우드)

비용 절감


하이브리드 파티션 테이블의 제한

하이브리드 파티션 테이블은 상당한 유연성을 제공하지만 다음과 같은 제한 사항이 있습니다.

  1. 분할 유형:
    1. 오직 범위 그리고 목록 파티셔닝이 지원됩니다.
    2. 참조 그리고 체계 분할은 지원되지 않습니다.
  2. DML 작업:
    1. DML 작업 (삽입, 업데이트, 삭제)은 ON 만 허용됩니다 내부 파티션.
    2. 수정을 시도합니다 외부 파티션 오류가 발생합니다.
INSERT INTO sales 
VALUES ('GBR', 9999, 'X', 'X');

-- ERROR: ORA-14466: Data in a read-only partition or subpartition cannot be modified.

  1. 외부 파티션 제한:
    1. 외부 파티션은 읽기 전용입니다.
    2. 외부 파티션의 데이터는 객체 저장에 평평한 파일 (예 : CSV)에 저장해야합니다.
  2. 다른 제한:
    1. 분할 또는 병합 파티션과 같은 특정 작업은 분할 유형 및 스토리지 계층에 따라 제한 사항이있을 수 있습니다.

하이브리드 파티션 테이블에 대한 모범 사례

  1. 데이터 수명주기 관리:
    1. Oracle ‘s를 사용하십시오 자동 데이터 최적화 (ADO) 액세스 패턴을 기반으로 스토리지 계층 간의 데이터 이동을 자동화합니다.
  2. 파티션 디자인:
    1. 데이터 액세스 패턴과 일치하는 파티션 전략 (예 : 범위, 목록)을 선택하십시오.
  3. 모니터링:
    1. Oracle의 성능 조회수를 사용하여 쿼리 성능 및 저장 비용을 정기적으로 모니터링합니다. DBA_HYBRID_PART_TABLES).

결론

Oracle 19c의 하이브리드 파티션 테이블은 대형 데이터 세트를 관리하기위한 유연하고 비용 효율적인 솔루션을 제공합니다. 조직은 외부 스토리지에 로컬 및 냉간 데이터를 저장하여 성능을 손상시키지 않고 상당한 비용 절감을 달성 할 수 있습니다. 이 기사의 단계를 따라 HPT를 구현하고 데이터 저장 전략을 최적화하십시오.

출처 참조

Post Comment

당신은 놓쳤을 수도 있습니다