마크베이스 사용방법


Machbase 5.0 TAG Table 사용법

작성자
machbase
작성일
2018-08-10 15:00
조회
212

마크베이스는 스마트 팩토리 설비의 센서에서 발생하는 태그 데이터를 빠르게 저장하고 추출하는 시계열 DBMS이다.
초당 수백만 건의 태그를 저장할 수 있을 뿐만 아니라 수천억 건의 태그 데이터를 저장하고 태그명과 시간 조건 기준으로
빠른 조회가 가능하다.


이렇게 빠른 성능의 핵심은 새롭게 추가된 Tag 테이블에 있는데 Tag 테이블은 제조 설비에 장착된 센서 데이터를 빠르게
저장하고 조회하는데 특화된 테이블이다.


그럼 Tag 테이블에 데이터를 입력하고 조회하기 위한 방법을 알아보자.


1.Table Table 생성


Tag 테이블은 기본적으로 예약된 칼럼을 가지고 있기 때문에 사용자가 테이블을 생성할 때 이에 맞게 생성해야 한다.


Tag 테이블을 구성하는 몇가지 특징을 설명하면 다음과 같다.


- 테이블명은 "TAG" 로 고정되어 있다. 따라서 다른 테이블명을 사용할 수 없다.
- name, time, value 3개의 디폴트 칼럼으로 구성되어 있으며, 필요한 경우 사용자 정의 칼럼을 추가할 수도 있다.
- name 칼럼은 Tag 명으로 primary key 속성을 부여하여야 한다. 문자열 길이는 생성할때 지정가능하다.
- time 칼럼은 Tag 의 timestamp 값으로 나노초로 저장되며 basetime 속성을 부여하여야 한다.
- value 칼럼은 Tag 의 실제값으로 double 형으로 고정이며, summarized 속성을 부여하여 통계 정보를 생성하는 기초 칼럼이 된다.


Tag 테이블을 생성하는 기본 구문은 아래와 같다.


CREATE TAGDATA TABLE TAG(name varchar(32) primary key, time datetime basetime, value double summarized);

만약, 사용자가 칼럼을 추가하는 경우에는 마크베이스에서 지원하는 데이터 타입에 맞게 추가할 수 있다. 
다만 문자열 데이터형인 varchar, text, binary 타입은 지원하지 않는다.


srcip와 error_code 칼럼을 추가하는 구문을 아래와 같다.


CREATE TAGDATA TABLE TAG(name varchar(32) primary key, time datetime basetime, value double summarized, srcip ipv4, error_code integer);

만약, 사용자가 Tag 메타 정보를 추가하고자 하는 경우에는 아래와 같이 metadata()로 추가한다.


CREATE TAGDATA TABLE TAG(name varchar(32) primary key, time datetime basetime, value double summarized)
METADATA( code integer, location varchar(64) );

 


2.Tag 메타 정보 입력


실제 Tag 값을 입력하기 전에 Tag 메타 정보를 입력하여야 한다.
기본으로 TAG 테이블을 생성하면 메타 정보는 name 칼럼 한개이다.
따라서 machsql 상에서 INSERT INTO 구문으로 입력하면 된다.


INSERT INTO TAG METADATA VALUES('TAG_00001');
INSERT INTO TAG METADATA VALUES('TAG_00002');
INSERT INTO TAG METADATA VALUES('TAG_00003');

 


만약, 사용자가 Tag 메타 칼럼을 추가한 경우에는 해당 정보를 추가해서 입력하면 된다.


INSERT INTO TAG METADATA (NAME, CODE, LOCATION ) VALUES('TAG_00001', 1, 'SEOUL');
INSERT INTO TAG METADATA (NAME, CODE, LOCATION ) VALUES('TAG_00001', 2, 'BUSAN');
INSERT INTO TAG METADATA (NAME, CODE, LOCATION ) VALUES('TAG_00001', 3, 'INCHEON');

 


Tag 메타 수가 많을 경우에는 INSERT INTO 구문을 스크립트 파일로 저장해서 machsql 을 수행하면 된다.
스크립트 파일명이 insert_meta.sql 이라고 하면,


machsql -s 127.0.0.1 -u sys -p manager -f insert_meta.sql

 


또는 Tag 메타 정보를 csv 파일로 저장하고 있다면 tagmetaimport 툴을 이용하여 업로드할 수 있다.
Tag 메타 정보 파일명을 meta.csv 라고 한다면 아래와 같이 meta.csv 파일 지정 옵션(-d)으로 수행하면 된다.


tagmetaimport -d meta.csv

 


3. Tag 데이터 입력


Tag 데이터 입력은 원천 데이터의 형태에 따라 다양한 방법이 있다.


만약 csv 파일인 경우에는 csvimport 를 이용하여 입력하면 된다.


csvimport 사용법은 아래와 같다. time 칼럼에 대해서 날짜 형식을 지정해 주어야 한다.


csvimport -t TAG -d data.csv -F "time YYYY-MM-DD HH24:MI:SS.mmm"

실시간으로 입력해야 하는 경우에는 CLI, ODBC, JDBC, C# 드라이버를 이용하여 입력 어플리케이션을 개발하는 방법도 있다.


직접 application 개발하는 경우에는 기존의 마크베이스에서 사용하는 Append API 사용법과 동일하다.


자세한 사용법은 매뉴얼의 SDK GUIDE 부분을 참조하면 된다.


 


4. Tag 데이터 조회


Tag 테이블에 대한 조회는 raw 데이터와 rollup 데이터 2가지를 구분해서 사용한다.


