Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

SNS Data Flow


Published on

  • Be the first to comment

SNS Data Flow

  1. 1. SNS DataFlow - social network service - gmind7
  2. 2. Architecture (DB) - Fotolog(2007)
  3. 3. Architecture (DB) - Fotolog(2007)
  4. 4. Architecture (DB) - Fotolog(2007)
  5. 5. Architecture (DB) - Fotolog(2007)
  6. 6. Architecture (DB) - Flickr (Yahoo) 2005
  7. 7. Architecture (Cache) - Facebook, twitter, Flickr…… worst best memcached
  8. 8. Architecture (Cache) - MySQL는 사용하고 있지만 RDB로서가 아니다. memcached
  9. 9. Architecture (queue) - 대량 메세지 통신은 비동기 - ActiveMQ 에서 RabbitMQ로 전환 (난 편지를 우체국에 전달해 주면 끝)
  10. 10. Architecture (MySQL) Data DB Table 정보 Index DB 1. Index DB (master+1, slave+3) - 테이블 명 : timeline_#tableIndex# 엑스맨 거북이 슈퍼맨 사과 아이언맨 오토바이 바나나 기차 - 테이블 수 : 36개 (변동가능 : 현재 목표 3%이하) 2. 데이터 DB (master+1, slave+3) - 테이블 명 : post_txt post_txt timeline_1 timeline_2 timeline_3 timeline_4 원본글 글인덱스 글인덱스 글인덱스 글인덱스
  11. 11. TimeLine Index HashingKey
  12. 12. PostFlow RealTime Query 가져오기 BackGround 1. 인덱스 정보를 가져오기 위한 쿼리 friend1 friend2 friend3 friend4 SELECT post_txt_seq FROM timeline_#tableIndex# WHERE playncAcctId=#userKey# LIMIT #startRow#, #fetchSize# ※ post_txt_seq 리스트가 IN 쿼리의 파라미터로 사용된다. 2. 게시물의 정보를 가져오기 위한 쿼리 post Memcached Server SELECT * FROM post_txt WHERE post_txt_seq in (#post_txt_seq#, (#post_txt_seq#,…) timeline_1 timeline_0 원본글 글인덱스 timeline_3 timeline_4 글인덱스 post_txt timeline_2 글인덱스 글인덱스 글인덱스
  13. 13. PostFlow FrontEnd BackEnd SNS WAS RabbitMQ Server Ingame WAS 1. Spring Framework Task (50개의 Thread 병렬 처리) 2. 각 Thread 는 420개씩 Batch Insert 처리 MessageConsumer SNS Index DB Server
  14. 14. Index DB Extension SNS Index DB Server_1 (4TB) 슈퍼맨 배트맨 SNS Index DB Server_2 (4TB) 아이언맨 엑스맨 슈퍼맨 multiDataSource Connect max timeline_1 timeline_2 timeline_3 timeline_4 timeline_1 글인덱스 글인덱스 글인덱스 글인덱스 글인덱스
  15. 15. Data DB Extension SNS Data DB Server_1 (4TB) SNS Data DB Server_2 (4TB) 프로필 그룹 프로필 그룹 그룹 그룹 프로필 그룹 max 방명록 방명록 post_txt post_txt