Available The first release of the data caching system in the operational memorial Dragonfly , providing support for the protocols of Memcache and Redis, but allows you to execute requests with much higher performance and less memory consumption. The system manipulates data in the key/value format and can be used as a lightweight solution to accelerate the operation of highly loaded sites, caching slow requests to the DBMS and intermediate data in RAM. Dragonfly code is written in C/C ++ and subject under the license bsl (Business Source License).
BSL license was offered by MySQL co -founders as an alternative to the Open Core model. The essence of the BSL is that the code of expanded functionality is initially available for changes, but for some time it can be used free of charge only subject to additional conditions, which bypassing which the purchase of a commercial license is required. Additional licensing conditions of the Dragonfly project prescribe the transfer of code to the Apache 2.0 license only on June 1, 2027. Until that time, the license allows the use of code only to ensure the operation of their services and products, but prohibits the use for creating paid cloud services acting as a superstructure over Dragonfly.
, at the request of the developers and the demonstrated tests, Dragonfly claims the title of the fastest storage system in memory. Compared to Redis in Dragonfly with typical types of load, it was possible to achieve a 25-fold increase in performance and a three-fold decrease in memory consumption. One Dragonfly server can process millions of queries per second, for example, surrounded by Amazon EC2 C6GN.16XLARGE, managed to reach 3.8 million requests per second.
In storage of 5 GB of data, Dragonfly required 30% less memory than Redis. During the creation of snapshots, the BGSAVE command increases, but in peak moments it remains almost three times less than in Redis, and the Snopshot recording operation itself is performed much faster (in the drama the snapshot in Dragonfly was recorded in 30 seconds, and Redis – in 42 seconds.)
High performance is achieved thanks to multi-flow architecture without separation of resources ( shared-nothing ), implies that for each stream A separate separate processor with its portion of data, working without mittexes and spin-blocking, is tied. To ensure atomicity, when working with several keys, lightweight blocks are used vll . For effective storage of information in the memory, the structure of dashtable