Update on PostgreSQL backend

13 views
Skip to first unread message

Casey Marshall

unread,
Jul 28, 2013, 11:26:31 PM7/28/13
to hockeypu...@googlegroups.com
Over the past few days, I've been migrating Hockeypuck from MongoDB to PostgreSQL in a branch, lp:~cmars/hockeypuck/pq-schema. In the process, I've been refactoring Hockeypuck to correct past mistakes and misdeeds from learning Go in the process of building the project. Unused and under-utilized abstractions are being removed, and responsibilities singled-out. It's looking much cleaner and easier to test.

Tonight marked a turning point in the PostgreSQL branch; it's currently capable of loading and querying keys.

There is still much to do to get ready for 1.0 -- I need to port over op=stats, PKS send, conflux integration, and write more unit tests.

The latest database schema is here:

https://bazaar.launchpad.net/~cmars/hockeypuck/pq-schema/view/head:/openpgp/schema.go

The new schema enables some interesting new features:

- Signatures will automatically reference the signing key record, if they are available
- Public keys reference the current primary User ID and User Attribute
- Revocation signature references in public key, subkey, UID and UAT records
- It is possible to directly stream the entire public key contents directly out of the database with unionized selects, as the raw binary packets are stored intact in bytea columns!

I have an SKS dump loading into PostgreSQL to get an idea of the storage and load time requirements for a production deployment.

Cheers,
Casey

Casey Marshall

unread,
Aug 4, 2013, 10:26:33 PM8/4/13
to hockeypu...@googlegroups.com
PostgreSQL backend has since merged into trunk. All the above is done.
Reply all
Reply to author
Forward
0 new messages