[10분 테코톡] 연어의 DB Partitioning

youngkyu MIn·2023년 10월 31일

movie

DB Partitioning :

  • 데이터베이스 파티셔닝(Database Partitioning)은 데이터베이스의 성능을 향상시키고 관리를 쉽게 하기 위해 대규모의 데이터 테이블을 더 작은, 더 쉽게 관리할 수 있는 조각으로 나누는 프로세스를 말한다. 파티셔닝은 데이터를 물리적으로 다른 파티션에 저장하되, 사용자는 하나의 통합된 뷰를 통해 데이터에 액세스할 수 있다.


MySQL 에서의 고려사항 :

  • WHERE 절에서 파티션을 결정할 수 있는가?

  • WHERE 절에서 인덱스를 효율적으로 사용할 수 있는가?


제약사항 및 주의사항 :

  • 파티션 포현식은 기본 산술 연산자 (+,-,* 등) 과 MySQL 내장 함수만 쓸 수 있다.
  • PK 와 UK 들은 모두 파티션 키 컬럼을 포함해야 한다.
  • 파티션의 최대 갯수는 8192개이다.
  • 'sql_mode'를 변경하면 파티션의 일관성이 깨질 수 있다.
  • 외래키를 사용할 수 없다.
  • Full Text Search 를 적용할 수 없다.
  • Temporary Table 은 파티션이 불가능하다.

MySQL 파티션 종류 :

  • 레인지 파티션 ( 시간 개념 단위로 분석 or 삭제, 범위 기반으로 균등한 파티션 )
  • 리스트 파티션 ( 키 값 하나하나를 리스트로 나열해야 함, 'MAXVALUE'를 사용할 수 없다.
  • 해시파티션 ( 파티션의 기준을 찾기 힘들 때 )
  • 키 파티션 ( 해시 파티션과 대부분 흡사 )
profile
한 줄 소개

0개의 댓글