반응형
사례연구 - 데이터 저장소가 변경되었을 때
일반적인 저장소 관련 문제들
- 특정 테이블에 row가 지나치게 많은 경우
- DB용량 초과
- 스케일 업(Scale-up) vs. 스케일 아웃(Scale-out)
- 저장소 자체가 변경되는 케이스
- 저장소 중개역할이 생기는 케이스
서버 관점에서는?
데이터를 어떻게 읽어올 것인가?
- SEVER -----Read----> data
보다 더 추상적으로 바라보기
다른 서버에 통신하는 경우도 마찬가지 아닌가?
- SEVER <------------> 다른 서버
- 통신방식은? HTTP? gRPC? RPC? 전문?
패키지별로 생각해보기
- 도메인 로직 <-----DTO-----> 다른 서버 호출 관련 패키지, DB관련 패키지, 샤딩된 DB 관련 패키지
정리
- 스케일 업(수직 확장), 스케일 아웃(수평 확장)
- DB 샤딩
- 특정 테이블에 데이터가 너무 많을 때
- 단일 DB로 저장할 수 없을 때
- 해시 샤딩
- 레인지 샤딩
- 데이터를 읽어오는 방법을 캡슐화
반응형
'cs > java-spring-boot' 카테고리의 다른 글
[Zero-base] 12-3. 운영성 업무들 (0) | 2022.03.22 |
---|---|
[Zero-base] 12-2. 서비스 중 기능 추가, 변경 시 고려해야 할 것들 (0) | 2022.03.22 |
[Zero-base] 12-1. 현업에서 마주하는 실제 요청은? (0) | 2022.03.22 |
[Zero-base] 10-5. 테스트 코드 (3) - 실습 (0) | 2022.03.19 |
[Zero-base] 10-4. 테스트 코드 (2) (0) | 2022.03.18 |