{'fraction_non_alphanumeric': 0.011851015801354402, 'fraction_numerical': 0.0, 'mean_word_length': 5.767175572519084, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Maintaining temporal consistency in data intensive applications

Recently, there is an increasing number of applications that require support for real-time processing of rapidly arriving data streams. The high volume and fast arrival rate make it infeasible to install every data item of a stream into the database. In this study, we assume transactions running over data streams execute periodically to produce new results as temporal data to be installed into the database. We call these transactions continuous transactions. They resemble continuous queries in data stream management systems plus reading non-temporal data for creating and writing temporal data. Continuous transactions are continuous, standing and persistent with pre-declared data access pattern. Conventional real-time concurrency control protocols are not designed for systems with both continuous transactions and user transactions without prior knowledge of data access pattern. We need to ensure that user transactions can read fresh data and commit before their deadlines. On the other hand, we need to issue sufficient privilege for continuous transactions to keep temporal data fresh without violating database consistency and significantly affecting the performance of user transactions. Two new time-cognizant forced wait protocols are proposed tohandle the interplay between these two types of transactions with different characteristics. These protocols are evaluated through a series of simulation experiments. We have demonstrated that taking advantage of continuous transaction and temporal data semantics in transaction scheduling can significantly improve the performance of user transactions without jeopardizing the freshness of temporal data maintained by continuous transactions.