이걸 어캐 설득해야하냐.. ㅋㅋㅋ
테이블 1개는 유저 입력 저장하는 테이블 (JSON 포맷임)
테이블 2개는 엔진에서 처리한 결과를 저장하는 테이블 (JSON 포맷임)
이런 구조인데 그냥 mediumtext 필드 하나 더 파서 거기다가 저장 하려고 하는데, 16MB 짜리 잔뜩 쌓이면 문제 될거라면서 팀장이 되게 싫어하네.. ㅋㅋㅋ
그냥 S3에 JSON 올리면 안되냐는데, 그거 작업할 공수면 몽고DB 썻다... (하지만 그게 왜 그정도로 걸릴 일이냐고 뭐라하겠지..)
S3에 올리면 또 문제가 그거 일일히 다 다운받아서 서버에서 응답해주는것도 레이턴시 늘어남 (안해본건 아니라서 테스트 해봤는데 100ms -> 400ms 정도)
차피 테이블에 저장된 내용은 티켓 기준으로만 검색하지, JSON 자체를 검색하거나 그런 용도도 아니고, 그냥 결과 JSON 쏴주고 삭제해버리는 구조인데 상관 없지 않나.. ㅋㅋㅋ
DB 백업도 그 테이블은 백업 조차 안함, 언제든 날아가도 되는 거라서
21개의 댓글
무분별한 사용은 차단될 수 있습니다.
펩타이드
잉텔
5분 짜리 비디오는 지금 text 필드로 커버가 되는데, 데이터가 30분이 넘어가니 안들어가서 mediumtext 필드 하나 더 파겠다는거
팀장은 디스크 용량 문제 생기지 않겠냐는거고..
펩타이드
잉텔
파일은 당연 서버에서 S3로 보내는데, 문제는 뒷단에서 도는 엔진의 JSON 응답이 크다는거?
1시간 짜리 비디오 엔진 돌리면 JSON 크기가 3MB 정도 나오고, 당연히 text 타입은 64KB가 최대니 안들어가지
아치리눅스
db 에 json 을 어셈블리로 꾸겨 넣는게 단점도 있어서 정말 꼭 필요 한거 아니면 테이블들 native 로 설계하는게 좋지 않나...
보통 json 컨버팅 소켓레벨에서 처리 하지 않음..?
라이브러리 이중화가 장점만큼 리스크도 꽤 클거 같은데...
성능이고 나발이고 너무 보수용이성만 고집 하는것도 결국 문제가 터질텐데...
규모가 어느정도 인지 모르겠는데 100ms 도 최적화 필요할거 같은데
400ms 로 늘어나는거면 구조나 설계 다시 손봐야 하는 수준인거 같은데...
잉텔
자바 스프링 기준에서 100ms는 느린게 맞는데, 파이썬 fastapi으로 개발된거기도 하고
애초에 웹페이지에 뿌리는 용도의 데이터는 아니라서 조회하는데 100ms 까지는 문제 없는것 같음
그냥 요청을 받아서 빠르게 티켓ID 던져주는 형태면됨
아치리눅스
위에 댓글 이제 봤는데 그 정도 사이즈면 테이블을 새로 팔게 아니라 바이너리를 새로 파야 되는거 아님? 코덱이든 컴프레서 라이브러리든 써야 될거 같은데...
잉텔
비디오는 S3로 밀어넣는데, 비디오가 길어질 수록 분석 엔진 응답은 64KB가 넘어...
1시간 짜리 넣으면 족히 3MB는 나오던데.. 그걸 걍 DB 밀어넣을 생각이였거든
잉텔
나 첫번째줄 이해 못했다.. ㅋㅋ
아치리눅스
아... 나도 프레임워크 일거라고 생각 못했다...
천연기념물323호
안에 필드 씹고뜯는거 아니면 json 압축해서 바이트로 상하차하세요
아치리눅스
요게 맞는거 같은데...
근데 압축 과정 추가 되면 퍼포먼스는 또 바이바이네 ㅋㅋ
잉텔
이거 밖에 없는건가.. ㅋㅋ
천연기념물323호
DB에 row 사이즈 제한있는 경우가 대부분이라 이 또한 일반적인 해결책입니다
분석엔진?이라고 불릴만한 컴퓨팅의 결과물을 올리는거면 마지막에 gzip 한번 태우는건 일도 아닐거고
받는 측에서도 범용 브라우저는 gzip 디코딩을 따로 안넣어도 자동으로 처리해서 JS로 던져줍니다
https://stackoverflow.com/questions/32172704/is-gzip-automatically-decompressed-by-browser
아치리눅스
사랑합니다.
천연기념물323호
잉텔
이거 일단 설득해본다..
애플훈타
json을 텍스트 형태로 db에 저장하는거면 규격화 되기 어려운 내용인것 같고 내용이 크다면 json파일로 떨궈서 필요할때 파일을 읽어오면 안되는거야? 뉴비개발자 입장에선 신기하네..
잉텔
떨구는건 문제 없는데, 떨군걸 던져줄때 느림 분석엔진이 돌때 하나만 도는게 아니라 비디오 1개에 수십개가 도는지라 수십개 JSON 다운받고 전달하면 4배는 느려짐.. ㅋㅋ
애플훈타
ㄷㄷ 그렇구먼
잉텔
그냥 이번년도 말에 분석 엔진 응답만 몽고db에 저장하는걸로 결론남