{'fraction_non_alphanumeric': 0.012206572769953052, 'fraction_numerical': 0.0, 'mean_word_length': 5.345238095238095, '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}}
Applying genetic algorithms in database partitioning

One popular technique used to enhance database performace is attribute partitioning. Attribute partitioning is the process of subdividing the attributes of a relation and then grouping them into fragments so as to minimize the number of disk access by all transactions. On the other hand, tuple clustering, which is the process of rearranging the order of tuples so that frequently queried tuples are grouped into as few blocks as possible, is mostly ignored. In this paper, we address the need of considering the n-ary attribute partitioning and tuple clustering at the same time in a relational database. A new algorithm is proposed for mixed fragmentation design using genetic algorithm. Java programs have been developed to implement the genetic algorithm for mixed fragmentation and the results are promising. It provides an improvement over previous works which considered vertical partitioning and tuple clustering separately. Comparisons with exhaustive enumeration and random search are also presented.