Почему bitcoind использует вилку LevelDB для хранения ключей?

Так как 0,8 биткойнд использует LevelDB для хранения UTXO в chainstate/ и индекс блока в blocks/index/. В github можно найти специальную ветвь LevelDB:

https://github.com/bitcoin/leveldb

Какие причины сделали LevelDB лучшим выбором для хранения ключей по сравнению с другими встроенными решениями для баз данных? Как собственный виток LevelDB от bitcoind отличается от официальной версии?

5 голосов | спросил Felix Weis 16 FebruaryEurope/MoscowbTue, 16 Feb 2016 02:44:59 +0300000000amTue, 16 Feb 2016 02:44:59 +030016 2016, 02:44:59

1 ответ


6

Вилка выполняет две цели:

  • Локальные модификации, которые трудно переносить вверх по течению:

    • Поддержка Windows (частично основанная на существующем порту Windows, но необходимые изменения для построения в MinGW)
    • Удаление поддержки сжатия, поскольку это не помогает, и усложняет сборку.
  • Строгий контроль над изменениями. Учитывая предыдущий опыт перехода BDB на LevelDB, вызвавший появление вилки в сети, разумно не использовать общесистемные установленные версии библиотеки. Гипотетически, даже если изменение является исправлением ошибок с точки зрения LevelDB, мы можем поддерживать поведение багги для предотвращения развития вилки в сети, в зависимости от ошибки.
ответил Pieter Wuille 16 FebruaryEurope/MoscowbTue, 16 Feb 2016 08:04:34 +0300000000amTue, 16 Feb 2016 08:04:34 +030016 2016, 08:04:34

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132