⚠️ Arşiv Notu: Bu sayfa aktif akışın ana referansı değildir; geçmiş tasarım/bağlam için korunur.
Bu sayfa Cınga veri işleme mimarisindeki tabloları tam şema düzeyinde toplar. Amaç, geliştirme sırasında “hangi alan hangi tabloda” sorusunu tek yerden cevaplayabilmektir.
1) streams
| Kolon | Tip | Not |
|---|
id | bigint PK | Otomatik artan |
device_id | varchar(21) FK | devices.id |
command_id | integer FK | opsiyonel |
iccid | varchar(25) FK | sims.iccid |
ip_address | varchar(16) | opsiyonel |
size | integer | opsiyonel |
process_time | double precision | opsiyonel |
device_time | timestamptz | zorunlu |
stream_time | timestamptz | zorunlu |
2) measurements (EAV)
| Kolon | Tip | Not |
|---|
id | bigint PK | |
stream_id | bigint FK | streams.id |
variable_id | varchar(30) FK | variables.id |
value | double precision | |
calibrated | boolean | default false |
synthesized | boolean | default false |
create_time | timestamptz | default now |
3) variables ve variable_segments
variable_segments
| Kolon | Tip | Not |
|---|
id | integer PK | |
name | varchar(100) UNIQUE | |
description | varchar(255) | opsiyonel |
create_time | timestamptz | |
update_time | timestamptz | |
variables
| Kolon | Tip | Not |
|---|
id | varchar(30) PK | değişken kodu |
description | varchar(255) | |
unit | varchar(10) | |
segment_id | integer FK | variable_segments.id |
create_time | timestamptz | |
update_time | timestamptz | |
4) Enerji Ham Segment Tabloları
Aşağıdaki dört tablo aynı ortak çekirdeği kullanır:
id, stream_id (UNIQUE), device_id, device_time, stream_time, ingest_version, quality_flags, created_at.
energy_voltage_measurements
| Kolonlar |
|---|
va, vb, vc |
va_rms, vb_rms, vc_rms, vt_rms |
vfund_a, vfund_b, vfund_c |
vharm_a, vharm_b, vharm_c |
freq |
opsiyonel: va_rms_min/max, vb_rms_min/max, vc_rms_min/max, freq_min/max |
opsiyonel harmonikler: v_h3_*, v_h5_*, v_h7_*, v_h9_* |
energy_current_measurements
| Kolonlar |
|---|
ia, ib, ic |
ia_peak, ib_peak, ic_peak |
ia_rms, ib_rms, ic_rms, it_rms |
ifund_a, ifund_b, ifund_c |
iharm_a, iharm_b, iharm_c |
opsiyonel: ia_rms_min/max, ib_rms_min/max, ic_rms_min/max |
opsiyonel harmonikler: i_h3_*, i_h5_*, i_h7_*, i_h9_* |
energy_power_measurements
| Kolonlar |
|---|
qfund_a, qfund_b, qfund_c |
qharm_a, qharm_b, qharm_c |
watt_a, watt_b, watt_c, watt_t |
var_a, var_b, var_c, var_t |
va_a, va_b, va_c, va_t |
pfund_a, pfund_b, pfund_c |
pharm_a, pharm_b, pharm_c |
vafunda, vafundb, vafundc |
pfa, pfb, pfc, pf_t |
tempc |
energy_energy_measurements
| Kolonlar |
|---|
wha_pos, wha_neg, whb_pos, whb_neg, whc_pos, whc_neg |
varha_pos, varha_neg, varhb_pos, varhb_neg, varhc_pos, varhc_neg |
opsiyonel: delta_wh_total, delta_varh_total |
opsiyonel: counter_reset_flag, counter_rollover_flag |
5) Sentez Çıktı Katmanı
Sentez persist şeması bu aşamada bölüm-dokümanında (/architecture/synthesis) yönetilir.
Bu sayfada nihai konsolidasyon en sonda yapılacaktır.
6) energy_windows
| Kolon | Tip | Not |
|---|
id | bigint PK | |
device_id | varchar(21) | |
variable_id | varchar(30) | |
window_type | varchar(16) | 1D, 1W, 1M, 1D_Last, 1W_Last, 1M_Last |
window_start, window_end | timestamptz | |
anchor_time | timestamptz | rolling hizalama |
finalized | boolean | |
calc_version | integer | |
sample_count, expected_sample_count | integer | |
completeness_ratio | double precision | |
quality_flags | jsonb | |
sum, sum_sq, min, max, mean, stddev | double precision | V1 core |
p10, p50, p90 | double precision | V1 core |
sum_t, sum_v, sum_tv, sum_t2, slope | double precision | V1 core |
first_value, last_value, delta_value | double precision | sayaç değişkenleri |
counter_reset_count, counter_rollover_count | integer | sayaç değişkenleri |
created_at, updated_at | timestamptz | |
Zorunlu Index Özeti
- Segment tablolar:
UNIQUE(stream_id), (device_id, stream_time DESC)
- Synth: detay index seti
/architecture/synthesis sayfasında tanımlıdır
- Windows:
UNIQUE(device_id, variable_id, window_type, window_start), (device_id, variable_id, window_type, window_end DESC)