{'fraction_non_alphanumeric': 0.01729818780889621, 'fraction_numerical': 0.0, 'mean_word_length': 5.712707182320442, '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}}
Data Clustering for Autonomic Application Replication

This thesis has been realized in the context of GlobeDB, a system for hosting Web applications that can automatically replicate application data and maintain distributed consistency. GlobeDB adopts partial replication to reduce the network latency and traffic, and adopts data clusters to reduce the overhead of fine-grained replication. However, GlobeDB only proposed a naive clustering algorithm, which was a bottleneck to the system’s performance. This thesis discusses the issue of data clustering in GlobeDB. The main challenges include evaluating the quality of clusters, selecting a clustering algorithm, and deciding on a suitable number of clusters. We systematically study various clustering algorithms and proposed some new algorithms. Experiments prove that the new algorithms can efficiently improve the performance of GlobeDB. We also propose criteria to select the best clustering algorithm and parameters according to the situation. In addition, we found that reclustering periodically can improve performance compared with non-reclustering strategy, and the best reclustering period is based on the stability of application data’s popularity.