[sql] 수직 및 수평 파티셔닝

SQL 데이터베이스에서 파티셔닝은 효율적인 데이터 관리를 위한 중요한 기법 중 하나입니다. 데이터 파티셔닝은 대규모 데이터베이스 테이블을 더 작은 논리적 또는 물리적 조각으로 분할하여 성능을 향상시킵니다. 수직 파티셔닝수평 파티셔닝은 두 가지 주요 유형의 파티셔닝입니다.

수직 파티셔닝

수직 파티셔닝은 열을 기준으로 데이터를 분할하는 것을 말합니다. 이를 통해 자주 사용되지 않는 열을 별도의 테이블로 옮겨 성능을 향상시킬 수 있습니다. 예를 들어, 주문 테이블에서 고객 주소 및 연락처 정보와 같은 자주 사용되지 않는 열을 별도의 테이블로 이동하여 주문 프로세스를 최적화할 수 있습니다.

CREATE TABLE 주문 (
    주문ID INT,
    주문일자 DATE,
    고객ID INT,
    주문금액 DECIMAL,
    ...
    PRIMARY KEY (주문ID)
);

CREATE TABLE 주문_고객 (
    주문ID INT,
    주문일자 DATE,
    고객ID INT,
    주문금액 DECIMAL,
    고객이름 VARCHAR,
    주소 VARCHAR,
    연락처 VARCHAR,
    ...
    PRIMARY KEY (주문ID)
);

수평 파티셔닝

수평 파티셔닝은 행을 기준으로 데이터를 분할하는 것을 말합니다. 이를 통해 테이블의 특정 로우를 기준으로 데이터를 분할하여 더 효과적으로 관리할 수 있습니다. 예를 들어, 일별 매출이 기록된 대규모 매출 테이블을 날짜별로 수평으로 분할하여 데이터베이스의 응답 시간을 향상시킬 수 있습니다.

CREATE TABLE 매출_2021 (
    매출ID INT,
    매출일자 DATE,
    고객ID INT,
    매출금액 DECIMAL,
    ...
    PRIMARY KEY (매출ID)
);

CREATE TABLE 매출_2022 (
    매출ID INT,
    매출일자 DATE,
    고객ID INT,
    매출금액 DECIMAL,
    ...
    PRIMARY KEY (매출ID)
);

수직 및 수평 파티셔닝은 SQL 데이터베이스 성능을 향상시키고 데이터 관리를 용이하게 하는 데 중요한 역할을 합니다.

참고 자료: