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 (클라우드) |
비용 절감
하이브리드 파티션 테이블의 제한
하이브리드 파티션 테이블은 상당한 유연성을 제공하지만 다음과 같은 제한 사항이 있습니다.
- 분할 유형:
- 오직 범위 그리고 목록 파티셔닝이 지원됩니다.
- 참조 그리고 체계 분할은 지원되지 않습니다.
- DML 작업:
- DML 작업 (삽입, 업데이트, 삭제)은 ON 만 허용됩니다 내부 파티션.
- 수정을 시도합니다 외부 파티션 오류가 발생합니다.
INSERT INTO sales
VALUES ('GBR', 9999, 'X', 'X');
-- ERROR: ORA-14466: Data in a read-only partition or subpartition cannot be modified.
- 외부 파티션 제한:
- 외부 파티션은 읽기 전용입니다.
- 외부 파티션의 데이터는 객체 저장에 평평한 파일 (예 : CSV)에 저장해야합니다.
- 다른 제한:
- 분할 또는 병합 파티션과 같은 특정 작업은 분할 유형 및 스토리지 계층에 따라 제한 사항이있을 수 있습니다.
하이브리드 파티션 테이블에 대한 모범 사례
- 데이터 수명주기 관리:
- Oracle ‘s를 사용하십시오 자동 데이터 최적화 (ADO) 액세스 패턴을 기반으로 스토리지 계층 간의 데이터 이동을 자동화합니다.
- 파티션 디자인:
- 데이터 액세스 패턴과 일치하는 파티션 전략 (예 : 범위, 목록)을 선택하십시오.
- 모니터링:
- Oracle의 성능 조회수를 사용하여 쿼리 성능 및 저장 비용을 정기적으로 모니터링합니다.
DBA_HYBRID_PART_TABLES
).
- Oracle의 성능 조회수를 사용하여 쿼리 성능 및 저장 비용을 정기적으로 모니터링합니다.
결론
Oracle 19c의 하이브리드 파티션 테이블은 대형 데이터 세트를 관리하기위한 유연하고 비용 효율적인 솔루션을 제공합니다. 조직은 외부 스토리지에 로컬 및 냉간 데이터를 저장하여 성능을 손상시키지 않고 상당한 비용 절감을 달성 할 수 있습니다. 이 기사의 단계를 따라 HPT를 구현하고 데이터 저장 전략을 최적화하십시오.
Post Comment