Intercambio de bitcoins Intercambio de bitcoins
Ctrl+D Intercambio de bitcoins
ads
Casa > Uniswap > Info

Presentamos: Cliente Turbo-Geth: Mejoras en la base de datos

Author:

Time:

Hace unos meses, me uní al equipo de Turbo-Geth y comencé a contribuir activamente con código para el cliente de Turbo-Geth. El cliente Turbo-Geth es una versión alternativa del cliente Geth (actualmente todavía en desarrollo), que pretende ser más rápido y eficiente que el cliente original. Entonces, el enfoque de Turbo-Geth para lograr este objetivo incluye lo siguiente:

Optimizar aún más la estructura de la base de datos

Reduzca las operaciones de lectura y escritura en la base de datos donde se requiere la interacción con los datos de estado

Optimice la eficiencia de las operaciones del árbol de estado (puede ser necesario cambiar la estructura de datos del árbol de estado existente)

En este artículo, resaltaré las diferencias entre las bases de datos de Turbo-Geth y Geth. Las principales diferencias son:

Base de datos diferente (usando Bolt en lugar de LevelDB)

Segmentar la base de datos por cubo

Entonces, el contenido principal de este artículo está relacionado con estos dos puntos.

Bolt y LevelDB son en realidad muy similares, ambos son almacenamiento de "par clave-valor" (clave-valor), y el objetivo del diseño es proporcionar una base de datos simple, rápida y confiable para proyectos que no requieren un servidor de base de datos completo. La base de datos elegida por Geth es LevelDB, mientras que la de Turbo-Geth es Bolt.

El volumen total de transacciones de OpenSea superó los 40.000 millones de dólares estadounidenses: según Jinse Finance, según los últimos datos de Dune Analytics, el volumen de transacciones diarias acumulativas de OpenSea en el mercado NFT superó los 40.000 millones de dólares estadounidenses, que actualmente es de 40.005.864.063 dólares estadounidenses.

Los datos históricos muestran que el volumen de transacciones de OpenSea superó los 10 000 millones de dólares estadounidenses en noviembre de 2021, superó los 20 000 millones de dólares estadounidenses a principios de febrero de 2022 y luego superó los 30 000 millones de dólares estadounidenses en junio de este año. generado. [2022/9/24 7:18:23]

Pero también hay una diferencia clave entre los dos: la forma en que se organizan los datos. LevelDB es una base de datos LSM (Log-Structured Merged-Tree), mientras que Bolt usa cubos, y cada cubo contiene una estructura B+-Tree. Podemos pensar en un cubo como "una pequeña base de datos en una gran base de datos".

La principal diferencia entre los dos, entonces, es que una base de datos LSM está optimizada para la exploración de rango y agregación pesada, no para el rendimiento de lectura aleatoria; para proporcionar coherencia, no permite operaciones simultáneas de lectura y escritura en la base de datos. Además, por consideraciones de rendimiento, esta base de datos no implementa la atomicidad. Bolt, por otro lado, tiene una velocidad de inserción lenta, pero una velocidad de lectura aleatoria rápida, logra atomicidad y puede leer y escribir en la base de datos al mismo tiempo.

Vontobel, un gigante suizo de gestión de inversiones: los grandes clientes están interesados ​​en las criptomonedas: noticias del 28 de julio, Zeno Staub, director ejecutivo del gigante suizo de gestión de inversiones y banco privado Vontobel, dijo en una entrevista con Bloomberg el martes que algunos de los clientes adinerados de la empresa tienen criptomonedas Exposición, interés en criptomonedas. Staub cree que la tecnología blockchain tendrá un profundo impacto en las finanzas globales. El CEO de Vontobel describió la nueva tecnología como “una consecuencia lógica de la megatendencia de titulización, ya que es la única tecnología disponible que puede generar confianza sin una contraparte central”. (Cointelegraph)[2021/7/28 1:21:08]

Expliquemos un poco más la atomicidad:

Atomicidad: "atómico" significa indivisible. Supongamos ahora que queremos almacenar varios valores hash para una base de datos y uno de ellos falla al insertarlo en la base de datos, si todas las operaciones de valores hash se revocarán al mismo tiempo, esto se llama atomicidad. Turbo-Geth tiene una característica tal que esta operación solo puede tener éxito si todas las operaciones de inserción de valores hash son exitosas. Una base de datos que no implementa la atomicidad (como LevelDB) significa que se debe usar una solución alternativa para insertar datos en la base de datos de manera segura. En otras palabras, en este punto, creemos que Bolt es mejor porque es más seguro al agregar datos a la base de datos.

Opinión: Las transacciones encriptadas de Turquía no se ven afectadas, y las ventas lentas de la lira han llevado a las autoridades a prohibir los pagos encriptados: aunque el banco central turco ha prohibido previamente el uso de pagos en moneda encriptada en todo el país, según las "Regulaciones sobre el uso de activos cifrados en pagos", las transacciones de moneda cifrada no parecen verse afectadas por la regulación. La lira turca se ha enfrentado a una enorme presión de venta externa, lo que ha dado lugar a una prohibición a nivel nacional de los pagos con criptomonedas. (CoinDesk) [2021/4/16 20:27:41]

