파티셔닝 유형

파티셔닝의 이점

  1. 성능 향상: 대용량 테이블을 여러 파티션으로 나누면 특정 파티션에만 접근하여 데이터를 조회하거나 수정할 수 있으므로 쿼리 성능이 향상됩니다.
  2. 관리 편의성: 파티션별로 데이터 유지 관리 정책을 다르게 적용할 수 있습니다. 예를 들어, 오래된 데이터는 별도의 파티션에 저장하여 주기적으로 삭제하거나 백업할 수 있습니다.
  3. 가용성 향상: 파티션을 사용하면 특정 파티션에 장애가 발생하더라도 다른 파티션에 있는 데이터는 영향을 받지 않으므로, 가용성을 높일 수 있습니다.

파티션 유형.

  1. Range Partitioning (범위 파티셔닝): 값의 범위를 기준으로 데이터를 분할합니다. 날짜, 번호 등의 연속된 값에 주로 사용됩니다.

    CREATE TABLE sales ( sale_id NUMBER, sale_date DATE, amount NUMBER ) PARTITION BY RANGE (sale_date) ( PARTITION p1 VALUES LESS THAN (TO_DATE('2023-01-01', 'YYYY-MM-DD')), PARTITION p2 VALUES LESS THAN (TO_DATE('2024-01-01', 'YYYY-MM-DD')), PARTITION p3 VALUES LESS THAN (MAXVALUE) );
  2. List Partitioning (리스트 파티셔닝): 지정된 값 목록에 따라 데이터를 분할합니다. 범주형 데이터에 주로 사용됩니다.

    CREATE TABLE customers ( customer_id NUMBER, region VARCHAR2(50) ) PARTITION BY LIST (region) ( PARTITION east VALUES ('East'), PARTITION west VALUES ('West'), PARTITION central VALUES ('Central') );
  3. Hash Partitioning (해시 파티셔닝): 해시 함수를 사용하여 데이터를 균등하게 분할합니다. 특정 기준이 없을 때 데이터 분포를 고르게 하기 위해 사용됩니다.

    CREATE TABLE orders ( order_id NUMBER, customer_id NUMBER, order_date DATE ) PARTITION BY HASH (customer_id) PARTITIONS 4;
  4. Composite Partitioning (복합 파티셔닝): 두 가지 이상의 파티셔닝 방법을 결합하여 사용하는 방식입니다. 예를 들어, Range-List 파티셔닝처럼 범위로 먼저 분할한 후 리스트로 다시 분할할 수 있습니다.

    CREATE TABLE products ( product_id NUMBER, category VARCHAR2(50), launch_date DATE ) PARTITION BY RANGE (launch_date) SUBPARTITION BY LIST (category) ( PARTITION p1 VALUES LESS THAN (TO_DATE('2023-01-01', 'YYYY-MM-DD')) ( SUBPARTITION electronics VALUES ('Electronics'), SUBPARTITION furniture VALUES ('Furniture') ), PARTITION p2 VALUES LESS THAN (TO_DATE('2024-01-01', 'YYYY-MM-DD')) ( SUBPARTITION electronics VALUES ('Electronics'), SUBPARTITION furniture VALUES ('Furniture') ) );


댓글 쓰기

댓글 목록