오늘의 삽질 공유.
개선된 코드를 제작하여 신/구 결과 데이터 비교 검증 작업 중.
업무 : 대용량 데이터를 긁어서 분할 후 S3 전송
문제 : 신/구 코드의 산출 파일 크기가 3배 발생. 신엔진이 3배 작음
원인 : 전송전 파일 분할, 압축을 시행하는데 신엔진의 압축률이 3배 높음.
근본 원인 : 압축 알고리즘의 원리에 따라 중복 패턴이 근거리내에 자주 발생할 수록 압축률이 높음. 신코드의 산출 데이터는 쏘팅이 먹어서 근거리내 중복 패턴 출현율이 매우 높음.
압축 매커니즘을 가장 간단히 설명하면 중복을 찾아내서 빈도수로 치환하는 것임.
태초의 압축인 RLE는 AAAA -> A4 로 치환하는 것임 (닥터할로와 PCX 써보신 분..? .... )
즉, 소팅이 잘 된 파일은 중복의 빈도가 매우 높아서 압축률이 급상승함
신코드와 구코드의 결과물 차이는 내용물 차이가 아니라 압축률 차이었음.
파일 크기 차이가 3배에 달해서 압축률은 의심도 못하고 내용물 뜯어본다고 헤멤..
내 시간 돌려줘요..