- 파티셔닝
- == 테이블을 컬럼단위로 나누는 기법입니다. 버티칼 파티셔닝이라고 합니다. 장점은 업데이트나 인서트 같은 작업이 분산되어서 성능 향상됩니다. 단점은 테이블간 join 비용 증가하게되고, index를 별도로 파티셔닝 할수없다는 단점을 가지고 있습니다.
- 데이터를 컬럼단위로 나누어 관리하는 기법
- 한 테이블에 모든 정보를 다 나누면 데이터 많아져서 나중에 찾기할때 시간오래걸릴것임. 무거워서 성능 떨어질것
- 컬럼 단위로 나누는걸 버티컬 파티셔닝, 가로단위로 나누는걸 호리젠탈 파티셔닝
- 버티컬 파티셔닝
- 생성이나 수정할때 속도가 빨라지고 나눠서 구분지어 실행가능
- 문제는 읽기할때 join 비용 추가.
- 인덱스는 속도 빠르게하는건데 쪼개진 테이블에서 각자 사용불가
- 샤딩
- == 샤딩은 데이블을 로우단위로 분산하는 방식입니다. 호리젠탈 파티셔닝이라고도 합니다. 읽기때 성능 향상발휘할수있습니다. 샤드 키를 정하는 방법에 따라 샤드 종류가 결정되는데 크게 2가지가 잇습니다. 해쉬샤딩과 다이나믹 샤딩이 있습니다.
- 테이블을 row 단위로 분산저장하는 방법
- key 기준으로 나눔
- 해쉬 샤딩
- 데이터 많아졌을때 확장할때 , 조건문 규칙을 바꿔야 되고 기존 데이터 계산 전부 다시해야함
- 다이나믹 샤딩
- 인덱스 구간별 사용할 테이블을 정해놔서 확장성이 편함
- 관련사진
- 

