Your SlideShare is downloading. ×
0
SNS DataFlow

- social network service -

gmind7
Architecture (DB)
- Fotolog(2007)
Architecture (DB)
- Fotolog(2007)
Architecture (DB)
- Fotolog(2007)
Architecture (DB)
- Fotolog(2007)
Architecture (DB)
- Flickr (Yahoo) 2005
Architecture (Cache)
- Facebook, twitter, Flickr……

worst

best
memcached
Architecture (Cache)
- MySQL는 사용하고 있지만 RDB로서가 아니다.

memcached
Architecture (queue)
- 대량 메세지 통신은 비동기

- ActiveMQ 에서 RabbitMQ로 전환

(난 편지를 우체국에 전달해 주면 끝)
Architecture (MySQL)
Data DB

Table 정보

Index DB
1.

Index DB (master+1, slave+3)

- 테이블 명 : timeline_#tableIndex#
엑스맨

거북...
TimeLine Index HashingKey
PostFlow
RealTime

Query 가져오기

BackGround

1. 인덱스 정보를 가져오기 위한 쿼리
friend1

friend2

friend3

friend4

SELECT post_txt_seq
F...
PostFlow
FrontEnd

BackEnd

SNS WAS
RabbitMQ Server

Ingame WAS

1. Spring Framework Task (50개의 Thread 병렬 처리)

2. 각 Thread...
Index DB Extension

SNS Index DB Server_1 (4TB)
슈퍼맨

배트맨

SNS Index DB Server_2 (4TB)
아이언맨

엑스맨

슈퍼맨

multiDataSource Conn...
Data DB Extension
SNS Data DB Server_1 (4TB)

SNS Data DB Server_2 (4TB)

프로필

그룹

프로필

그룹

그룹

그룹

프로필

그룹

max

방명록

방명록...
Upcoming SlideShare
Loading in...5
×

SNS Data Flow

407

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
407
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
7
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×