[Haskell-cafe] Consensus about databases / serialization

Cristian Baboi cristian.baboi at gmail.com
Wed Jan 2 09:18:19 EST 2008

I recommend you read "Extending the database relational model to capture  
more meaning" by E.F. Codd.

On Wed, 02 Jan 2008 13:50:46 +0200, Peter Verswyvelen <bf3 at telenet.be>  
> As I'm a selfmade man, I never really studied relational databases in
> detail. My intuition told me that the "relational" part was not really
> suitable for the 3D data, 2D images, animation curves, state machines,  
> and
> other data I encountered in the videogame and animation business. I could
> always get away with files, and for the applications I needed to deploy,
> plugging in a couple of extra gigabytes of RAM and serializing the  
> "object"
> state to disk was more practical, cheaper and faster.
> However, a couple of years ago I started studying computer science (I  
> seem
> to do the theory after the practice, weird behavior ;-) at the Open
> University, and one of the exams I did was about databases. Initially  
> this
> course convinced me that databases are actually very nice, but the course
> ended with a topic on object oriented databases, which were designed to  
> make
> storing data like "3D models, graphs, networks, and complex  
> datastructures"
> more practical. Duh.
> Since then, I did deploy a few commercial applications for customers  
> using
> databases, which worked fine for the typical "simple/flat" database  
> data. I
> hated embedding a dynamic untyped language like SQL, as much as I hated
> embedding code in HTML or XML. IMHO it feels UGLY and unsafe. Regarding  
> the
> other popular data storage format - XML - I did use that a lot, but it  
> seems
> like going back to the stone ages, when hierarchical stores/databases got
> invented (and ditched?)
> Now, initially after an introduction to Microsoft's LINQ, and recently
> having read a very brief overview of HAppS, it seems I'm not the only one
> with those "feelings".
> Ouch, this introduction got way to long, sorry about that ;-)
> Finally some practical questions:
> .        regarding Haskell and databases, the page
> http://haskell.org/haskellwiki/Libraries_and_tools/Database_interfaces
> describes a few, but which are the ones that are stable and practical?  
> Any
> user experiences?
> .        HApps is not listed in the page above, because it does not use
> databases? Is HApps reliable or experimental, and does it scale well? Any
> success stories?
> .        regarding Haskell and serialization, I don't think that
> implementing Read/Show is a good way for real serialization, so what  
> other
> options exist? I could find some libraries at
> http://hackage.haskell.org/packages/archive/pkg-list.html#cat:Data, but
> again which are the most practical and stable? When programming in  
> C++/MFC
> and C#/.NET, I tended to develop my own serialization frameworks because  
> I
> used that for many things, like logging commands to disk, performing
> undo/redo, intra and inter process cut/copy/paste, save/load, etc.
> .        Regarding serialization, I'm kinda curious how ADTs and even  
> are stored and retrieved in a relational database? I guess it could be  
> done
> using BLOBs and serialization to ByteStrings, so bypassing a lot of the
> database table structures?
> .        If I would want to experiment with say HAppS, the way I  
> understand
> it, I first would first have to study "Scratch your boilerplate" and
> Template Haskell, and maybe some other language features? I'm still new  
> to
> Haskell, and the road to understanding all language elements and  
> extensions
> is very long, so sequentially learning it would be insane I guess. I  
> have no
> practical experience with TH, but I spent a long time trying to do  
> "aspect
> oriented programming" in C# without success, so TH looks uber to me.
> Thanks a lot and best wishes for 2008?
> Peter

More information about the Haskell-Cafe mailing list