카카오 개발 컨퍼런스에서 관심 분야 영상을 보던 중,
높은 tps(초당처리량) 처리량을 보여주던 캐시클러스터 얘기가 나왔다.
거기서 db샤딩이 필요하다고 언급되었다.
구글에서 검색해보던 중 우아한형제들 기술블로그를 읽으며 적는다.
URL: https://techblog.woowahan.com/2687/
DB분산처리를 위한 sharding | 우아한형제들 기술블로그
{{item.name}} 소개 저희는 신사업부문에서 Thiiing(띠잉)서비스를 만들고 있는 송재욱/전병두입니다. 이번에는 두 명이 함께 기술블로그를 작성했습니다. 🙂 서비스 오픈전에 아름다운 J곡선 그래프
techblog.woowahan.com
트래픽이 많을때 특정 DB에 몰릴때 트래픽 분산을 위해서 DB샤딩을 고려해볼 수 있다고 한다.
배달의민족이나 카카오톡만큼 트래픽이 많은 서비스를 운영/개발 해본적이 없기에
그동안 관심을 두지 않았었나보다.
트래픽이 과도하지 않은 서비스에서도 반영 가능할까?
비교적 낮은 사양의 하드웨어에서 DB튜닝만으로 해결되지 않는,
성능이슈를 해결할 수 있을지는 더 공부 해보아야 될 것 같다.
* 모듈러샤딩(Modular sharding)
PK를 모듈러 연산한 결과로 DB를 특정하는 방식이다.
레인지샤딩에 비해 데이터가 균등하게 분산되지만,
기존 적재된 데이터를 재정렬 하는 과정이 때에따라 필요할 수도 있다.
* 레인지샤딩(Range sharding)
PK의 범위를 기준으로 DB를 특정하는 방식이다.
모듈러샤딩에 비해 증설 비용이 적다.
특정 범위(PK)에 데이터 몰리고 트래픽 집중될 수 있다.
모듈러샤딩은 데이터가 어느정도 일정한 범위에 분산되어 있는 경우에 사용하기 좋을 것 같다.
레인지샤딩은 언제 트래픽이 몰릴지 모르는 서비스에서 사용하기...좋을까?
현재 내 입장에서 어떤 방법을 써보는게 좋을지
어느 상황에서 써야할지 확실하게 정하기는 어렵다.
어떻게 구현해야 하는지는 나중에 트래픽이 많은 서비스를 운영하는 날이 올때,
그런 서버를 다루게 되는 날 다시 찾아서 공부해야겠다.
'2022' 카테고리의 다른 글
왠지 있으면서도 없는 12월의 여유 (0) | 2022.12.14 |
---|---|
Android 앱 개발 공부 (0) | 2022.12.12 |
[Eclipse] eclipse.ini (0) | 2022.12.01 |
소스확인방법2 (0) | 2022.05.11 |
5가지 자바스크립트(JavaScript) 라이브러리 (0) | 2022.05.10 |