데이터베이스 모델
게이트웨이가 데이터를 어디에 무슨 모양으로 담는지 정리한 문서입니다. 보존 기간을 조정하거나, 디스크가 차거나, 직접 조회해야 할 때 봅니다.
Edge 는 자기 데이터를 로컬 Cassandra(127.0.0.1:9042, 키스페이스 PE)에 담습니다.
상위 플랫폼의 Cassandra(pp)와는 다른 것입니다 — 게이트웨이가 끊겨도 혼자 수집을
계속하기 위한 자기 저장소입니다.
테이블은 11개뿐이고 두 갈래로 나뉩니다.
| 접두사 | 뜻 |
|---|---|
APP_ | 설정 — 무엇을 수집할지 |
TM_ | 시계열·운영 기록 — 수집한 것과 그 과정 |
APP_ — 수집 설정
화면(연결 · 태그)에서 만든 것이 그대로 여기 들어갑니다.
| 테이블 | 담는 것 |
|---|---|
APP_OPC | 연결 정의 — OPC_ID · 이름 · 프로토콜(OPC_TYPE) · 대상 IP/포트 · 수집 주기(TIMECYCLE) · 자동 수집 여부 |
APP_TAG | 태그 정의 — 읽을 주소와 자료형 |
시계열은 다시 모으면 되지만 설정은 사람이 만든 것이라 복구할 방법이 없습니다. 백업에서 이 두 테이블을 빠뜨리지 마세요 → 백업.
TM_ — 수집한 값과 운영 기록
| 테이블 | 담는 것 |
|---|---|
TM_TAG_POINT | 원시 수집값 — 이 저장소의 본체 |
TM_TAG_POINT_ARCHIVE | 보관용 사본 |
TM_TAG_ERROR | 태그 단위 수집 오류 |
TM_TAG_STAT | 태그별 통계 |
TM_TAG_WRITE | 쓰기(제어) 이력 |
TM_OPC_STAT | 연결별 통계 |
TM_PLC_PING | 대상 장비 응답 확인 이력 |
TM_MONITOR | 게이트웨이 자원·상태 |
TM_API_LOG | REST API 호출 기록 |
TM_TAG_POINT 의 모양
PRIMARY KEY (TAG_ID, TIMESTAMP)
WITH CLUSTERING ORDER BY (TIMESTAMP DESC)
| 성질 | 값 |
|---|---|
| 파티션 키 | TAG_ID — 태그 하나가 파티션 하나 |
| 클러스터링 | TIMESTAMP 내림차순 — 최신부터 읽는다 |
| 컬럼 | VALUE · QUALITY · ERROR_CODE · TYPE · ATTRIBUTE(맵) |
| Compaction | TimeWindowCompactionStrategy, 10분 윈도우 |
게이트웨이는 「쓰고, 잠깐 읽고, TTL 로 버린다」가 전부입니다. 시간 창 단위로 SSTable 을 묶어 두면 만료된 창을 통째로 버릴 수 있어 압축 비용이 거의 들지 않습니다.
보존 기간 — 숫자가 두 곳에 있습니다
scheme.cql 의 default_time_to_live 는 30일(2592000초)이지만, 기동할 때
app.properties 의 edge.ttl 값으로 테이블 TTL 을 ALTER TABLE 해 덮어씁니다.
출하 기본값은 edge.ttl = 60(일) 이므로, 실제 보존은 60일입니다.
스키마 파일만 보고 30일이라고 판단하지 마세요.
바꾸려면 edge.ttl 을 고치고 재시작합니다.
cd /opt/kopens/plantpulse-edge/bin
./config.sh --get edge.ttl
./config.sh --set edge.ttl 90
./config.sh --restart # 기동 시 ALTER TABLE 로 반영된다
TTL 을 줄이면 그보다 오래된 데이터는 다음 compaction 에서 회수됩니다. 되돌릴 수 없습니다. 디스크가 급해서 줄이는 경우라면, 줄이기 전에 필요한 구간을 상위 플랫폼으로 올렸는지 확인하세요.
디스크가 찰 때
용량은 태그 수 × 수집 주기 × 보존일 로 결정됩니다. 셋 중 하나를 줄여야 합니다.
| 손댈 곳 | 방법 |
|---|---|
| 보존일 | edge.ttl 을 줄인다 (위 참조) |
| 수집 주기 | 연결의 TIMECYCLE 을 늘린다 — 초 단위 수집이 정말 필요한 태그만 남긴다 |
| 태그 수 | 안 쓰는 태그의 자동 수집을 끈다 |
진단은 진단 을 보세요.
관련 문서
- 백업 — 무엇을 받아야 하는가
- app.properties 가이드 —
edge.ttl을 비롯한 키 - 모니터링
- 포인트 검색 — 화면에서 시계열 조회하기