ȳϼ Social Networking Service ϰ ִ Դϴ.

안녕하세요 현제 Social Networking Service 를 개발하고 있는 전병훈 입니다.
제가 신기술에 관심이 많아 예전엔 워킹 그룹에 참석 했지만 요즘엔 프로그램 개발때문에 참석을 하지 못하고 있네요.
아직 실력이 않좋아서 그런지 모르겟지만 이렇게 글을 쓴이유는 안풀리는 몇 가지 의문점이 있기때문입니다.
(전 페이스북 보다 더 편리하고 더좋은 프로그램를 만들고 싶습니다. 아래의 목록에 조언을 해주시면 감사하겟습니다.)


데이터 베이스(쿼리) & 통신 관련입니다.

*데이터베이스(쿼리)*
1. 페이스북은 mysql 을 사용하는 걸로 알고 있습니다. 현제 페이스북은 8억명의 회원을 보유 하고 있으며 하루 데이터 입출력
쿼리만 해도 몆십억이 되는 것으로 알고 있습니다.
   그리고 페이스북에는 담벼락 글이 출력 되는 뉴스피드와 프로필페이지가 있습니다. 여기에서 궁금한점이 있습니다.

*   ex table*
*   담벼락 테이블,*
*   회원정보 테이블,*
*   친구관계 테이블,*
*   담벼락 게시물 (차단) 테이블,*
*   담벼락 게시물 (특정 그룹 에게만 보여주기) 테이블*
*   담벼락 게시물 (사진)*
*   담벼락 게시물 (링크)*
*   등 .......*

*  query 조건*
   *뉴스피드 (조건)*
   위의 테이블을 조인 하여 자신의 뉴스피드에 친구 담벼락 글을 출력 하며 그중 자신이 차단한 담벼락글과 특정 그룹게만 보여 지는
담벼락 글이 있을시 자신이 특정 그룹에 속하지 않으면 출력 되지않는다.

   *프로필포스팅 (조건)*
   위의 테이블을 조인하여 자신이 방문한 친구의 담벼락글과 3자가 방문하여 남긴 담벼락 글을 출력 한다. 이때 자신이 차단한
담벼락글과 특정 그룹에게만 보여지는 담벼락 글이 있을시 자신이 특정 그룹에
   속하지 않으면 출력되지 않는다.



   1-1.자신(뉴스피드)
    페이스북에서는 자신의 친구들의 정보를 받아볼수 있는 *뉴스피드*가 있습니다. 그럼 *뉴스피드*를 받아볼수 있는 sql
query( *뉴스피드 (조건) *) 도 존재 하겟지요. 그럼 고정적인 쿼리이기때문에 view 생성 하여 사용할
    것이라 예측 해볼수 있습니다.
   1-2. 자신 -> 친구(페이지 방문) : 친구 프로필 페이지 에는 친구가 작성한 글과 3자가 해당 친구 페이지에 방문하여 작성한
글이 출력됩니다.
  *  프로필페이지에서 출력되는 포스팅을 (프로필포스팅) 이라고 하겟습니다.*
    페이스북에는 자신의 글과 친구가 방문하여 작성한 글만 출력되는 프로필 페이지가 있습니다. *프로필포스팅* 를 출력하는 sql
query( *프로필포스팅 (조건) *) 도 존재 할겁니다. 그럼 이쿼리는 고정적인 쿼리가 아기때문에
    view 생성을 하지 않거고 sql query( *프로필포스팅 (조건) *)를 생성하여 출력 하거나 새로운 친구가 방문 할때마다
view 를 생성하여 사용할것이라 예측해볼수 있습니다.


   *의문점*
    1. 페이스북 에서 *뉴스피드*, *프로필포스팅* 출력시 쿼리를 생성하여 출력 하는게 아니라 view 를 사용하여 출력을 하고
있을거란 제 예측이 맞을 까요???

    2. 1번이 맞다면 *프로필포스팅 *출력은 어떤 친구가 방문을 하느냐에 따라 출력될 데이터가 달라 생성되는 view도 다를텐데
이때는 새로운 view 를 계속 생성하여 사용 하는것일까요???

 *통신(비동기 Ajax)*
 페이스북을 사용 하다보면 뉴스피드에 새로운 글이 등록되고 실시간적인 알림이 오는 것을 확인 할수 있습니다. 저는 이런 기능은
commet 방식을 이용하여 구현을 했습니다.
 commet 방식은 클라인언트 에서 서버에 요청을 하면 서버에서 즉시 응답 하지않고 응답할 조건이 충족되면 클라이언트측에 응답 해주는
방식입니다.

 *궁금한점*
 commet 방식의 특징상 클라이언트 에서 서버에 요청을 하면 서버측에서 응답을 받기 전까지 클라이언트 javascript 는 계속
실행됩니다. 하지만 페이스북은, commet 방식을 사용하는 것이 아니라
 다른 방법으로 실시간 통신을 하는것 같은데 그방법이 뭔지 모르겟습니다. commet 방식이 아닌 다른 방식을 아시는분은 어떤 방식인지
알려주기 보단 어떻게 접근을 하여 해결해야 하는지 알려 주시면 감사하겟습니다.

 여기까지 읽어 주셔서 감사합니다.
* -2012-07-26 전병훈 작성( qudgns9@gmail.com )-*

Received on Saturday, 28 July 2012 18:21:36 UTC