Twitter에 있어서 대규모 시스템 구성,
3개의 원칙과 시스템
최흥배
• 2011년 4월에 열렸던 MySQL Confernce & Expo 2011에서
Jeremy Cole씨의 ‘Big and Small Data at @Twitter’
• Twitter의 시스템에 있어서 원칙과 시스템 구...
시작….
• 강연자는 2000년부터 MySQL AB/Inc 종업원으로 작년 11월부터 Twitter에서
근무를 시작했다.
• 데이터의 관점에서 본 Twitter
1일 약 155밀리언 트윗이 발생. 1주간 1빌리언이 된다...
Twitter의 원칙 - Pragmatism
• 첫 번째 원칙으로 아주 실제적인 방침에서 시작하여 판매되는 하드웨어와
소프트웨어를 사용하도록 하는 것
• 일에 가장 알맞은 툴을 사용하고 필요한 것은 개발한다.
• MyS...
Twitter의 원칙 – Loose Coupling
• 두 번째 원칙은 Loose Coupling 이다.
• 비동기 처리를 위해 Queue를 사용한다.
Twitter의 원칙 – Soft Launches
• 세 번째 원칙은 천천히 완성하는 것.
• 새로운 코드는 disabled 상태에서 런칭하고, 천천히 유효하게 해 나간다.
• 필요하다면 원래대로 되돌리든가 특정의 역할...
• MySQL은 Twitter의 코어 아키텍처
• 사용하는 이유는 빨라서 로우버스트로 복제도 가능하기 때문.
• MySQL은 랩탑에서도 동작하고, 간단하게 배포하고, 간단하게 사용하고,
간단하게 테스트 할 수 있다.
• 대규모 ID 생성은 약함.
• Replication의 비효율도 있다.
• 유니크 ID를 보다 긴 것으로 바꾸었다. 이 때 Snowflake를 사용하였다.
• 데이터 베이스를 위한 분산 프레임워크.
• MySQL 위에 구축하고 있다.
• 데이터 쉐어링, 복제, 잡 스케쥴 등을 관리한다.
• 팔로워 리스트나 블록 리스트 등 ID와 ID 관계를 관리하는 것
• 몇 개인가의 프로젝트에서 사용되고 있다.
• 내부에서 사용하고 있다.
• Apache 로그 등 비구조형 데이터 등의 분석을 하고 있다.
• 분석에 사용하고 있다.
• SQL로 분석할 수 있으므로 MapReduce 잡을 쓰지 않고 간단하게 처리를 기술
할 수 있다.
http://www.youtube.com/watch?v=5cKTP36HVgI
일본어
http://www.publickey1.jp/blog/11/twitter3.html
참고
Upcoming SlideShare
Loading in...5
×

Twitter에 있어서 대규모 시스템 구성, 3개의 원칙과 시스템

676

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
676
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
8
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Twitter에 있어서 대규모 시스템 구성, 3개의 원칙과 시스템

  1. 1. Twitter에 있어서 대규모 시스템 구성, 3개의 원칙과 시스템 최흥배
  2. 2. • 2011년 4월에 열렸던 MySQL Confernce & Expo 2011에서 Jeremy Cole씨의 ‘Big and Small Data at @Twitter’ • Twitter의 시스템에 있어서 원칙과 시스템 구성에 대한 소개
  3. 3. 시작…. • 강연자는 2000년부터 MySQL AB/Inc 종업원으로 작년 11월부터 Twitter에서 근무를 시작했다. • 데이터의 관점에서 본 Twitter 1일 약 155밀리언 트윗이 발생. 1주간 1빌리언이 된다. 지금까지 Peek는 1초간 6939 트윗. 이것은 이번 일본의 정월 때 발생. 하루에 46만의 새로운 어카운트가 만들어지고 있다. • 이것을 보면 Twitter는 대규모 데이터를 취급하고 있다는 것을 알 수 있다.
  4. 4. Twitter의 원칙 - Pragmatism • 첫 번째 원칙으로 아주 실제적인 방침에서 시작하여 판매되는 하드웨어와 소프트웨어를 사용하도록 하는 것 • 일에 가장 알맞은 툴을 사용하고 필요한 것은 개발한다. • MySQL을 사용할 수 있는 곳은 사용한다. 실제 MySQL은 많은 곳에서 아주 유용하다. • 다양한 컴포넌트 등을 Facebook의 사람들이 적극적으로 Hack 해주므로 이런 것들을 받아서 사용하기도 한다.
  5. 5. Twitter의 원칙 – Loose Coupling • 두 번째 원칙은 Loose Coupling 이다. • 비동기 처리를 위해 Queue를 사용한다.
  6. 6. Twitter의 원칙 – Soft Launches • 세 번째 원칙은 천천히 완성하는 것. • 새로운 코드는 disabled 상태에서 런칭하고, 천천히 유효하게 해 나간다. • 필요하다면 원래대로 되돌리든가 특정의 역할만 유효하도록 한다. • 문제가 있다만 바로 off로 하고 빠르게 개선해 나가는 것을 실현하고 있다.
  7. 7. • MySQL은 Twitter의 코어 아키텍처 • 사용하는 이유는 빨라서 로우버스트로 복제도 가능하기 때문. • MySQL은 랩탑에서도 동작하고, 간단하게 배포하고, 간단하게 사용하고, 간단하게 테스트 할 수 있다.
  8. 8. • 대규모 ID 생성은 약함. • Replication의 비효율도 있다. • 유니크 ID를 보다 긴 것으로 바꾸었다. 이 때 Snowflake를 사용하였다.
  9. 9. • 데이터 베이스를 위한 분산 프레임워크. • MySQL 위에 구축하고 있다. • 데이터 쉐어링, 복제, 잡 스케쥴 등을 관리한다.
  10. 10. • 팔로워 리스트나 블록 리스트 등 ID와 ID 관계를 관리하는 것
  11. 11. • 몇 개인가의 프로젝트에서 사용되고 있다.
  12. 12. • 내부에서 사용하고 있다. • Apache 로그 등 비구조형 데이터 등의 분석을 하고 있다.
  13. 13. • 분석에 사용하고 있다. • SQL로 분석할 수 있으므로 MapReduce 잡을 쓰지 않고 간단하게 처리를 기술 할 수 있다.
  14. 14. http://www.youtube.com/watch?v=5cKTP36HVgI 일본어 http://www.publickey1.jp/blog/11/twitter3.html 참고
  1. A particular slide catching your eye?

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

×