En 2013 se lanzó un nuevo núcleo de bitcoin y una de las supuestas mejoras fue la migración de Berkeley DB a LevelDB. De acuerdo con las notas de lanzamiento en bitcoin.org :
LevelDB, una base de datos rápida, de código abierto y no relacional de Google, ahora se usa para almacenar transacciones y bloquear índices. LevelDB funciona mucho mejor en máquinas con E/S lentas y es más rápido en general .
Los desarrolladores principales de bitcoin hicieron declaraciones similares :
LevelDB, una reescritura de código abierto del propio sistema de base de datos de Google, fue diseñado para lograr eficiencia y consistencia en hardware básico, y supera a BDB en un orden de magnitud en algunas configuraciones. Las pruebas preliminares con LevelDB muestran muy buenos resultados .
Sin embargo, hoy en día hay varios comentarios a través de Internet criticando LevelDB. Según la página de LevelDB en Wikipedia :
LevelDB es ampliamente conocido por ser poco confiable y las bases de datos que administra son propensas a la corrupción. Los estudios académicos de versiones anteriores de LevelDB han encontrado que, en algunos sistemas de archivos, los datos almacenados en esas versiones de LevelDB pueden volverse inconsistentes después de un bloqueo del sistema o un corte de energía. La corrupción de LevelDB es tan común que la detección de corrupción debe integrarse en las aplicaciones que la utilizan.
En resumen, las quejas sobre LevelDB son:
Pregunta 1
¿Son correctas estas quejas sobre LevelDB?
Pregunta 2
¿Cuál es el saldo final de la migración de Bitcoin Core de Berkeley DB a LevelDB? ¿LevelDB funciona como se esperaba? ¿Esta migración fue la elección correcta?
Como alguien que estuvo involucrado en hacer esa migración en ese momento, creo que fue la decisión correcta. LevelDB está lejos de ser perfecto, pero no sabría qué más usar.
En particular:
Reviewing the Lock subsystem statistics is the best way to determine this value.
que creo que no es aceptable para nuestro caso de uso.Si bien las corrupciones de la base de datos se informan con relativa frecuencia en estos días, creo que se trata principalmente de fallas de hardware o problemas con los controladores. Bitcoin Core tiende a estresar los discos, la memoria y las CPU mucho más que la mayoría del software, lo que hace que surjan problemas invisibles.
Nick ODell
marca messa
Nick ODell
donn lee