[sql] 뷰와 데이터 파티셔닝

뷰 (View)

뷰는 데이터베이스 내의 테이블에 대한 가상의 테이블입니다. 뷰를 사용하면 기존 테이블에서 가져온 데이터를 가공하거나 최신 상태로 유지할 수 있습니다. 뷰는 쿼리를 통해 생성되며, 특정 사용자에게 필요한 데이터만 제공할 수 있습니다.

CREATE VIEW employee_view AS
SELECT name, age, department
FROM employee
WHERE salary > 50000;

위의 예제는 employee 테이블에서 salary가 50000 이상인 직원의 이름, 나이, 부서 정보를 선택하여 employee_view라는 뷰를 생성하는 코드입니다. 이제 employee_view를 조회하면 해당 조건에 맞는 직원 정보만 쉽게 확인할 수 있습니다.

데이터 파티셔닝 (Data Partitioning)

데이터 파티셔닝은 대용량의 데이터를 여러 파티션으로 나누어 저장하는 방법입니다. 이를 통해 데이터의 처리 속도를 높이고 관리를 용이하게 할 수 있습니다. 데이터 파티셔닝은 테이블이나 인덱스에 적용할 수 있으며, 파티션 단위로 데이터를 더 작은 논리적 단위로 분할합니다.

데이터 파티셔닝은 다양한 기준으로 설정할 수 있습니다. 일반적인 기준으로는 시간, 지역, 범주 등이 있습니다. 예를 들어, 시간 기준으로 주문 테이블을 파티셔닝한다면 각 주문 날짜에 따라 파티션을 생성하여 처리 속도를 향상시킬 수 있습니다.

CREATE TABLE orders (
    order_id INT,
    customer_id INT,
    order_date DATE,
    total_amount DECIMAL
)
PARTITION BY RANGE (order_date) (
    PARTITION p202201 VALUES LESS THAN ('2022-02-01'),
    PARTITION p202202 VALUES LESS THAN ('2022-03-01'),
    PARTITION p202203 VALUES LESS THAN ('2022-04-01')
);

위의 예제는 order_date를 기준으로 주문 테이블에 파티셔닝을 적용하는 코드입니다. 각 파티션은 특정 날짜를 기준으로 값을 가지며, 해당 날짜 이전의 주문 데이터만 해당 파티션에 저장됩니다.

참고 자료