반응형

카카오 개발 컨퍼런스에서 관심 분야 영상을 보던 중,

높은 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

+ Recent posts