사용자 분석용 로그. db와 file 무엇이 좋을까요?

2014-12-30 09:14

사용자 분석용 로그를 쌓는데에 현재 database를 활용중에 있습니다. 모든 페이지 접근 발생시마다 로그를 쌓고, 외에 회원권한 변경이라던가 하는 등의 의미있는 로그들도 같은 테이블에 쌓고 있습니다.

예전엔 리눅스환경에서 tomcat을 이용해 모든걸 다 파일로그를 이용했으며, 몇몇 회원권한 등과 같은 몇몇 로그들에 한해서만 database를 이용했습니다.

현재 재직중인 회사에서는 앞서 말한 것 처럼 database를 활용중에 있으며 회원이 점점 늘어나는 추세인터라 생각지도 않고 있었는데 금새 로그기록이 3천만건이 넘어가고 있네요. 그것도 최근에 급격하게 늘어나고 있습니다.

로그조회를 하는 경우는 거의 회원권한 변경이라던가 하는 경우이고. 나머지에 대해서는 조회하지 않고 있습니다.

아마 간헐적으로 리포트작성용으로 조회하는 일이 생기겠으나 이건 수동으로 하며 프로그램을 돌리진 않을듯 싶습니다.

개인적으로는 조회자체가 거의 없는 로그이고 점점 DB양이 방대해져서 file 로그 활용을 원하지만 내부에서는 file access 자체에 대한 I/O 낭비가 많으니 기존처럼 database를 원합니다.

딱히 무엇이 더 좋다라고 스스로 판단을 내리질 못하겠고.. 저도 기존거 그대로 쓰고 바꾸진 않을듯 합니다. 다만 슬립에 계신 분들의 의견을 들어보고 싶습니다. 그럼 많은 의견 부탁드려요!

3개의 의견 from SLiPP

2015-01-03 13:00

보통은 로그로 db를 많이 쓰지 않나요? 누적 3천만건이면 그렇게 많은 건 아닌 건 같구요. 로그 전체 테이블의 용량에 따라 db의 종류도 달라질 것 같아요.

로그가 없어져도 된다면 그냥 파일로 쓰면 될테고 보존이 필요하고 용량이 TB 이하라면 MySQL 같은 걸 써도 될 것고 그 이상으로 커지고 보존이 필요하다면 hbase 같은 NoSQL을 쓰는게 좋을 것 같습니다.

파일로 로그를 사용한다면 용량 외에 어떤 장점이 있는지 모르겠습니다.

2015-01-05 10:35

@호수 없어져도 되는 로그들이긴 하고 나중에 사용자 분석을 할 때 배치를 돌리면 되는 성격을 가진 로그입니다 ㅎㅎ DB는 사내에선 sqlserver 외엔 거부하고 있는 실정이구요 ㅎㅎ 며칠전에 DB용량이 모자르게 되었다면서 불필요한 데이터들 삭제하자는 얘기도 나왔었던터라 파일로그를 제안했습니다만 웹응답속도가 느려지게 되니 DB를 쓰자는 얘기가 나왔었습니다. 파일로 로그를 사용하는 부분은 말씀주신것처럼 용량이 제일 큰 부분인듯 합니다. 반대로 반드시 DB로그만 활용하는 이유는 웹사이트 반응속도 외에 어떤 장점이 있는지 모르겠습니다.. 톰캣같은 웹서버에선 기본으로 카탈리나 로그를 쌓는 것으로 알고 있습니다. 그리고 제가 경험했던 사이트 중 두 회사에서는 톰캣의 카탈리나 로그를 활용하여 파일로그를 활용중이었습니다. (다른 회사는 로그를 어떻게 쌓는지 몰랐습니다 ㅠㅠ 완전 신입이라 업무이해하느라 바빴다는 핑계를...) 1개 회사는 동시접속자수가 3만여건이었던것으로 알고 있고 4개의 웹서버를 운용하였었으며 (sns 회사) 1개 회사는 동시접속자수가 5천여건이었으며 1개의 게임서버와 1개의 웹서버를 운용하였었습니다. (게임회사) 두 회사 모두 속도에 대해서 민감했지만 사용자분석용 로그는 파일로그를 활용하였고 서비스에 문제가 없었던터라 전 왜 굳이 DB를 해야하는지 잘 모르겠습니다... 물론 두 회사 모두 결제, 회원정보, 시스템업데이트내역 등과 같은 것들에 대한 로그는 DB를 활용하였습니다.

@jin윤석진 그.... 그러니... 일단 필요한 이유가 무엇인지 논의하고 싶었....

의견 추가하기

연관태그

← 목록으로