Tag 테이블을 조회하는 경우에는 반드시 name 검색 조건을 주어야 하는 제약사항이 있으므로 기억하고 있어야 한다.
또한 name 검색조건은 equal 과 in 조건만 지원한다.


 


1) raw 데이터 조회


SELECT time, value
FROM TAG
WHERE name = 'TAG_00001'
AND time between to_date('2018-01-01') and to_date('2018-01-31');

 


2) rollup 데이터 조회
rollup 데이터 조회는 rollup hint 를 사용한다.
rollup hint는 테이블명, 시간단위, 집계함수 3가지 인자가 있고, 3번째 인자를 생략하면 디폴토로 avg 값을 구한다.
시간 단위는 sec, min, hour 3가지가 있고,
집계 함수는 min, max, avg, sum, count 5가지가 있다.


SELECT /*+ ROLLUP(TAG, sec) */ time, value
FROM TAG
WHERE name = 'TAG_00001'
AND time between to_date('2018-01-01 00:00:00') and to_date('2018-01-01 01:59:59');

SELECT /*+ ROLLUP(TAG, hour, max) */ time, value
FROM TAG
WHERE name = 'TAG_00001'
AND time between to_date('2018-01-01 00:00:00') and to_date('2018-01-31 23:59:59')
ORDER BY time;

 


5.Tag 데이터 시각화


 


Tag 데이터를 MWA(Machbase Web Anlaytics)상에서 차트를 생성해서 편리하게 모니터링할 수 있다.


1) MWAserver 구동


리눅스 console 화면에서 아래 명령어로 MWAserver 를 구동한다.


MWAserver start

 


2) 웹브라우져로 접속


MWAserver 가 구동되면 크롬 웹브라우져에서 해당 서버의 IP와 5001 PORT 번호로 접속한다.


로그인 아이디는 admin 이고 비밀번호는 machbase 이다.


http://server_ip_address:5001/


 


3) Tag View 메뉴 클릭


로그인 이후 화면에서 표시되는 상단의 메뉴중에 "Tag View" 메뉴를 클릭한다.


 


4) Tag View 화면은 액션 버튼이나 아이콘들은 직관적으로 이해할 수 있지만, 몇가지 주요한 사항을 설명한다.


챠트영역에 있는 + 아이콘 클릭해서 Tag별 chart 생성할 수 있는 팝업창이 표시되고 Tag 를 선택해서 챠트를 생성할 수 있다.



 


5) 챠트 설정 화면


챠트 패널에서 설정 아이콘 메뉴를 클릭하면 아래의 챠트 설정 화면으로 이동한다.



챠트 설정 화면에는 General, Datas, Axes, Display, Time range 5개 탭으로 구성되어 있다.


탭 메뉴 기능 설명
General 챠트 타이틀 변경, 챠트 크기 변경
Datas 태그 추가/변경, 태그 집계 함수 변경
Axes X축, Y축 스케일 변경
Display 레전드 표시, 선/점 그래프 설정, 챠트 테두리선 색상 변경
Time range 챠트의 시간 범위 설정


점(dot) 그래프 작성하는 방법


Diplay 탭에서 디폴트값은 선 그래프이지만 점 그래프를 설정할 수 있는데 그 방법은 다음과 같다.


- Show data points 의 선택박스를 체크한다.
- Opacity of fill area 값을 0 으로 변경한다.
- Line thickness 값을 0 으로 변경한다.
- Point radius 값을 변경하면 점의 크기가 변경된다.
- 값을 변경하면 좌상단의 v 아이콘 색상이 빨간색으로 변경되는데 클릭하면 그래프에 적용된다.


문의사항은 기술지원 이메일로 연락하면 된다. (support@machbase.com)


 


http://www.machbase.com/download


Contact the Machbase team with your questions!
info@machbase.com

전체 24
번호 제목 작성자 작성일 추천 조회
24
마크베이스 V5 : Tutorial 6 (RestAPI with curl)
machbase | 2018.09.18 | 추천 1 | 조회 116
machbase 2018.09.18 1 116
23
마크베이스(Machbase) Tag Analyzer 사용법
machbase | 2018.08.27 | 추천 1 | 조회 166
machbase 2018.08.27 1 166
22
마크베이스 5.0 : Tutorial 4 (실제 데이터를 통한 Tag Analyzer 기초 활용)
machbase | 2018.08.27 | 추천 1 | 조회 130
machbase 2018.08.27 1 130
21
마크베이스 5.0 : Tutorial 5 (Tag Table with RestAPI)
machbase | 2018.08.24 | 추천 0 | 조회 134
machbase 2018.08.24 0 134
20
Machbase 5.0 : 센서데이터 홍수의 유일한 해결책
machbase | 2018.08.21 | 추천 1 | 조회 325
machbase 2018.08.21 1 325
19
마크베이스 5.0 : Tutorial 3 (Real Time Stream Insert : Many Sensors)
machbase | 2018.08.20 | 추천 0 | 조회 221
machbase 2018.08.20 0 221
18
마크베이스 5.0 : Tutorial 2 (Batch Loading : Many Sensors)
machbase | 2018.08.17 | 추천 0 | 조회 170
machbase 2018.08.17 0 170
17
마크베이스 5.0 : Tutorial 1 (Quick Start)
machbase | 2018.08.17 | 추천 0 | 조회 259
machbase 2018.08.17 0 259
16
마크베이스 5.0
machbase | 2018.08.16 | 추천 0 | 조회 342
machbase 2018.08.16 0 342
15
Machbase 5.0 TAG Table 사용법
machbase | 2018.08.10 | 추천 1 | 조회 212
machbase 2018.08.10 1 212