핀터레스트에서 Goku 시계열 데이터베이스의 효율성 개... 노트

핀터레스트에서 Goku 시계열 데이터베이스의 효율성 개선 (파트 3)

구쿠, Pinterest의 시계열 데이터베이스는 구쿠 쇼트 텀(GokuS), 구쿠 롱 텀(GokuL), 구쿠 컴팩터, 구쿠 루트의 하위 구성 요소로 구성됩니다.비용을 줄이기 위해 Pinterest는 Observability 팀에게 두 가지 기능을 구현했습니다. Metrics Namespace은 서로 다른 지표 가족에 대한 유연한 저장 구성 허용, Top Write Heavy Metrics 제공은 차단할 지표를 확인하여 GokuS에 저장되는 데이터를 줄이는 데 도움이 됩니다.GokuS, Compactor, Ingestor의 구조 변경은 자원 발자국을 줄이는 것을 목표로 합니다. 지표 이름의 색인 개선은 지표 이름의 저장을 최적화하여 프로세스 메모리 소비를 크게 줄였습니다.압축 개선은 사전 인코딩을 사용하여 지표 이름을 표현하여 메모리 사용을 줄였습니다.프로세스 메모리 분석 및 클러스터 머신 하드웨어 평가는 적절한 인스턴스 유형을 결정하는 데 도움이 되었습니다.색인 개선 후 GokuS의 지표 이름 메모리 소비가 호스트당 약 9GB씩 줄었습니다.Observability 팀은 Goku의 기능을 사용하여 GokuS에 저장되는 시계열 데이터를 37% 줄였습니다.GokuL 호스트의 디스크 사용량이 약 27% 줄었습니다.이러한 최적화는 Pinterest가 대량의 지표 데이터를 비용 효율적으로 저장하고 처리할 수 있도록 합니다.