의견.png

파티셔닝

위키원
ab9405 (토론 | 기여)님의 2019년 8월 12일 (월) 13:48 판
이동: 둘러보기, 검색

파티셔닝(partitioning)은 데이터베이스를 여러 부분으로 분할하는 것이다. 데이터베이스의 분할은 중요한 튜닝 기법으로 데이터가 너무 커졌을때, 조회하는 시간이 길어졌을 때 또는 관리 용이성, 성능, 가용성 등의 향상을 이유로 행해지는 것이 일반적이다. 분할된 각 부분은 '파티션'이라고 부른다. 가장 일반적인 것은 분산 데이터베이스 분할인데 각 파티션은 여러 노드에 분산 배치되어 사용자가 각 노드에서 로컬 트랜잭션을 수행 할 수 있다. 이것은 가용성과 보안을 유지하면서 특정 뷰에 관한 일반 트랜잭션의 성능을 향상시켜준다. 데이터베이스의 분할, 각각 작은 데이터베이스가 되도록 하는 분할 방법과 하나의 테이블과 같이 선택된 요소만 분리하는 방법이 있다. [1]

개요

파티셔닝은 퍼포먼스, availability, maintainability 를 목적으로 논리적인 데이터를 다수의 entity로 분할하는 행위를 말한다. 대부분의 데이터베이스 관리 시스템에서 지원하지만 Mysql 5.1 미만에서는 지원하지 않는다. 샤딩 또한 이 파티셔닝의 종류 중 하나이다. [2]즉, 큰 테이블이나 데이터베이스를 관리하기 쉬운 파티션이라는 작은 단위로 물리적으로 분할하는 것을 말한다. 물리적인 데이터 분할이 있더라도, 데이터베이스에 접근하는 애플리케이션 입장에서는 이를 인식하지 못한다. [3]

등장 배경

서비스의 크기가 점점 커지고 데이터베이스에 저장하는 데이터의 규모 또한 대용량화가 되면서, 기존에 사용하는 데이터베이스 시스템의 용량의 한계와 성능의 저하를 가져오면서 초대형 데이터베이스와 같이 하나의 데이터베이스에 너무 큰 테이블이 드러가게 되면서 이러한 문제점을 해결하기 위하여 테이블을 '파티션'이라는 작은 단위로 나누어 관리하는 '파티셔닝'기법이 나타나게 된것이다. 파티셔닝 기법이 나타나면서 소프트웨어적으로 데이터베이스를 분산처리하여 성능이 저하되는 것을 방지하고 관리를 보다 수월하게 할 수 있게 되었다. [3]


특징

종류

분할 기준

각주

  1. 데이터베이스_분할〉, 《위키백과》
  2. 파티셔닝의 정의와 종류 그리고 샤딩〉, 《네이버 블로그》
  3. 3.0 3.1 [DB_DB_파티셔닝(Partitioning)이란]〉, 《블로그》

참고자료

같이 보기


  의견.png 이 파티셔닝 문서는 블록체인 기술에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.