5.1.0 버전에서 추가된 기능과 개선된 이슈를 정리한 릴리즈 노트입니다.

작성 중입니다.


추가된 기능

중요한 순으로 기재합니다.


APPEND Tagdata : TAGNAME 이 저장되어 있지 않다면, 자동 생성

TAGDATA TABLE APPEND 할 때, TAGNAME 이 저장되어 있지 않은 경우에는 자동으로 TAGNAME 을 생성해서 Tag 데이터의 APPEND 를 속행할 수 있습니다.

제어할 수 있는 Property 는 TAGDATA_AUTO_NAME_INSERT_IN_APPEND 이며, 기본값은 1 (켜짐) 입니다.

CREATE TAGDATA TABLE TAG (name VARCHAR(20) PRIMARY KEY, time DATETIME BASETIME, value DOUBLE SUMMARIZED);
INSERT INTO TAG METADATA VALUES ('TAG-A');


-- 아래 데이터를 APPEND 로 입력할 때엔, TAG-B 는 저장되어 있지 않지만 입력이 성공한다.
-- ('TAG-B', '2019-03-01 01:23:45', 36.5)


현재는 APPEND 에서만 지원되며, INSERT 는 추후 패치를 통해 지원될 예정입니다.


Disk Full 발생 시 알람 기능

마크베이스 서버가 위치한 디스크의 가용 공간의 일정 부분까지만 사용할 수 있습니다.

제어할 수 있는 Property 는 DISK_USED_RATIO_CAP 이며, 기본값은 0 (무제한) 입니다.


INSERT INTO Tagdata : Bind Variable 지원

INSERT INTO 구문에 Bind Variable 을 사용해서 입력이 가능해졌습니다.

    if (SQLPrepare(sStmt, 
                   (SQLCHAR *)"INSERT INTO TAG VALUES (?, '2010-01-01', 1.0)", 
                   SQL_NTS) == SQL_ERROR) {
        printf("Prepare error\n");
    }

    if (SQLBindParameter(sStmt,
                         1,
                         SQL_PARAM_INPUT,
                         SQL_C_CHAR,
                         SQL_VARCHAR,
                         0,
                         0,
                         tagnameData,
                         0,
                         &tagnameDataSize) == SQL_ERROR) {
        printf("Bind error tag name");
    }


DURATION 절에 Bind Variable 지원

SELECT 구문의 DURATION 절에도 Bind Variable 이 지원됩니다.

    if (SQLPrepare(sStmt, 
                   (SQLCHAR *)"SELECT * FROM tab1 DURATION ? SECOND", 
                   SQL_NTS) == SQL_ERROR) {
        printf("Prepare error\n");
    }

    if (SQLBindParameter(sStmt,
                         1,
                         SQL_PARAM_INPUT,
                         SQL_C_UBIGINT,
                         SQL_INTEGER,
                         0,
                         0,
                         &sSecond,
                         0,
                         NULL) == SQL_ERROR) {
        printf("Bind error tag name");
    }


Trace Log Level 추가

$MACHBASE_HOME/trc/machbase.trc 에 출력되는 로그의 레벨을 조정할 수 있는 Property 를 추가합니다.

제어할 수 있는 Property 는 TRACE_LOG_LEVEL 이며, 기본값은 0 입니다.


Cluster Edition : DDL 실패 시, 성공한 Node 만으로 Cluster 서비스를 계속함

부분적으로 몇몇 Node 가 DDL 이 실패하게 되면, Cluster 전체가 서비스를 못 하는 상황이 발생했었습니다.
이제는 DDL 이 실패하더라도, 성공한 Node 만으로 Cluster 서비스를 계속하도록 수정했습니다.

실패한 Node 는 DDL-incompleted 상태가 되며, 별도 조치가 필요하거나 Remove-Node 로 삭제해야 합니다.


Tag Analyzer : 고정 X축 간격 설정

Zoom 을 할 때 마다 X축의 간격이 자동으로 설정되었는데, 이를 고정할 수 있습니다.



DELETE Log : 자동 DELETE 기능

아래의 CREATE TABLE 구문과 같이, 입력 시점에 특정 조건을 만족하는지 확인한 후 DELETE 를 자동으로 수행하는 기능을 제공합니다.

-- '입력 시점'에 다음을 검사한다.
--   >> 최근 삭제 시점보다 1시간 이상 경과한 경우, 최근 2일치를 제외한 모든 레코드를 삭제한다.
CREATE TABLE t1 (...) KEEP 2 DAY AFTER APPEND INTERVAL 1 HOUR;

DELETE Log :  DELETE 가 이미 진행 중인 경우 추가 DELETE 작동 중단

DELETE 구문이 여러 개 동시에 수행시켜도 순차적으로 진행되므로, 성능만 저하되고 아무런 효과가 없습니다.
따라서 동일한 테이블에 DELETE 가 이미 진행 중이라면 추가로 입력되는 DELETE 는 곧바로 에러 메시지를 반환합니다.


Cluster Edition : 호스트 자원 모니터링 기능

추가 바람



개선된 이슈

반영된 순으로 기재합니다.

Common

모든 서버 제품 적용되는 이슈 사항입니다.

Cluster Edition

Cluster Edition 에 적용되는 이슈 사항입니다.

MWA / Tag Analyzer

마크베이스 웹 관리자에 적용되는 이슈 사항입니다.


Client Library

클라이언트 라이브러리에 적용되는 이슈 사항입니다.


잘 모르겠소요