티스토리 뷰

Computer Science/Database

샤딩과 파티셔닝

내일도이렇게 2020. 11. 17. 17:43

 

 

파티셔닝 

   특정한 기준으로 테이블을 분할 하는 것

  

수평 파티셔닝 

  샤딩과 동일한 의미를 가지며 스키마를 다수의 복제본을 구성하고 각각의 샤드에 샤드키를 기준으로 데이터를 분리하는 것 

데이터베이슬르 샤딩하게 되면 기존에 하나로 구성될 스키마를 다수의 복제본으로 구성하고 각각의 샤드에 어떤 데이터가 저장될지를 샤드키를 기준으로 분리 

예를 들면, CustomerId 를 샤드키로 사용하여 샤딩하기로 했으면, 0~10000 번 고객의 정보는 하나의 샤드에 저장하고 

10001 ~ 20000 번 고객의 정보는 다른 샤드에 저장

데이터 엑세스 패턴과 저장 공간 이슈를 고려하여 적절한 샤드키를 결정 

 

 

수직 파티셔닝

 하나의 테이블에 저장된 데이터들을 다수의 테이블로 분리 

 예를 들면, 한 고객은 하나의 청구 주소를 가지고 있으면 데이터의 유연성을 위해 다른 데이터베이스로 정보를 이동하거나 보안의 이슈등을 이유로 다른 테이블로 분리

 

  

 

 

파티셔닝은 하나의 테이블안에서 이루어진다, 샤딩은 N개의 테이블에 분리해서 저장

MySQL 같은 경우는 Table 에 PARTITION BY 를 이용하여 TABLE 내부에서 파티셔닝 

 

 

Reference

theeye.pe.kr/archives/1917

'Computer Science > Database' 카테고리의 다른 글

데이터베이스 정규화  (2) 2019.07.18
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함