Ultimate Debian Database
Lucas Nussbaum Debconf’16
Lucas Nussbaum Ultimate Debian Database 1 / 15
Ultimate Debian Database Lucas Nussbaum Debconf16 Lucas Nussbaum - - PowerPoint PPT Presentation
Ultimate Debian Database Lucas Nussbaum Debconf16 Lucas Nussbaum Ultimate Debian Database 1 / 15 Debian: the data hell A lot of different sources of data in Debian With different data formats: text files, BerkeleyDB, SQL databases, JSON,
Lucas Nussbaum Ultimate Debian Database 1 / 15
◮ Packages of priority ≥ standard with RC bugs? ◮ Maintainers with lots of outdated/buggy packages?
Lucas Nussbaum Ultimate Debian Database 2 / 15
◮ Import all the data in a single (Postgre)SQL DB ◮ Easier to query (relatively well-known interface) ◮ The proper way of joining data together ◮ No need to write problem-specific scripts
Lucas Nussbaum Ultimate Debian Database 3 / 15
◮ Lucas Nussbaum (lucas) ◮ Marc Brockschmidt (HE) ◮ Stefano Zacchiroli (zack)
Lucas Nussbaum Ultimate Debian Database 4 / 15
◮ Typical user == human ◮ Make it easy to write/run queries ◮ Performance? important, but not a critical goal ◮ No surrogate keys
Lucas Nussbaum Ultimate Debian Database 5 / 15
◮ Unique identifier (usually integer) ◮ Used as primary key ◮ Not derived from any application data
Lucas Nussbaum Ultimate Debian Database 6 / 15
◮ Correctness is critical ◮ Partial updates? Often difficult/risky ◮ Solution: complete data reloads (for most importers) Using transactions to avoid temporary unavailability
Lucas Nussbaum Ultimate Debian Database 7 / 15
◮ What does "package" mean?
Lucas Nussbaum Ultimate Debian Database 8 / 15
◮ Running as udd.debian.org ◮ Uses PostgreSQL 9.4 ◮ You can connect from {qa,alioth}.d.o using: psql service=udd ◮ Even non-DDs can connect!
Lucas Nussbaum Ultimate Debian Database 9 / 15
◮ Main stuff: Sources and Packages Bugs (including archived
◮ Identities: Carnivore Debian LDAP (restricted to
Debian Maintainers PTS subscriptions (OLD) ◮ Derivatives: Sources/Packages for
Ubuntu bugs Ubuntu upload history Ubuntu popcon Ubuntu lintian ◮ Additional stuff:
Lucas Nussbaum Ultimate Debian Database 10 / 15
Lucas Nussbaum Ultimate Debian Database 11 / 15
Lucas Nussbaum Ultimate Debian Database 12 / 15
Lucas Nussbaum Ultimate Debian Database 12 / 15
select changed_by, count(*) from sources s, upload_history uh where s.source = uh.source and s.version = uh.version and s.distribution=’debian’ and s.release = ’sid’ group by changed_by order by count desc limit 8;
Lucas Nussbaum Ultimate Debian Database 13 / 15
select changed_by, count(*) from sources s, upload_history uh where s.source = uh.source and s.version = uh.version and s.distribution=’debian’ and s.release = ’sid’ group by changed_by order by count desc limit 8;
Lucas Nussbaum Ultimate Debian Database 13 / 15
◮ UDD bugs search
◮ UDD Maintainer Dashboard
◮ UDD Bapase (search for "interesting" packages)
Lucas Nussbaum Ultimate Debian Database 14 / 15
◮ Mostly a one-person project Good starting point: debug importers failures
◮ No real good development environment Vagrant environment now available ◮ More collaboration with DDPO and Tracker Hard to share data inside Debian infrastructure
Lucas Nussbaum Ultimate Debian Database 15 / 15