Hi,

I'm very new with and trying out cassandra. I have couple of question
regarding the design of the database.

We have an API to store time series sensor data in millisecond precision.
user can do CRUD operation through the Restful API. When user retrieve
data, by default they can specify `start_date` and `end_date` which is an
epoch time stamp.

every GET request are paginated with maximum 1000 item per-page. Also user
can specify interval of data in one of (604800 (1 week), 86400 (1 day),
3600 (1 hr), 1800 (30 min), 600 (10 min), 300 ( 5 min), and 60 (1 min))

My initial design is
1. a table for stroing row data
2. table for each sensor interval
3. sensor as row
4. timestamp as column

but the current problem is about deletion of data. let say that i have
store 120 data point, 1 point every second for 2 minute. the interval is
populated with the last data point received on that interval.
this mean:

120 column on raw table
2 column on of the '1 min' interval table
1 column on other interval table.

let say that I delete one data point, this mean that I have to get all
interval data where the point belongs to and also get raw data around the
deleted point to either update or remove the data on the interval table.

also we support delete data with time range, then this will be more complex
operation probably.

Is this design correct or maybe there is a better design for modeling the
data ?



Ahmy Yulrizka
http://ahmy.yulrizka.com
@yulrizka

Reply via email to