- 首頁
- HotKV vs Dragonfly
HotKV vs Dragonfly
正面實測的 Dragonfly 替代方案
兩台伺服器都是多執行緒,也都支援 Redis 協定,因此 Dragonfly™ 替代方案必須在細節上證明值得更換。執行緒如何共用資料、資料如何持久化,以及伺服器內建了什麼。HotKV Ltd 在一台 160 vCPU 的機器上,以相同負載測量了這個 Dragonfly 替代方案與 Dragonfly,並公開每一個數字,包括持平的那一個。
Dragonfly
每個執行緒一個分片
MGET a b cHotKV
一份共用儲存
MGET a b c這個 Dragonfly 替代方案以單一執行個體在一台 160 vCPU 的機器上運行,對照 Dragonfly 2.0.2 時在 12 個指令中的 11 個領先,吞吐量為對方的 2.0x 到 4.4x。HotKV 是針對該 CPU 從原始碼建置。Dragonfly 2.0.2 則以其原版建置運行。在小型機器上差距較小。
隨插即用
改用這個 Dragonfly 替代方案,哪些維持不變
HotKV 實作 Redis 線路協定。從 Dragonfly 搬移通常只需更改主機與認證資訊。核心集合以外的部分請查閱指令參考。
相同的協定
RESP2 與 RESP3,支援 HELLO 協商。HotKV 向用戶端回報 Redis 版本 8.4.0,因此程式庫會據此選擇功能。連線字串、管線、pub/sub 與交易都和現在一樣運作。
相同的用戶端與工具
Redis 與 Valkey 用戶端程式庫、redis-cli、redis-cli --cluster 與 GUI 工具在核心指令上不需更改程式碼即可連到 HotKV。
相同的核心指令
300 個核心指令、Lua 腳本與函式庫,加上您需要時可用的 HotKV 自有指令家族。
$ redis-cli -h <your-hotkv-host> -p 6379 --tls --user app --askpass
> HELLO 3
1# "server" => "hotkv"
2# "version" => "8.4.0"
3# "proto" => (integer) 3
... (另外四個欄位)
> SET session:4821 "same protocol, every core"
OK
> GET session:4821
"same protocol, every core"
> TAG.SET session:4821 tenant:acme # 需要時可用的 HotKV 指令
(integer) 1選擇 Dragonfly 替代方案 的理由
團隊為何尋找 Dragonfly 替代方案
促使團隊尋找 Dragonfly 替代方案 的 Dragonfly 文件化特性,於 2026年10月21日 查核。
無共用的分片
Dragonfly 將鍵空間切分為每個執行緒一個分片。觸及多個分片中鍵的指令,例如 MSET 或 MGET,需要跨執行緒協調。HotKV 讓每個執行緒都在同一份共用儲存上運行。這個差異正是這個 Dragonfly 替代方案的核心。
沒有僅附加檔案
Dragonfly 以時間點快照進行持久化。其文件指出目前不支援 AOF。具備僅附加檔案的 Dragonfly 替代方案補上了這個缺口。HotKV 提供快照與 AOF。
以 BSL 1.1 提供原始碼
Dragonfly 以 Business Source License 1.1 授權。其授權允許在您自己的產品或服務內使用。不允許作為記憶體內資料儲存產品或服務使用,也不允許將 Dragonfly 作為與 DragonflyDB 競爭的託管服務提供。程式碼會在其變更日期轉為 Apache 2.0,就目前的授權文字而言為 2030 年 11 月 1 日。HotKV 是依其自身授權條款的商業軟體。
向量搜尋是內建的,AI 快取則不是
Dragonfly 有向量搜尋。提示詞快取、語意快取、代理記憶體與 LLM 成本追蹤都不是伺服器的一部分。
實測,而非宣稱
這個 Dragonfly 替代方案的實測結果。HotKV vs Dragonfly 2.0.2,同一台機器
HotKV Ltd 在同一台 160 vCPU 的機器上,以單一執行個體逐一運行 HotKV 與 Dragonfly 2.0.2。每一個都獲得相同的負載與全部核心。HotKV Ltd 連同測試方法與原始資料公開了每一個數字。
- 11 共 12 個
- HotKV 對照 Dragonfly 測得最高吞吐量的指令
- 2.0x 至 4.4x
- HotKV 的吞吐量相對於 Dragonfly 的倍數,涵蓋其領先的 11 個指令(MGET 至 INCR)
- PING
- Dragonfly 測得高出 0.6%,在負載產生器的限制範圍內,因此視為持平
HotKV Ltd 針對此 CPU 從原始碼建置 HotKV。Dragonfly 以其原版正式建置運行。兩者都以單一執行個體運行。執行緒數量依各產品文件中的全核心設定,未針對個別產品調校。在核心數少的機器上差距較小。
每秒操作數,3 次各 10 秒執行的中位數。每一對長條都以該指令中較快的伺服器為基準按比例繪製。
* 受網路限制: 此結果受執行個體的網路所限,因此伺服器本身的上限更高。
† 受負載產生器限制: 負載產生器機器的 CPU 使用率超過 85%,因此這是它們的上限,而不是伺服器的上限。
Azure D160alds_v7(AMD EPYC 9V45 (Turin),160 個 vCPU),測量於 2026年10月9日。256 位元組的值,管線深度 30,預先填入 5,000,000 個鍵並以均勻隨機方式讀取。三台專用的負載產生器機器。每台伺服器都單獨以單一執行個體運行,並關閉持久化。每一台都獲得全部核心(Redis 為 128 個 I/O 執行緒,即其最大值)。HotKV Ltd 針對此 CPU 從原始碼建置 HotKV,Dragonfly 則以其原版正式建置運行。 完整測試方法與結果 · 測試工具與原始資料
並列比較
這個 Dragonfly 替代方案與 Dragonfly,逐項功能比較
持平而論
Dragonfly 領先這個 Dragonfly 替代方案之處,或單純不同之處
這個 Dragonfly 替代方案頁面只有在也說明這部分時才有用。
- 在 PING 上,Dragonfly 的測量值比 HotKV 高 0.6%。兩者的負載產生器 CPU 使用率都超過 80%,因此 HotKV Ltd 視為持平。無論如何,表格中都會顯示。
- Dragonfly 的快照與 HotKV 一樣是免 fork 的,而且它自行提供 Prometheus 指標。
- 在 BSL 1.1 下,Dragonfly 可在您自己的產品內免費自行託管,而 Dragonfly Cloud 是成熟的託管服務。作為 Dragonfly 替代方案的 HotKV Cloud 目前為搶先體驗階段。
搬移過來
從 Dragonfly 到這個 Dragonfly 替代方案的四個步驟
切換到 Dragonfly 替代方案在實務上涉及哪些事。
- 1
建立執行個體
在 HotKV Cloud 主控台選擇區域與方案。該執行個體是一台專屬於您的機器,由我們負責佈建、修補與監控。
- 2
將用戶端指向它
沿用您現有的用戶端程式庫。把主機、連接埠與認證資訊從 Dragonfly 改為 HotKV 執行個體。TLS 與密碼驗證從一開始就啟用,並提供 ACL 使用者。使用相同協定的 Dragonfly 替代方案,在核心指令上不需要改動用戶端。
- 3
搬移資料
使用您已熟悉的工具。DUMP 與 RESTORE、MIGRATE,或重放您的寫入都可以,因為 HotKV 實作了這些指令。
- 4
啟用原本缺少的功能
向量搜尋與鍵標籤是所有方案的核心指令。提示詞與語意快取、代理記憶體與 LLM 成本追蹤,在 Performance 及以上方案中是同一台伺服器的指令。不需要模組、sidecar 或第二個服務。這正是 Dragonfly 替代方案應該加上的。
常見問題
關於這個 Dragonfly 替代方案的問題
兩者都是多執行緒。這個 Dragonfly 替代方案有什麼不同?
Dragonfly 給每個執行緒自己的一塊鍵空間分片,因此鍵落在多個分片的指令需要跨執行緒協調。HotKV 讓每個執行緒都在同一份共用儲存上工作,因此多鍵指令與單鍵指令走相同的路徑。
兩者在基準測試中相比如何?
在一台 Azure D160alds_v7 上,以單一執行個體運行,HotKV 對照 Dragonfly 2.0.2 在 12 個指令中的 11 個記錄到最高的中位數吞吐量。倍數從 MGET 的至少 2 倍到 INCR 的至少 4.4 倍。PING 在負載產生器的限制範圍內持平。每一個數字、測試方法與原始資料皆已公開。
HotKV 有 AOF 嗎?
有。HotKV 以快照與僅附加檔案進行持久化。Dragonfly 的文件指出目前不支援 AOF。
我可以不改程式碼就從 Dragonfly 搬移嗎?
兩台伺服器都支援 RESP2 與 RESP3,因此在核心指令上,相同的用戶端程式庫可以連到這個 Dragonfly 替代方案。用 DUMP 與 RESTORE、MIGRATE,或重放您的寫入來搬移資料。核心集合以外的部分請查閱指令參考。
其他比較