ThLee
ThLee의 기록장
ThLee
전체 방문자
오늘
어제
  • 분류 전체보기 (137)
    • 정보처리기사 (13)
    • 알고리즘&문제 (5)
    • 인공지능 (4)
    • 자연어처리(NLP) (6)
    • 파이썬 (24)
    • 앱인벤터 강좌 (21)
    • 리눅스 (4)
    • 프로젝트 (1)
    • (App)톡분석AI (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 정보처리기사 정리
  • 파이썬 넘파이
  • 판다스
  • 블로그
  • 정보처리기사 실기
  • 앱인벤터
  • 인공지능
  • 앱인벤터 강좌
  • 정보처리기사 실기 정리
  • 정처기
  • 블록코딩
  • 파이썬
  • 앱인벤터 블로그
  • 어플
  • AI
  • 딥러닝
  • 넘파이
  • 앱인벤터 무료
  • Python
  • 정보처리기사

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
ThLee

ThLee의 기록장

카테고리 없음

[톡분석 AI] AWS S3에 파일 단위 저장 vs 단일 파일 업데이트 고민

2024. 6. 11. 12:08
728x90

AI 서비스 로그 관리: AWS S3에 로그 저장하기

요즘 저는 AI 서비스를 제공하는 앱을 개발하면서, 성능을 개선하고 상황을 잘 파악하기 위해 AWS S3에 로그를 저장하고 있어요. 사용자가 앱에서 AI 관련 기능을 이용할 때마다, 그 로그 데이터를 AWS S3에 모아 두면 나중에 분석하거나 문제를 해결하는 데 큰 도움이 되거든요.

초기 고민: 로그 저장 방식

사실 처음 기획할 때부터 이런 생각을 했어요. 여러 사용자가 동시에 앱을 이용하게 되면 로그를 어떻게 저장하는 게 좋을까? 가장 이상적인 방법은 서비스별로 하나의 JSON 파일에 로그를 차곡차곡 누적해서 저장하는 거예요. 예를 들어, Log.json 파일 하나에 모든 로그를 계속 추가하는 거죠.

그런데 여기서 큰 고민이 생겼어요. 만약 동시에 10명이 로그를 저장하려고 하면, 이 파일이 동시에 여러 번 호출될 거잖아요. 그럼 로그가 순서대로 저장되지 않으면 파일이 손상되거나, 데이터의 무결성이 깨질 가능성이 아주 높아요. 이런 문제를 해결하려면 어떻게 해야 할까 하고 한참 고민했어요.

동시 접근 문제와 무결성

파일 무결성 문제를 해결하기 위해 어떻게 할까 고민하다가, AWS S3에 동시 접근을 처리할 방법을 찾아봤어요. 동시에 여러 사용자가 로그를 저장하면 파일이 덮어씌워지거나 손상될 수 있으니까요. 여러 가지 방법을 생각해 보았는데, 그 중 하나가 DynamoDB를 사용하는 것이었어요.

DynamoDB는 무결성을 아주 잘 보장해주고, 동시에 많은 사람들이 접근해도 문제없이 데이터를 처리할 수 있는 분산 데이터베이스 서비스거든요. 이걸 사용하면 로그 데이터가 분산되어 저장되기 때문에, 여러 사용자가 동시에 로그를 저장해도 데이터 무결성이 깨지지 않아요. 하지만 이번에는 DynamoDB를 쓰기보다는 더 간단한 방법을 쓰기로 했어요.

새로운 파일에 로그 저장하기

지금은 로그 데이터를 새로운 파일에 저장하는 방법을 쓰고 있어요. 예를 들어, Log_1.json, Log_2.json 같은 식으로요. 이렇게 하면 동시 접근 문제를 쉽게 피할 수 있고, 로그 데이터가 파일 단위로 분리되니까 파일이 손상될 걱정도 없어요.

이 방법은 생각보다 간단하면서도 효과적이에요. 각 로그 파일이 고유한 이름을 가지니까, 여러 사용자가 동시에 로그를 저장하려고 해도 파일끼리 충돌하지 않아요. 나중에 로그 파일이 필요할 때도 쉽게 찾아서 분석할 수 있고요.

 


이렇게 해서 AI 서비스 로그를 AWS S3에 잘 저장하고 있어요. 앞으로도 더 좋은 방법을 찾아서 서비스 품질을 계속 개선해 나갈 예정이에요. 여러분도 의견이 있으면 언제든지 알려주세요! 도움이 될 만한 조언이라면 환영입니다. 😊

728x90
    ThLee
    ThLee
    # 포트폴리오 https://thleewave.notion.site/ThLee-1fef9e057dbf40d5b7b851ab0abccf36?pvs=4 #Github - https://github.com/git-ThLee #IoT 스타트업 -Full-stack -2021.01~2021.07 -사용기술 : fluterr, arduino, node.js #코딩학원 강사 - 2019.11 ~ 진행중 - 언어 : python, 블록 코딩 - 플랫

    티스토리툴바