VictoriaLogs는 _msg(메시지)와 _time(타임) 필드를 필수로 요구하며, 필드가 없을 경우 기본값을 자동으로 적용합니다.
스트림(stream)은 연관 로그를 묶는 논리적 버킷으로, 자주 사용하는 필드를 스트림 필드로 지정해 저장 및 검색 성능을 높일 수 있습니다.
스트림 필드를 하나만 설정하면 ’fat stream’ 문제가 발생하므로, pod나 feature 같은 추가 필드로 분할해 블록 스캔 범위를 줄이는 것이 좋습니다.
스트림 필드를 과도하게 지정하면 높은 카디널리티로 인해 수많은 마이크로 스트림이 생성되어 성능이 저하되므로 적절한 식별자를 사용해야 합니다.
동적으로 변하는 필드 이름(예: 사용자 ID를 필드 이름으로 사용)도 카디널리티를 증가시켜 저장 및 조회 성능을 악화시킵니다.
로그 전송 시 _msg_field, _time_field, _stream_fields 파라미터나 HTTP 헤더를 통해 메시지·타임·스트림 필드를 명시적으로 지정할 수 있습니다.
중첩(nested) 필드는 자동으로 평탄화(flatten) 처리되며, 필드 이름 길이가 제한을 초과할 경우 JSON 문자열로 변환해 저장합니다.
압축 효율은 필드 값의 다양성에 크게 영향을 받으며, 일정한 값이나 유한 개의 값(예: level 등)을 가지는 필드에서 뛰어난 압축률을 보입니다.
자동 생성되는 _stream_id와 _stream 필드를 통해 동일 스트림 로그를 고유 식별자로 빠르게 필터링할 수 있습니다.
Get notified when new stories are published for "heavy-ties-deny"