Comparison on Search Failure between Hash Tables and a Functional Bloom Filter

Hash-based data structures have been widely used in many applications. An intrinsic problem of hashing is collision, in which two or more elements are hashed to the same value. If a hash table is heavily loaded, more collisions would occur. Elements that could not be stored in a hash table because o...

Full description

Bibliographic Details
Main Authors: Hayoung Byun, Hyesook Lim
Format: Article
Language:English
Published: MDPI AG 2020-07-01
Series:Applied Sciences
Subjects:
Online Access:https://www.mdpi.com/2076-3417/10/15/5218
_version_ 1797560961932984320
author Hayoung Byun
Hyesook Lim
author_facet Hayoung Byun
Hyesook Lim
author_sort Hayoung Byun
collection DOAJ
description Hash-based data structures have been widely used in many applications. An intrinsic problem of hashing is collision, in which two or more elements are hashed to the same value. If a hash table is heavily loaded, more collisions would occur. Elements that could not be stored in a hash table because of the collision cause search failures. Many variant structures have been studied to reduce the number of collisions, but none of the structures completely solves the collision problem. In this paper, we claim that a functional Bloom filter (FBF) provides a lower search failure rate than hash tables, when a hash table is heavily loaded. In other words, a hash table can be replaced with an FBF because the FBF is more effective than hash tables in the search failure rate in storing a large amount of data to a limited size of memory. While hash tables require to store each input key in addition to its return value, a functional Bloom filter stores return values without input keys, because different index combinations according to each input key can be used to identify the input key. In search failure rates, we theoretically compare the FBF with hash-based data structures, such as multi-hash table, cuckoo hash table, and <i>d</i>-left hash table. We also provide simulation results to prove the validity of our theoretical results. The simulation results show that the search failure rates of hash tables are larger than that of the functional Bloom filter when the load factor is larger than 0.6.
first_indexed 2024-03-10T18:07:44Z
format Article
id doaj.art-03cf5960885741669e62bb5123b12d53
institution Directory Open Access Journal
issn 2076-3417
language English
last_indexed 2024-03-10T18:07:44Z
publishDate 2020-07-01
publisher MDPI AG
record_format Article
series Applied Sciences
spelling doaj.art-03cf5960885741669e62bb5123b12d532023-11-20T08:19:31ZengMDPI AGApplied Sciences2076-34172020-07-011015521810.3390/app10155218Comparison on Search Failure between Hash Tables and a Functional Bloom FilterHayoung Byun0Hyesook Lim1Department of Electronic and Electrical Engineering, Ewha Womans University, Seoul 03760, KoreaDepartment of Electronic and Electrical Engineering, Ewha Womans University, Seoul 03760, KoreaHash-based data structures have been widely used in many applications. An intrinsic problem of hashing is collision, in which two or more elements are hashed to the same value. If a hash table is heavily loaded, more collisions would occur. Elements that could not be stored in a hash table because of the collision cause search failures. Many variant structures have been studied to reduce the number of collisions, but none of the structures completely solves the collision problem. In this paper, we claim that a functional Bloom filter (FBF) provides a lower search failure rate than hash tables, when a hash table is heavily loaded. In other words, a hash table can be replaced with an FBF because the FBF is more effective than hash tables in the search failure rate in storing a large amount of data to a limited size of memory. While hash tables require to store each input key in addition to its return value, a functional Bloom filter stores return values without input keys, because different index combinations according to each input key can be used to identify the input key. In search failure rates, we theoretically compare the FBF with hash-based data structures, such as multi-hash table, cuckoo hash table, and <i>d</i>-left hash table. We also provide simulation results to prove the validity of our theoretical results. The simulation results show that the search failure rates of hash tables are larger than that of the functional Bloom filter when the load factor is larger than 0.6.https://www.mdpi.com/2076-3417/10/15/5218Bloom filterhash tablefunctional Bloom filterkey-value data structuresearch failureload factor
spellingShingle Hayoung Byun
Hyesook Lim
Comparison on Search Failure between Hash Tables and a Functional Bloom Filter
Applied Sciences
Bloom filter
hash table
functional Bloom filter
key-value data structure
search failure
load factor
title Comparison on Search Failure between Hash Tables and a Functional Bloom Filter
title_full Comparison on Search Failure between Hash Tables and a Functional Bloom Filter
title_fullStr Comparison on Search Failure between Hash Tables and a Functional Bloom Filter
title_full_unstemmed Comparison on Search Failure between Hash Tables and a Functional Bloom Filter
title_short Comparison on Search Failure between Hash Tables and a Functional Bloom Filter
title_sort comparison on search failure between hash tables and a functional bloom filter
topic Bloom filter
hash table
functional Bloom filter
key-value data structure
search failure
load factor
url https://www.mdpi.com/2076-3417/10/15/5218
work_keys_str_mv AT hayoungbyun comparisononsearchfailurebetweenhashtablesandafunctionalbloomfilter
AT hyesooklim comparisononsearchfailurebetweenhashtablesandafunctionalbloomfilter