124 lines
3.2 KiB
Plaintext
124 lines
3.2 KiB
Plaintext
|
model accounting_rollup (
|
||
|
key node_id start_time
|
||
|
index ( fields start_time )
|
||
|
|
||
|
field node_id blob
|
||
|
field start_time timestamp
|
||
|
field put_total int64
|
||
|
field get_total int64
|
||
|
field get_audit_total int64
|
||
|
field get_repair_total int64
|
||
|
field put_repair_total int64
|
||
|
field at_rest_total float64
|
||
|
field interval_end_time timestamp ( updatable, nullable )
|
||
|
)
|
||
|
|
||
|
// --- storage node accounting tables --- //
|
||
|
|
||
|
model storagenode_bandwidth_rollup (
|
||
|
key storagenode_id interval_start action
|
||
|
|
||
|
index (
|
||
|
name storagenode_bandwidth_rollups_interval_start_index
|
||
|
fields interval_start
|
||
|
)
|
||
|
|
||
|
field storagenode_id blob
|
||
|
field interval_start timestamp
|
||
|
field interval_seconds uint
|
||
|
field action uint
|
||
|
|
||
|
field allocated uint64 ( updatable, nullable, default 0 )
|
||
|
field settled uint64 ( updatable )
|
||
|
)
|
||
|
|
||
|
create storagenode_bandwidth_rollup()
|
||
|
|
||
|
read all (
|
||
|
select storagenode_bandwidth_rollup
|
||
|
where storagenode_bandwidth_rollup.storagenode_id = ?
|
||
|
where storagenode_bandwidth_rollup.interval_start = ?
|
||
|
)
|
||
|
|
||
|
read paged (
|
||
|
select storagenode_bandwidth_rollup
|
||
|
where storagenode_bandwidth_rollup.interval_start >= ?
|
||
|
)
|
||
|
|
||
|
read paged (
|
||
|
select storagenode_bandwidth_rollup
|
||
|
where storagenode_bandwidth_rollup.storagenode_id = ?
|
||
|
where storagenode_bandwidth_rollup.interval_start >= ?
|
||
|
)
|
||
|
|
||
|
model storagenode_bandwidth_rollup_archive (
|
||
|
key storagenode_id interval_start action
|
||
|
|
||
|
index (
|
||
|
name storagenode_bandwidth_rollup_archives_interval_start_index
|
||
|
fields interval_start
|
||
|
)
|
||
|
|
||
|
field storagenode_id blob
|
||
|
field interval_start timestamp
|
||
|
field interval_seconds uint
|
||
|
field action uint
|
||
|
|
||
|
field allocated uint64 ( updatable, nullable, default 0 )
|
||
|
field settled uint64 ( updatable )
|
||
|
)
|
||
|
|
||
|
read paged (
|
||
|
select storagenode_bandwidth_rollup_archive
|
||
|
where storagenode_bandwidth_rollup_archive.interval_start >= ?
|
||
|
)
|
||
|
|
||
|
///////////////////////////////////////
|
||
|
// orders phase2->phase3 rollout table
|
||
|
///////////////////////////////////////
|
||
|
|
||
|
model storagenode_bandwidth_rollup_phase2 (
|
||
|
table storagenode_bandwidth_rollups_phase2 // make the pluralization consistent
|
||
|
|
||
|
key storagenode_id interval_start action
|
||
|
|
||
|
field storagenode_id blob
|
||
|
field interval_start timestamp
|
||
|
field interval_seconds uint
|
||
|
field action uint
|
||
|
|
||
|
field allocated uint64 ( updatable, nullable, default 0 )
|
||
|
field settled uint64 ( updatable )
|
||
|
)
|
||
|
|
||
|
read paged (
|
||
|
select storagenode_bandwidth_rollup_phase2
|
||
|
where storagenode_bandwidth_rollup_phase2.storagenode_id = ?
|
||
|
where storagenode_bandwidth_rollup_phase2.interval_start >= ?
|
||
|
)
|
||
|
|
||
|
model storagenode_storage_tally (
|
||
|
// this primary key will enforce uniqueness on interval_end_time,node_id
|
||
|
// and also creates an index on interval_end_time implicitly.
|
||
|
// the interval_end_time will be the same value for many rows so
|
||
|
// we put that first so we can use cockroachdb prefix compression.
|
||
|
// node_id is also used many times but interval_end_time is more
|
||
|
// repetative and will benefit greater.
|
||
|
key interval_end_time node_id
|
||
|
|
||
|
index ( fields node_id )
|
||
|
|
||
|
field node_id blob
|
||
|
field interval_end_time timestamp
|
||
|
field data_total float64
|
||
|
)
|
||
|
|
||
|
read all (
|
||
|
select storagenode_storage_tally
|
||
|
)
|
||
|
|
||
|
read all (
|
||
|
select storagenode_storage_tally
|
||
|
where storagenode_storage_tally.interval_end_time >= ?
|
||
|
)
|