{'fraction_non_alphanumeric': 0.015440508628519528, 'fraction_numerical': 0.0036330608537693005, 'mean_word_length': 5.406976744186046, '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}}
A Hybrid Partitioning Strategy for NewSQL Databases: The VoltDB Case

Several application domains deal with the management of massive data volumes and thousands of OLTP transactions per second. Traditional relational databases cannot cope with these requirements. NewSQL is a new generation of databases that provides both high scalability and availability and ACID properties support. Besides, it is a promising solution to handle these application data management needs. Although data partitioning is an essential feature for tuning relational databases, stills an open issue for NewSQL systems. In this paper, we propose a hybrid partitioning approach for NewSQL databases that allows the user to define the vertical and horizontal data partitions. In order to determine what site will store each data fragment, we propose a hash function that considers schema information and data access statistics. Our experimental evaluation compares our hybrid VoltDB version against the standard VoltDB. The results highlight that our strategy increases the number of single-site transactions from 37% to 76%.