{'fraction_non_alphanumeric': 0.011372867587327376, 'fraction_numerical': 0.004061738424045491, 'mean_word_length': 4.951690821256038, '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}}
Object Placement in Shared Nothing Architecture

Effective data placement is crucial to the performance of any parallel database system as it is an important lever for load balancing. In this paper we describe and explain a two-phased approach to the placement of objects in a shared-nothing model of a parallel object oriented database with page grain caching. The first phase is a declustering phase in which a greedy similarity graph partitioning algorithm is used to assign objects into nodes of the shared-nothing system. The aim of the first phase is to minimise internode traversals and maximise parallelism. Once assigned to nodes, the second phase attempts to cluster objects residing at each node into pages with the aim of reducing occurrence of remote page requests. Therefore, objects that are likely to be accessed by another remote node are clustered together. Both phases use query frequency distribution information to decide the placement of objects. We implemented this two phased approach on the Fujitsu AP1000 with a slightly modified OO7 benchmark data set. The results presented in this paper demonstrate that this algorithm was able to reduce remote page loads while preserving a high degree of parallelism.