On Tue, Jul 3, 2012 at 4:05 PM, Duncan Coutts <duncan.cou...@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 _______________________________________________ cabal-devel mailing list cabal-devel@haskell.org http://www.haskell.org/mailman/listinfo/cabal-devel