오늘의 고민: 모니터링 데이터 적재 방식 중 어떤것이 효율적인가?

lionloopy·2024년 12월 20일
0

오늘의 고민

목록 보기
2/6
post-thumbnail

상황

현재 새로운 서비스를 기획, 구현하고 있는데
그 중 모니터링 페이지에서 metric 데이터 적재에 관한 고민이다.

명확한 기획이 논의가 안 된 상황에서
cadvisor로부터 resource 등 metric 데이터를 불러와서
화면에 시간별로 그래프를 그려서 데이터를 보여줬어야 했다.

로직

"일단 DB는 고려하지 말고 모니터링 데이터를 보여주어라!" 라는 말씀에
어딘가에는 데이터를 적재해야 화면에 시간별로 그래프를 보여줄 수 있는거 아닌가?
라고 생각이 들었다.

그래서 일단 논의가 안 된 부분이니
cadvisor에서 데이터를 가져와서 백엔드에서는 그 데이터를 csv파일에 담고
프론트엔드에서는 api호출로 데이터를 보여주게 되었다.

그런데 데이터를 DB에 담아 로직을 개선하라고 하셨다.

🔌현재 로직:

로컬파일에 데이터를 담음 -> 조회

⛏️로직 개선1:

db에 당일 데이터를 담음 -> 자정이 되면 db 테이블을 비움 -> 로컬 파일로 저장

여기서 고민!

그런데 구조를 짜다 보니 내가 드는 고민은
어차피 같은 데이터를 담을거면

⚒️ 로직 개선2:

db, 로컬 파일에 동시에 당일 데이터 저장 -> 자정이 되면 db 테이블을 비움

이렇게 개선하면 로직도 더 간단하고
db가 죽었을 때 로컬 파일을 활용할 수 있으니까 더 괜찮은거 아닐까?
라는 생각과 함께 두 로직 사이에서 고민이 들었다.

다만 걸리는건
그럼 동시에 데이터를 저장하니, 디스크 사용량이 두배라는것..
그럼 성능부분에서는 개선로직1이 좋은것이 분명 맞다.

조언을 구하자

그래서 일단 나보다 선임분들인 파트원분들께 이 고민을 공유했고
1:1로 나뉜 의견을 들을 수 있었다.

사실 의견이 1:1로 나뉘다보니, 내가 한 고민이 바보같은 고민은 아니었구나
라고 생각이 들었다.


1:1로 의견이 나뉘니
팀장님께 여쭤보게 되었고, 팀장님은
DB가 죽었을 때의 상황은 서비스 대부분이 동작 안 하거나 다른얘기이니 개선로직1로 가는게 좋다고 하셨다.

마치며

사실 난 회사를 다니면서, 업무를 하면서
파트원분들이나 팀장님께 질문을 잘 하지 않는편이다.

집중이 한 번 깨지면 다시 온전히 집중하는데 걸리는 시간이
무려 20분이라고 한다.

나는 다른사람들의 집중시간을 방해하고 싶지 않은 게 가장 큰 이유고,
이런걸 질문해도 되나? 민폐이지 않을까? 라는 생각과 동시에

일단 내가 해볼 수 있을만큼 다 해보자. 라는 생각에
질문을 잘 하지 않는편이다.

그런데 이번엔 조언을 구하고 싶었고
그 결과 고민에 도움이 많이 됐다!


그리고 이런 의견 나누기가 좋다는 파트원분께 감사하며..
오늘의 고민 끝-!

profile
기록은 담백하게, 성장은 빠르게! 🐘

0개의 댓글