알쓸코지
article thumbnail
[DB][알쓸코지] 파티셔닝(Partitioning)
Backend 2024. 3. 7. 15:20

파티셔닝(Partitioning) 대용량 테이블이나 인덱스를 작은 논리적 단위로 나누는 행위를 의미하며, 파티셔닝된 테이블의 하위 부분(테이블 혹은 인덱스)를 `파티션(Partition)`이라고 한다. 논리적으로는 하나의 테이블이지만 물리적으로는 여러 개로 분할하여 관리할 수 있게 된다. 내부적으로 분리되어 처리되기 때문에 사용자에게는 하나의 테이블로 보인다. 데이터베이스 분산 전략 중 하나 💡 데이터베이스 분산 전략 : 데이터를 여러 위치에 나누어 저장하고 처리하는 방식을 결정하는 전략 ➡️ 데이터의 효율적인 관리, 확장성 확보, 성능 최적화 등을 목표로 한다. 1. 복제(Replication): 동일한 데이터를 여러 노드에 복제해서 각 서버가 읽기 요청을 독립적으로 처리할 수 있도록 분산하여 성능을 ..

article thumbnail
[MySQL] 실행 계획 - partitions 칼럼
Backend/Database 2024. 2. 15. 22:37

Real MySQL 8.0 - 10.3.4 partitions 칼럼 부분을 공부하는데 파티션에 대한 이해도가 부족해서 설명이 완벽하게 이해되지 않았다. 그래서 해당 내용을 이해하기 위해 필요한 부분 위주로 간단히 정리해보고자 한다. 파티션이란? 대용량 테이블이나 인덱스를 작은 논리적 단위로 나누는 것 파티션 기능은 테이블을 논리적으로는 하나의 테이블이지만 물리적으로는 여러 개의 테이블로 분리해서 관리할 수 있게 해 준다. 파티션이 필요한 경우는? 주로 대용량의 테이블을 여러 개의 소규모 테이블로 분산하는 목적으로 사용함 인덱스 크기가 과도하게 커질 때 인덱스가 커지면 SELECT 뿐만 아니라 INSERT, UPDATE, DELETE 작업도 함께 느려진다. `인덱스의 크기 > MySQL이 사용 가능한 메모..