장수말벌
40
2019-09-20 14:53:30
2
378

웹에서 서버가 한 번의 요청에 많은 데이터를 처리해야 하는 경우(요청 1인당 400MB정도)


안녕하세요 학부생 초보 아주 초보 학생입니다. 제 상황을 말씀드리자면


지금은 TF-IDF 알고리즘으로 현재 보고 있는 뉴스와 유사도가 가장 높은 뉴스를 추천해주는 사이트를 제작중입니다.

그런데 뉴스를 읽어와서 단어 별로 자르고 그 배열을 JSON 으로 저장하니 크기가 2MB 정도 나오더군요

제 목표는 100개를 읽어와서 IDF 를 실행하는 것이라 위의 계산으론 200MB의 JSON을 처리해야 할것 같아요. 넉넉잡아서 400MB를 써야 할 수도 있구요.


자 그러면 질문입니다.

1) 제 코드는 저 연산을 마친 결과를 클라이언트에 보내주는 사이트 입니다. 그런데 위의 계산으로 따지자면 10번의 요청만 들어와도 4기가의 데이터를 서버가 처리해야 하는 상황입니다.

제 생각엔 이것은 서버가 엄청 큰 부담을 지고 있는것 같아요.

이런 경우에 고수분들은 어떻게 하시는지 궁금합니다.


2) 저 연산을 클라이언트 측에서, 크롬에서 실행하게 할 수 있나요 ?


제가 웹 공부는 처음부터 차근차근 한 것이 아니라 필요한 기능 그때그때 물어보거나 검색해가면서 하고 있어서 근본이 없는 학생입니다. 기초적인 것에서 보면 좋은 자료가 있다면 알려주시면 감사하겠습니다.


0
  • 답변 2

  • 드리데이
    265
    2019-09-20 14:59:47

    TF-IDF 형식으로 텍스트를 분석할 수 있도록하는 JS같은 클라이언트 소스가 있다면 가능하겠지만 사실상 불가능할 듯합니다.


    실시간으로 클라이언트 전달 방식이 아닌 작업대기 => 작업중  => 작업완료 상태를 보여주는 형태로 개발이 필요할듯합니다.


    작업중 => 백그라운드에서 서버가 작업.

  • 자라선
    1k
    2019-09-20 17:52:15

    실시간으로 하지마시고 시간 단위 또는 일단위로 하시면 좋을거 같습니다.


    TF-IDF가 뭔진 모르는데 한꺼번에 많은 데이터를 분석하여 추천결과를 뽑는다면

    매 요청마다 분석할 필요없이 1시간단위로 분석하여 DB에 저장후 시간단위로 추천된 뉴스를 보여주는게 나아보이네요.

  • 로그인을 하시면 답변 을 등록할 수 있습니다.