measurements_register
measurements_register, ölçüm anında cihazdan gelen register alanlarını ayrı bir segmentte saklar. Bu segment, measurements_device bölümünün tamamlayıcısıdır ve register değerlerini stream bağlamında izlenebilir hale getirir.
Bu tablo ham payload içermez. Buradaki değerler accepted stream'e bağlı register snapshot bilgisidir. Register map proje bazında değişebilir; Qapu için örnek register map project-qapu/backend/status-register/index.mdx altında görülebilir.
FK Davranis Notlari
| FK | ON DELETE | ON UPDATE | Not |
|---|---|---|---|
measurements_register.stream_id -> streams.id | CASCADE | CASCADE | Typed olcum tablosu stream ile atomik yasar; ebeveyn stream silinirse kayitlar yetim kalmaz. |
Kolonlar
| Kolon | Tip | Null | Anlamı |
|---|---|---|---|
stream_id | int | hayır | Bu register kaydının ait olduğu accepted stream; aynı zamanda birincil anahtar |
device_id | varchar(21) | hayır | Cihaz kimliği |
sequence_no | int | evet | Cihaz sequence alanı varsa |
device_time | timestamp | hayır | Ölçüm zamanı |
sample_period_sec | int | hayır | Örnekleme periyodu (DEFAULT: 0) |
is_valid | boolean | hayır | Segment seviyesinde geçerlilik (DEFAULT: false) |
register_status | bigint | evet | Son durum register'ı |
register_stop | bigint | evet | Son stop register'ı |
register_publish | bigint | evet | Son publish register'ı |
create_time | timestamp | hayır | Kayıt oluşturulma zamanı |
update_time | timestamp | hayır | Son güncelleme zamanı |
İndeksler
| İndeks | Amacı |
|---|---|
(device_id, device_time) | Bir cihazın zaman bazlı register geçmişini hızlı okumak için |
(device_time) | Zaman penceresi bazlı toplu register sorguları için |
Örnek Kayıtlar
- Cihaz 1
- Cihaz 2
{
"stream_id": 1,
"device_id": "46000000C47CA670",
"sequence_no": 1,
"device_time": "2026-04-03T10:29:50Z",
"sample_period_sec": 900,
"is_valid": true,
"register_status": 5,
"register_stop": 0,
"register_publish": 1,
"create_time": "2026-04-03T10:30:00Z",
"update_time": "2026-04-03T10:30:00Z"
}
Özet: İlk accepted stream için register snapshot yazılmış; cihazın ölçüm anındaki register durumu stream ile birlikte izlenebilir hale gelmiş.
{
"stream_id": 2,
"device_id": "46000000C47CA671",
"sequence_no": 1,
"device_time": "2026-04-03T10:24:55Z",
"sample_period_sec": 900,
"is_valid": true,
"register_status": 6,
"register_stop": 0,
"register_publish": 1,
"create_time": "2026-04-03T10:25:00Z",
"update_time": "2026-04-03T10:25:00Z"
}
Özet: İkinci cihazın register snapshot kaydı da aynı şemada tutulmuş; projeye özel register map'e göre anlamlandırma uygulama katmanında yapılır.