Home / Companies / Dragonfly / Blog / April 2024

April 2024 Summaries

2 posts from Dragonfly

Filter
Month: Year:
Post Summaries Back to Blog
The blog post discusses the implementation of Bloom filters in Dragonfly, a caching solution. A Bloom filter is a memory-efficient probabilistic data structure used to determine if an element is part of a set. It never yields false negatives but allows for false positive results. In Dragonfly, Bloom filters can be used to prevent cache penetration and build email spam lists. The capacity and error rate of Bloom filters can be configured using the BF.RESERVE command. By leveraging Bloom filters, developers can significantly reduce the load on their cache and database servers when facing cache penetration attacks or building spam filters.
Apr 24, 2024 1,408 words in the original blog post.
Dragonfly is a multi-threaded data store that uses shared-nothing architecture to manage I/O operations and execute data operations in parallel. It addresses the problem of thread synchronization by dividing the dataset into smaller sections called shards, each managed exclusively by one dedicated thread known as a shard-thread. Dragonfly's transactional framework is based on the very lightweight locking (VLL) algorithm, which ensures atomicity and serializability for complex multi-key operations. The system uses intent locks to declare future intentions of acquiring control over resources, allowing transactions to execute out-of-order and reducing unnecessary congestion. This sophisticated yet accessible transactional framework makes Dragonfly an outstanding choice as the backend store for background job processing systems like BullMQ and Sidekiq.
Apr 09, 2024 1,610 words in the original blog post.