• Tech planet 2013 컨퍼런스를 다녀왔다.
  • 기대했던 발표 내용은 사실 별거 없었다. (tumblr, twitter, facebook 이 어떻게 확장했는지도 인터넷에서 이미 다 공개되어 나오는 수준 정도밖에 설명을 안 해 주더라.)

예를 들면, Twitter 에서 MySQL의 스케일링을 어떻게 했는지 발표에서.

  • 템포럴 샤딩으로 첫번째 확장을 했는데.
  • 이게 시간순으로 쌓이기 때문에, 처음엔 그럴듯해 보였지만.
  • 최근 데이터 INSERT 는 1개의 DB에만 이루어지고,
  • SELECT 도 최근의 데이터를 가진 1개의 DB에만 있기 때문에. 로드 밸런싱이 안 되는 문제가 있다.
  • 그래서 우리는 Snowflake, Gizzard 같은걸 우리가 만들었다.
  • (난 그게 어떤식으로 구현되어있는지 궁금했는데…)
  • 오늘 인터넷에서 찾아보니
    • Snowflake 는 유니크 ID 를 부여하는 역할이고.
    • Gizzard 는 적절하게 DB에 배분하는 역할이다.
  • 그리고 Tumblr 는 거의 모든 곳에 캐시로 떡칠을 하는 방식이었고.
  • Facebook 은 배포할때 설정을 한번에 하는 그런것에 대한 설명이었는데. 관심분야가 아니었다.

그보다

  • 거기서 만난 사람들과 이야기에서 많은 영감을 얻었다.