개요
- Vector를 통해 수집된 개별 데이터 단위를
event
라고 합니다.
- 각
event
는 Vector가 수집 가능한 유형 중 하나에 속해야만 합니다.
Vector가 데이터 유형을 event로 부르는 이유
- 각기 다른 유형의 데이터들을 event로 취급함으로써 얻는 이점은 일관된 방식으로 데이터를 처리할 수 있다는 점입니다. 일관된 방식으로 Data를 처리한다는 점은 데이터 처리와 관리의 효율성이 늘어남을 뜻합니다.
- Log와 Metric을 기준으로 event를 구분할 뿐 처리되는 기본 메커니즘은 동일합니다.
Sources - Transforms - Sinks
의 프로세스가 고정된 상태에서 사용자는 운영 환경에 맞춰 지원하는 플러그인만 설정해주면 됩니다.
- Vector의 event(data)는 schema neutral을 지향합니다. 특정 schema나 field를 강제하지 않고, 사용자가 자유롭게 schema를 정의하고, 수정할 수 있습니다.
Common Information Model
- Common Information Model 이란 다양한 데이터 소스와 시스템에서 사용되는 데이터 스키마를 표준화하고 일반화하는 방법입니다. 이를 통해 서로 다른 스키마라 할지라도 데이터를 원하는대로 변환할 수 있는 이점을 얻을 수 있습니다.
- 예시) JSON to XML, XML to JSON
- 현재 Vector에서는 보다 자유로운 변환을 구현하기 위해 Common Information Model 구현 중에 있습니다.
Vector에서 사용하는 하위 이벤트
-
Log Events
- Log Events는 **특정 시점 이벤트(A point-in-time event)**를 지칭합니다.
-
Metric Events
- Metric Events는 **시계열 이벤트(A time series event)**를 지칭합니다.
- Vector에서는 Metric 데이터를 Log 데이터와 다른 독립적인 entity로 취급합니다. 또한 Metric Event에 대해 기존의 컨벤션(공통 schema)을 강제하지 않으며 실용적인 측면에서 시스템(혹은 서비스)의 상태를 정확하게 반영할 수 있는 데이터에 중점을 두고 설계 되었습니다.
참조
https://vector.dev/docs/about/under-the-hood/architecture/data-model/