이상적으로 페이스 북과 같은 애플리케이션이 "친구"데이터를 어디에 저장할 것입니까? 데이터베이스 테이블에서? XML 파일에?소셜 네트워킹 백엔드 아키텍처
답변
:
페이스 북은 관여 할 수 데이터베이스 기술의 번호를 사용 :
"이미 우리는 세계에서 두 번째로 많은 트래픽을 낸 PHP 사이트이며 (야후는 # 1), 수천 개의 데이터베이스를 운영하는 가장 큰 MySQL 설치 중 하나입니다."
및
는 "우리는 우리가 완벽하고 쉽게 모든 플랫폼에서 실행 함께 어떤 언어로 작성된 서브 시스템을 묶을 수있는 경량하지만 강력한 멀티 - 언어 RPC 프레임 워크를 구축했습니다. 페이스 북은 PHP, C에 내장되어 ++ , Perl, Python, Erlang, Java, 심지어 ML까지 - 모두 함께 작동합니다 .* 우리는 memcached의 오픈 소스 캐싱 시스템 세계에서 가장 큰 사용자입니다. 원래 LiveJournal에서 개발 한 ' ve는 매우 많은 확장 성 향상과 성능 향상을 통해 차기 주요 릴리스에서 주요 기능을 제공 할 것입니다. * 우리는 매일 수백만 개의 쿼리를 제공하는 사용자 정의 검색 엔진을 만들었습니다. y 메모리 내에서 실시간 업데이트가 가능합니다. "
확실히 XML 파일이 아닙니다.
예, 데이터베이스에서 하나 또는 여러 개의 테이블. 그리고 페이스 북의 정확한 예를 들어, 여러 서버에.
아마도 다른 메커니즘이 있어야합니다. 예를 들어 검색 엔진은 색인을 데이터베이스 또는 XML 파일로 유지하지 않습니다. 최대 성능을 얻으려면 일반적으로 몇 가지 트리 (이진 검색 트리 또는 더 복잡한 트리)를 유지하고 디스크를 성능이 우수한 방식으로 디스크에 저장합니다. 그래서 나는 그런 메커니즘을 추측한다.
체크 아웃이 블로그 :
는 "친구"데이터가 그래프 데이터베이스에 잘 설명되어에서 시스템 architecures의 http://highscalability.com/ 많은 실제 사례를 배울 수 있습니다. Neo4j이 예이지만, Facebook이이 정보를 저장하는 방식이 아니라는 것을 알고 있습니다.
- MySQL의
- Cassandra
- Hadoop
- 의 패치 버전 ... 다른 사람 Facebooks engineering page에서
- 1. 소셜 네트워킹 사이트 디자인
- 2. 소셜 네트워킹 프로토콜이 있습니까
- 3. 소셜 네트워킹 검색
- 4. 소셜 네트워킹 용 자바 라이브러리
- 5. PHP 용 소셜 네트워킹 API
- 6. 소셜 네트워킹 프로그램의 아키텍처는 무엇입니까?
- 7. 소셜 네트워킹 사이트의 Apache mpm
- 8. 소셜 미디어 앱을위한 최고의 아키텍처
- 9. 소셜 네트워킹 웹 사이트 데이터베이스 관리
- 10. 소셜 네트워킹 웹 사이트의 아키텍처는 무엇이되어야합니까?
- 11. 소셜 네트워킹 웹 사이트 DB에 관한 질문
- 12. PHP에서 오픈 소스 소셜 네트워킹 스크립트를 찾고
- 13. 소셜 네트워킹 앱을위한 MySQL 대신 Cassandra
- 14. 소셜 네트워킹 사이트 로그인을 허용하는 멤버쉽 공급자
- 15. 소셜 네트워킹 그래프를 그리는 방법은 무엇입니까?
- 16. 모듈 기반 소셜 네트워킹 CMS 만들기
- 17. 소셜 네트워킹 웹 사이트 관리 - 어떻게해야하며 어떻게해야합니까?
- 18. 최고의 Java 소셜 네트워킹 프레임 워크는 무엇입니까?
- 19. 유연한 전자 상거래 및 소셜 네트워킹 솔루션
- 20. 소셜 네트워킹 사이트와 웹 사이트 연결
- 21. 데이터베이스 스키마 설계 소셜 네트워킹 사이트
- 22. 소셜 네트워킹 기능을위한 최고의 보석은 무엇입니까?
- 23. 소셜 네트워킹 사이트에 데이터베이스 스키마 도움이 필요합니다.
- 24. 소셜 네트워킹 API 및 C/C++
- 25. Dynamics CRM 소셜 네트워킹 가속기 프로토콜 오류
- 26. iphone 소셜 네트워킹 공유 기능 sdks
- 27. 블랙 베리의 소셜 네트워킹 쉐어 기능
- 28. 루비 대 PHP/플러그인 소셜 네트워킹
- 29. Rails 소셜 네트워킹 우정을위한 최고의 리소스
- 30. Twitter와 같은 대규모 소셜 사이트의 아키텍처 - 새로운 시작에 도움이됩니다.
Facebook의 규모가 단일 데이터베이스를 사용하지 않는다는 것, 훨씬 적은 XML 파일을 저장하는 단일 테이블이 훨씬 적음을 알 수 있습니다. –
이것은 http://stackoverflow.com/questions/1009025/facebook-database-design과 매우 유사합니다. – NotMe