내 응용 프로그램은 CrateDB에 성능 시계열 데이터를 저장하고 설정 권한을 얻으려면 몇 가지 질문이 있습니다. 하루에 약 72M 개의 레코드가되므로 제대로 조정해야합니다. :) 내 목표는 Grafana와 결과 데이터를 시각화하는 것입니다 현재 내가 마음에 다음과 같은 구조를 가지고 :CrateDB에 성능 데이터를 저장하는 가장 좋은 방법은 무엇입니까?
CREATE TABLE metrics (
ts TIMESTAMP,
hostname STRING,
servicename STRING,
perfdata OBJECT(DYNAMIC)
)
// for example
{
"hostname": "localhost",
"servicename": "ping",
"timestamp": 1483699527,
"perfdata": {
"rta": {
"current": 0.5,
"unit": "ms",
"warn": 100,
"critical": 200
},
"pl": {
"current": 0,
"unit": "%",
"warn": 10,
"crit": 20
}
}
}
중요한 비트는 호스트 -/서비스 이름, 메트릭의 이름과 값 및 타임 스탬프됩니다. 대체 스키마가 될 수도 있습니다.
CREATE TABLE metrics (
ts TIMESTAMP,
hostname STRING,
servicename STRING,
metric OBJECT(DYNAMIC) AS (
unit STRING,
name STRING,
value DOUBLE,
)
)
데이터를 저장하는 기본 방법은 어느 것입니까? 파티셔닝도 필요합니까? 내 집계는 일반적으로 지난 24 시간 및 드물게 마지막 달을 보여줍니다.
감사합니다!