Project/프리온보딩
[sns-feed] 시간 기반 태그 추천
hyeon1212
2023. 10. 24. 17:18
시간 기반 태그 추천 방식
- 시간 기반 DB 쿼리
- 장점 : 최근에 사용된 tag 기록을 통한 추천 가능
- 단점 : 성능 이슈(지속적인 태그 기록과 시간 필터링 조회)
- 캐싱과 스케줄링 활용
- 장점 : DB 부하 감소, 응답 속도 향상, 데이터 일관성, 스케일 아웃(대규모) 가능 ↔ 쿼리
- 단점 : 설정, 관리 복잡함
- 스트리밍 데이터 처리
- 간단한 방식 : 콘솔 출력(운영x), 파일 기록
- Apache Kafka를 이용해 로그 수집 가능
데이터 형태
- 로그 데이터 : 많은 양 저장할 수 있지만, 실시간 분석 어려움
- IT인프라에서 발생하는 모든 상황의 데이터(서비스나 시스템 이벤트의 기록)
- 최근 사용성 및 행동 패턴 확인, 모델링 등 목적으로 사용되는 행동 기반 데이터
- DB 데이터 : 일관되고 안전한 저장이 가능하지만, 배치 형태에 따라 실시간 작업에 부족함
데이터 저장
- 파일 : 단순하지만, 대용량 로그 데이터의 검색과 분석에 제한
- 데이터베이스 : 구조화되어 검색과 분석이 쉽지만, 부하와 설정 복잡함
- Kafka 등
결론
- 로그보다 DB 데이터가 “사용 빈도”만 분석에는 더 적합
- 완벽한 실시간 작업은 아니지만, redis로 효율적인 시간으로 작업 → 메모리 캐싱 > DB 저장
- 스케줄링은 설정과 관리가 복잡하지만, 한번 학습하면 적용은 간편해질 것으로 예상
캐싱과 스케줄링을 통해서 추가 기능 구현 + DB 대신 redis를 저장소로 이용
{: .notice--warning}