Bitcoin-Core-Development

為什麼 Bitcoin Core 使用 LevelDB 而不是 Redis 或 SQLite?

  • October 23, 2020

為什麼 Core 從 移動BDBLevelDB?他們為什麼不使用SQLite或搬到Redis現在?這種選擇有技術原因嗎?

Redis 和 LevelDB 解決了非常不同的問題。我們嘗試使用 SQLite,但它的性能非常糟糕。

比特幣核心需要一個數據庫來儲存一組未使用的交易輸出(UTXO)。這意味著我們需要快速簡單的讀取和快速批量的隨機更新。

我們不需要伺服器/客戶端架構,因為無論如何我們不能讓多個應用程序同時訪問數據庫:數據庫中的不一致會導致分叉風險(網路中的每個節點都需要對什麼做出完全相同的判斷有效和無效)。

引用自:https://bitcoin.stackexchange.com/questions/48959