실시간성을 일부 포기한 뉴스 검색 인덱싱 제안 #29
Replies: 1 comment
-
|
아이디어 자체만 보면 다만 지금 Discussion이다루는 부분은 처리시간과 지연이슈에 관한 해결 논의인데 저희가 정한 데이터 파이프라인이 어떤건지 여쭤봐도 될까요 A. 데이터 파이프라인1. 순차적 처리방식파싱, 크롤링후 DB저장 -- RDB(Mysql) -- DB조회 + 임베딩 생성 (ex: gpt3) -- ES (임베딩후 인덱싱) 2. 병렬처리방식파싱, 크롤링후 DB저장 --- RDB(Mysql) ---- ES (임베딩후 인덱싱) B. 인덱싱전략1. 고정 뉴스 개수 기반 인덱싱일정갯수 (ex: 1000개) 2. 색인간격을 시간단위로 지정현재사용하고 있는 Quartz 스케쥴러를 사용해서 매시간 실행하는 방법일까요. 대안으로 두가지를 제안하셨는데. 둘 다 구현하고 비교하는 방법은 어떤가 여쭤봅니다. 아니면 이미 도입되있는 redis or redis Stream이나 C. 메세징 큐 도입 14일 데일리스크럼 에서 파이프라인은 이러지않을까 싶습니다. 파이프라인파싱/크롤링 → RDB저장 → 이벤트 발행 → 임베딩 생성(gpt 3 뭐시기 모델) → RDB 임베딩 업데이트 → 이벤트 발행 → ES 색인 메시징 플랫폼
메세지 큐 도입시 사실 앞에서 논의한 A와 B는 없어지는 내용같습니다. 인프라는Redis 사용중이고?.. 개발 현황은진행중내용 조회 포트 어댑터 PR중 (#37 , PR은 #40 ) 기술스택은RDB: MySQL 초기 배포 범위디스커션으로 하나 있어야할꺼 같은데 명확히 정해진 부분을 공유받고 싶습니다. ([Road-Map] MVP 모델 배포 #12)
진행 다음 단계
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
현재 데이터 처리 흐름
본문 크롤링과 임베딩 생성 단계에서 처리 시간이 추가로 소요되어,
최신 기사가 Elasticsearch에 반영되기까지 지연이 발생합니다.
문제 제기
사용자는 ‘따끈따끈한’ 최신 기사를 바로 검색 결과에서 보고 싶어하지만
실시간 색인을 위해 모든 단계를 동기화하면 전체 파이프라인 부하와 지연 시간이 커집니다.
제안하는 대안
방법1. 고정 뉴스 개수 기반 인덱싱
ex) 최신 N개(예: 1,000개) 뉴스가 쌓이면 ES 인덱싱 진행
방법2. 색인 간격을 분 단위가 아닌 시간단위로 지정
Trade Off
장점
인덱싱 작업으로 인한 검색 속도 저하 예방 (인덱싱이 가끔돌아서 검색에 미치는 영향이 줄어드는 효과.... | 사실 아직 동시에 돈적이 없어서 문제가 될진 모르겠음)
단점
ES 색인이 늦게 돌기때문에 최신뉴스의 검색결과 반영이 느릴수 있음
위 두 가지 접근 방식에 대해 어떻게 생각하시나요?
어떤 기준(뉴스 고정 개수 색인 vs. 주기)이 더 적합할지,
다른 방법이 있을지 알려주세요!
Beta Was this translation helpful? Give feedback.
All reactions