Contents
La Base de Datos Definitiva sobre Debian (Ultimate Debian Database o UDD) reune un montón de datos acerca de varios aspectos de Debian en la misma base de datos SQL. Permite a los usuarios acceder y combinar todos esos datos fácilmente.
Los datos que se importan actualmente incluyen: Paquetes y ficheros de código fuente de Debian y Ubuntu, informes de fallo del Debian BTS, concurso de popularidad, historia de cargas de fuentes, historia de migraciones a pruebas, Lintian, paquetes huérfanos, Carnivore, Debtags, informes de fallo de Ubuntu (de Launchpad), paquetes en la cola NEW y traducciones de DDTP.
Se proporcionan algunas consultas de ejemplo en forma de scripts CGI para facilitar que cualquiera pueda ejecutarlos. Puedes hojearlos o mirar su código fuente.
Esquema de la base de datos: https://udd.debian.org/schema/udd.html
Código fuente: disponible en el repositorio git del proyecto qa en https://salsa.debian.org/qa/udd
Servidor de la base de datos: ejecuta postgres con plperl y postgresql-debversion
- servicios relacionados con la UDD:
Buscador de fallos: motor de búsqueda multi-criterio para fallos
Etiquetas de fallo: busca etiquetas de usuario entre los fallos
Estadísticas acerca de patrocinadores da algunas estadísticas acerca de quién está patrocinando cargas de paquetes a Debian
Bapase permite buscar paquetes "interesantes" empleando varios criterios
La copia pública de UDD permite a cualquiera consultar la UDD mediante clientes PostgreSQL gráficos o de línea de órdenes
Para más información, contactanos por favor en #debian-qa o en la lista de correo debian-qa@lists.debian.org.
Conectar y usar la UDD
udd.debian.org se ejecuta sobre ullmann.debian.org. Accepta conexiones directas via SSL desde master, coccia, quantz (qa) and respighi (release) (configuración del cortafuegos).
- Línea de órdenes:
psql service=udd
o: psql -U guest -h udd.debian.org -p 5452 udd
Python:
import psycopg2 conn = psycopg2.connect("service=udd") cursor = conn.cursor() cursor.execute("SELECT count(*) from sources where release='sid'") print(cursor.fetchall()[0][0])
Ruby (DBI): require 'dbi' ; dbh = DBI::connect('DBI:Pg:dbname=udd;port=5452;host=udd.debian.org', 'guest')
Ruby (PG): require 'pg'; conn = PG.connect({:host => 'udd.debian.org', :port => 5452, :user => 'guest', :dbname => 'udd'})
Si quieres saber con exactitud cuando se actualiza una fuente de datos especifica puedes echar un vistazo a este fichero de configuración, o al estado actual de la UDD.
Si no tienes acceso a las máquinas necesarias puedes acceder a la copia pública de UDD directamente desde las tuyas:
Línea de órdenes:
psql "postgresql://udd-mirror:udd-mirror@udd-mirror.debian.net/udd"
Para obtener resultados rápidos inspecciona el esquema de la base de datos en https://udd.debian.org/schema/udd.html. psql muestra tablas con \dt. ¡Diviértete!
Dar crédito y citar a la UDD
UDD empezó como un projecto de Google Summer of Code de Christian von Essen (Neronus), co-tutelado por Lucas Nussbaum, Stefano Zacchiroli y Marc 'HE' Brockschmidt. Ahora lo mantiene Lucas Nussbaum con ayuda de otros.
Si empleas la UDD para investigación académica cita por favor este artículo:
L. Nussbaum and S. Zacchiroli, "The Ultimate Debian Database: Consolidating bazaar metadata for Quality Assurance and data mining," 2010 7th IEEE Working Conference on Mining Software Repositories (MSR 2010), Cape Town, 2010, pp. 52-61, doi: 10.1109/MSR.2010.5463277 (preimpresión de acceso abierto).
Mejorar la UDD
Si quieres ayudar a mejorar la UDD, puedes levantar tu propia instancia como se describe en UltimateDebianDatabase/Hacking. Puedes informar fallos contra el pseudo-paquete qa.debian.org, emplendo la etiqueta de usuario udd usertag y el usuario qa.debian.org@packages.debian.org. (lista de fallos ; o lista de fallos usando UDD)
AL informar de dallos por email usa ls siguiente pseudo-cabecera:
Package: qa.debian.org User: qa.debian.org@packages.debian.org Usertags: udd
Otros recursos
Volcado completo de la base de datos generado cada dos días. (~1.9 GB y creciendo, para restaurar con pg_restore. Mira este script como ejemplo)
Ver también:
Referencias
Pese a que el propósito principal de la UDD no fué servir de herramienta para investigación científica, ha aparecido en algunas publicaciones y conferencias:
Norbert Preining. Analyzing Debian packages with Neo4j. Neo4j Online Meetup. Article parts 1, 2, 3, video
Lucas Nussbaum and Stefano Zacchiroli. The Ultimate Debian Database: Consolidating Bazaar Metadata for Quality Assurance and Data Mining.7th IEEE Working Conference on Mining Software Repositories (MSR'2010)Artículo - Diapositivas - HAL
Julius Davies, Hanyu Zhang, Lucas Nussbaum and Daniel M. German.Perspectives on Bugs in the Debian Bug Tracking System 7th IEEE Working Conference on Mining Software Repositories (MSR'2010): Mining Challenge Artículo - Diapositivas- HAL
SubPáginas