Hackage 2 status

Johan Tibell johan.tibell at gmail.com
Tue Jul 3 22:24:55 CEST 2012


On Tue, Jul 3, 2012 at 4:05 PM, Duncan Coutts
<duncan.coutts at googlemail.com> wrote:
> I still disagree that going with an external SQL db will be easier.
> The big advantage of the acid-state (and similar) data stores is that
> they let us use Haskell types properly and don't imply a separate
> external data model and a marshalling stage.

This is moot if the data ends up being corrupted* or if the data store
doesn't handle the load. :) This might be the cranky old engineer in
me talking, but these things don't usually end well.

Using something like mysql-simple to marshal the data is pretty
convient; it's very much like writing Binary instances for the data
types.

> Additionally, the really important data (the packages) are stored in
> the file system.

While this is true now (we don't have much data except the packages!)
in my experience long term the user generated data (i.e. actions they
perform on the Hackage site) will be the most valuable (as the
packages can be regenerated from source if need be.) For example,
using this data is how we're going to do ranking of packages. In fact,
this data is what should make Hackage 2 and improvement over Hackage
1.

* It doesn't matter much if we can restore the data from backups. Any
corruption will still cause downtime and will likely require both
manual maintenance and bug fixing in acid-state.

-- Johan



More information about the cabal-devel mailing list