Como se mencionó anteriormente, Turbo-Geth se divide en varios grupos. Cada depósito es una pequeña pieza de datos en una gran base de datos, cada uno de los cuales contiene una estructura B+-Tree.

Aquí está la división de la base de datos Turbo-Geth a la altura del bloque 9,346,492:

- Particionamiento de datos del nodo de archivo de Turbo-Geth (altura de bloque 9,346,492) -

Tamaño de archivo del cliente Geth (altura del bloque 9346492): 3,7 Tamaño del archivo del cliente TBParity (altura del bloque 9346492): 3,6 TBCliente Turbo-Geth Tamaño del archivo (altura del bloque 9346492): 652,62 GB Cada parte se almacena en un depósito en. Una breve explicación de las partes principales es la siguiente:

Preimagen: la gestión de valores hash y direcciones, y la asociación entre valores hash de ubicación de almacenamiento y ubicaciones de almacenamiento

recibo (recibo): recibo de transacción

Historia del almacenamiento: la historia de los cambios en el almacenamiento por contrato

Historial de Cuentas: Cambiar historial de cuentas

Encabezado de bloque: el encabezado de bloque de cada bloque

Cuerpo de bloque: el cuerpo de bloque de cada bloque

Almacenamiento por contrato: Es el contenido de almacenamiento por contrato

ChangeSet: historial de cambios de la base de datos

Cuenta: Cuenta

El propósito de usar tantos cubos es evitar que la altura de cada B+-Tree que constituye una base de datos grande sea demasiado alta, para que la interacción con la base de datos sea más fácil. En otras palabras, se trata de utilizar varios cubos para mejorar el rendimiento de la lectura de la base de datos.

Después de cambiar a Bolt, Turbo-Geth tuvo algunos problemas con las claves aleatorias, como los hashes de transacciones, porque Bolt ordena esas claves antes de enviar los datos y porque esos hashes son aleatorios y el número es grande, por lo que se genera una gran cantidad de requisitos de clasificación. lo que luego conduce a una gran cantidad de amplificación de escritura (amplificación de escritura, la cantidad real de datos físicos escritos es varias veces la cantidad de datos escritos). Y BadgerDB usa el modo de fusión estructurada de registro (LSM), que parece ser una mejor opción. Este problema aún está bajo investigación, sin embargo, hemos implementado una solución para solucionar este problema.

Aquí hay un gráfico que muestra el rendimiento general de BadgerDB y BoltDB (gracias a Alexey Akhunov por el gráfico):

El cliente Turbo-Geth optimiza el rendimiento de Ethereum al:

Use varios cubos para recuperar algunos datos más rápidamente

Use B+-Tree en lugar de LSM

Si desea donarnos, puede hacerlo a través de Gitcoin.

Tags:

Uniswap
Activos cifrados olvidados: el volumen diario de operaciones de más de 5000 tokens solo representa el 2 % del mercado

La "ley 20-8" también se conoce como la "ley de minoría clave", y lo más importante suele ser la minoría del 20%. En el mercado encriptado.

La red de prueba de la cadena pública Huobi lanza 4 ventajas principales para crear una infraestructura financiera global

Jinse Finance informó que el 29 de febrero, Huobi Global publicó un anuncio sobre el lanzamiento oficial de la red de prueba de la cadena pública.

Presentamos: Cliente Turbo-Geth: Mejoras en la base de datos

Hace unos meses, me uní al equipo de Turbo-Geth y comencé a contribuir activamente con código para el cliente de Turbo-Geth. El cliente Turbo-Geth es una versión alternativa del cliente Geth (actualmente todavía en de.

Los datos históricos muestran que el aumento del VIX predice el mínimo de Bitcoin

Bitcoin ha tenido una mala racha en las últimas semanas, y el precio muestra debilidad desde la resistencia clave de $10,500. Los analistas están algo divididos sobre hacia dónde se dirige Bitcoin.

BitZ Investment Research: el promedio móvil de 60 días encuentra soporte, BTC aún tiene el riesgo de un cambio en el mercado

¿Cómo cambiará el mercado en el futuro tras sucesivos ajustes a la baja? ¿Se ha estabilizado el mercado después de la inmersión unilateral de hoy? Bajo la expectativa de reducir a la mitad.

Director del Departamento de Ciencia y Tecnología de la Administración Estatal de Divisas: la plataforma blockchain transfronteriza ayuda a las pymes a financiar el comercio

Autor: Zhang Tiecheng, Director del Departamento de Ciencia y Tecnología de la Administración Estatal de Divisas y Director del Centro de Monitoreo de Datos Comerciales de DivisasEn los últimos años.

ads