Partitioning
DB 테이블을 더 작은 테이블들로 나누는 것
파티셔닝 종류
1. Vertical 파티셔닝 (=정규화+이외의 케이스)
2. Horizontal 파티셔닝
1. Vertical 파티셔닝 예시
article의 데이터 조회 시, row 에 있는 전체 데이터를 SSD나 HDD에서 읽어와 메모리에 올려놓고 필터링을 함
(테이블의 컬럼 개수가 많으면, IO에 대한 부담이 커짐)
때문에 아래와 같이 데이터 사이즈가 큰 content 컬럼 같은 경우는 오른쪽 그림과 같이 vertical 파티셔닝 하면 조회 성능 올라감
- 목적 : 조회 성능 개선 가능성, 민감정보 제한을 걸어 함부로 접근할수없게 하기 위해
2. Horizontal 파티셔닝
row를 기준으로 데이터를 나누는 방식
Sharding
Horizontal 파티셔닝 처럼 동작
각 partition이 독립된 db 테이블에 저장됨
Replication
read/write는 원본 서버 db에서 진행
계속 copy를 해서 복제된 db와 원본 db의 데이터 싱크를 맞춤
copy 방식은 여러가지 종류가 있음
만약 원본 db에 문제 발생 (fail over)했을 때, secondary db를 사용
'DB' 카테고리의 다른 글
컬럼의 Key속성 - FK와 MUL (0) | 2023.11.16 |
---|---|
[Redis] 1. AWS elasticache (0) | 2023.07.15 |
25. DB 인덱스 (0) | 2023.07.06 |
13.DB Trigger란 (0) | 2023.07.06 |
join을 이용하여 데이터 조회하기 (0) | 2023.06.27 |