유튜브 같이 순서를 정해서 나열해야 할 때
본문
유튜브가 영상을 홈화면에 나열시키는 것 같은 기능을 만들려고 합니다
지표가 하나면 mysql 쿼리조건 order by 로 나열시키면 되는데
문제는 지표가 여러개에다
어떤 지표는 table 을 풀스캔해서 불러온 데이터를 가공해서 다른 지표와 또 비교해야 합니다
그러면 페이지 로딩속도가 몇초에서 몇십초까지 나올 것 같은데,
유튜브는 실시간으로 뜨잖아요
그럴러면 유트브 알고리즘의 경우
유저가 클릭, 구독, 좋아요 등을 했을 때 지표를 미리미리 입력시켜 놓고
1. 홈화면에서 최대한 간략하게 압축된 지표를 단순 order by 애서 나열시키는지...
2. 아니면 압도적인 서버 성능으로 실시간 연산시켜 나열시키는지
궁금합니다
답변 2
일단 2번에 가까울것 같습니다.
코딩애플이라는 유투버가 깃허브에 공개된 트위터 소스 파악하는 영상을 올렸는데
일단 디비에서 조건을 걸어서 글을 몇개 가져온다음 로직에 따라 선호도 점수를 부여한다음 AI가 또 돌리고 등등..
해서 결과 피드를 사용자에게 보여준다네요..
순서를 지정하는 테이블을 하나 별도로 만들어 보세요.
답변을 작성하시기 전에 로그인 해주세요.