InflexDB 데이터 Layout

- InfluxDB Data Layout


처음에 구하기 어려웠던 InflumxDB의 Data Layout에 대한 요약입니다.
  • InflumxDB에 넣은 데이터는 쉼표나 공간으로 분리된 1줄 스트링의 데이터로 구성된다.Line Protocol
  • 1행은 Measurement, Tag, Field, Time Stamp 등 1 Data Point라고 합니다.

  • Measurement는 테이블 이름입니다. 태그와 Field가 색인되었는지 여부는 유형, 조회 시 다를 수 있습니다.

  • 태그와 Field 모두 WHERE 문장으로 지정할 수 있지만 GRUPBY는 태그만 하면 Field에 대해 MAX/MIN/MEAN 등의 합계를 할 수 있다.
  • 예를 들어 각 노드의 CPU 사용률을 입력한 경우 cpuusage 테이블에서 각 노드의 CPU 사용률(usage)을field로 지정하고 각 노드 이름(node name)을 tag로 지정합니다.
  • INSERT cpu_usage,node_name=mynode1 usage=30 1583240400000000000
    INSERT cpu_usage,node_name=mynode2 usage=35 1583240400000000000
    INSERT cpu_usage,node_name=mynode3 usage=40 1583240400000000000
    INSERT cpu_usage,node_name=mynode1 usage=35 1583245800000000000
    INSERT cpu_usage,node_name=mynode2 usage=40 1583245800000000000
    INSERT cpu_usage,node_name=mynode3 usage=45 1583245800000000000
    
    SELECT 문을 통해 각 노드의 평균 CPU 사용 시간을 얻을 수 있습니다.
    > SELECT MEAN(usage) FROM cpu_usage GROUP BY node_name
    name: cpu_usage
    tags: node_name=mynode1
    time                 mean
    ----                 ----
    1970-01-01T00:00:00Z 32.5
    
    name: cpu_usage
    tags: node_name=mynode2
    time                 mean
    ----                 ----
    1970-01-01T00:00:00Z 37.5
    
    name: cpu_usage
    tags: node_name=mynode3
    time                 mean
    ----                 ----
    1970-01-01T00:00:00Z 42.5
    
    참고 자료
    - https://docs.influxdata.com/influxdb/v1.8/concepts/schema_and_data_layout/
    - https://docs.influxdata.com/influxdb/v1.8/write_protocols/line_protocol_reference/
    - https://docs.influxdata.com/influxdb/v1.8/query_language/

    좋은 웹페이지 즐겨찾기