Abstract |
Real-Time systems often stores aggregated numeric data, say average of 15 minutes, into the database. Retrieving information for historical playback is only limited to what was stored. This technique seems to be acceptable especially if the real-time system is deployed in the cloud using Infrastructure-as-a-Service (IaaS) or Platform-as-a-Service(PaaS). More data means more storage, and more storage means more payment. Because of this, the need to retrieve for more detailed historical data cannot be facilitated.
In this paper, a new data structure for storing real-time data with less storage requirement was developed -- Binary Cycle String. Tests showed that Binary Cycle Strings only require 2,678,784 bytes, compared to 39,845,888 bytes for the same 1,000,000 numeric samples, a 93.3$%$ storage savings. However, numeric data are much faster to access than Binary Cycle Strings. For 1,000,000 numeric readings stored as Binary Cycle Strings, it takes 19,983 microseconds to access, while storing them as numeric will only take 2,450 microseconds to retrieve. It is then recommended to use Binary Cycle Strings for detailed historical retrieval, and retain the aggregated numeric data for long-term historical retrieval. |