Benchmarking Time Series Database Management Systems
Budget: €30 – €250 EUR
With the emergence of IoT, time series data collected from sensors needs to be stored and managed using dedicated systems. Thus, the use of NoSQL Time Series Database Management Systems (TSDBMSes) has seen an increased usage to handle IoT data in the last years. This Topic aims to create a new benchmark for TSDBMSes. The benchmark should test the performance of several key TSDBMSes with regards to workload, throughput, filtering, aggregation, and indexing.
TSDBMSes: InfluxDB, Prometheus, OpenTSDB, TimescaleDB, Kdb+, FaunaDB.
Implementation Language: Native DB Query Language.
1. Choose a data set that has a large number of records (in the hundreds of thousands / millions)
2. Propose a logical scheme for data storage (Relationship entity diagram)
3. Create the physical schema for 6 management systems that reflect the logical schema.
4. Propose a set of queries / operations (from simple to complex) formally presented (usually in relational algebra): generally INSERT, SELECT, UPDATE, DELETE operations.
5. Define the scaling factor (ie the large data set is divided into subsets, usually one-eighth, one-quarter, one-half and the whole data set is used for testing)
6. Write queries in the native language of each database management system to avoid latency
7, Calculate the selectivity and complexity of SELECT requests
8. Execute each request on each subset of the dataset 10 times and keep the execution time
9. Compare the mean time and standard deviation between systems.
TSDBMSes: InfluxDB, Prometheus, OpenTSDB, TimescaleDB, Kdb+, FaunaDB.
Implementation Language: Native DB Query Language.
1. Choose a data set that has a large number of records (in the hundreds of thousands / millions)
2. Propose a logical scheme for data storage (Relationship entity diagram)
3. Create the physical schema for 6 management systems that reflect the logical schema.
4. Propose a set of queries / operations (from simple to complex) formally presented (usually in relational algebra): generally INSERT, SELECT, UPDATE, DELETE operations.
5. Define the scaling factor (ie the large data set is divided into subsets, usually one-eighth, one-quarter, one-half and the whole data set is used for testing)
6. Write queries in the native language of each database management system to avoid latency
7, Calculate the selectivity and complexity of SELECT requests
8. Execute each request on each subset of the dataset 10 times and keep the execution time
9. Compare the mean time and standard deviation between systems.