HN compartido: Explorador de páginas de disco para SQLite
(github.com/QuadrupleA)-
SQLite Page Explorer
-
SQLite Page Explorer es una pequeña aplicación GUI desarrollada con redbean que permite explorar una base de datos SQLite de la forma en que SQLite la ve: "página por página"
-
¿Por qué es necesario?
- SQLite y la mayoría de las bases de datos almacenan los datos en páginas del tamaño de bloques de disco (normalmente 4 KB) para hacer que la lectura y la escritura sean lo más rápidas posible
- Normalmente los desarrolladores interactúan con la base de datos en el "nivel de esquema", pero observar el "nivel de página" puede dar las siguientes ideas interesantes
- Permite ver cómo se ven realmente los índices en disco (básicamente son pequeñas tablas separadas)
- Se pueden hacer más rápidas las consultas y las aplicaciones almacenando los datos de forma más compacta
- Se pueden descubrir problemas e ineficiencias que no son visibles en el nivel de esquema
- Se puede desarrollar intuición sobre estructuras de datos importantes como los árboles B, que son la base de la mayoría de los sistemas de archivos y bases de datos
-
Se puede ejecutar en cualquier lugar
- Gracias a redbean, cosmopolitan y αcτµαlly pδrταblε εxεcµταblε, es un único ejecutable de 6.5 MB que corre de forma nativa en Windows, Linux, MacOS, varios BSD, ARM64 y x64
- Este archivo es un archivo zip que incluye la aplicación y el código Lua que analiza el formato binario de la base de datos
-
Cómo instalarlo
- Descargar
sqlite-page-explorer.comdesde releases - En sistemas tipo Unix, ejecutar
chmod +x - Arrastrar el archivo de la base de datos o ejecutarlo desde la consola:
sqlite-page-explorer.com mySqliteDatabase.db - La aplicación se abre en una pestaña del navegador
- Al terminar, presionar Ctrl-C dos veces en la consola
- αcτµαlly pδrταblε εxεcµταblεs puede confundir los sistemas de detección de virus del navegador y del sistema operativo y provocar falsos positivos. Toma las precauciones habituales con cualquier cosa que descargues de internet
- Si se usan bases de datos grandes de más de 500 MB, puede tardar en cargar la vista de nivel superior que lee todas las páginas
- Descargar
-
Cómo compilarlo
- Basta con comprimir el contenido de
files/comozipdentro deredbean-3.0.0-cosmos.com. Se puede descargar desde https://cosmo.zip/pub/cosmos/bin/ (haz clic en "redbean" en la lista) - Si tu sistema no tiene
zip, también hay que descargarlo desde ese sitio - También se puede ejecutar el script de Python (3.6+) incluido
zipitup.py - Para modificarlo, se puede ejecutar
redbean-3.0.0-cosmos.com -D filespara servir la aplicación desde el subdirectoriofiles. No hace falta volver a compilar el zip cada vez que haya cambios
- Basta con comprimir el contenido de
-
No es una obra maestra
- Como parte de un experimento para probar redbean y usar Lua por primera vez, el código puede estar algo desordenado
- Usar un sistema de plantillas como Jinja o las plantillas nativas de bottle.py podría reducir muchas concatenaciones de cadenas y sentencias Write()
- Sería bueno que cerrara automáticamente la consola cuando se cierre la última pestaña, y que en bases de datos grandes se detuviera en la página 10,000 a menos que el usuario lo confirme
- PR bienvenidos
1 comentarios
Comentarios de Hacker News
sqlite-repr, construido con Dioxus, también ofrece una visualización interesante de SQLiteshowdb, útil para explorar archivos de base de datos