
Hi all, is there an SQL Database in Haskell or is there a project trying to implement one? Günther

gue.schmidt:
Hi all,
is there an SQL Database in Haskell or is there a project trying to implement one?
There are several bindings, http://hackage.haskell.org/packages/archive/pkg-list.html#cat:database Are you asking for an implementation of SQL though? -- Don

Hi Don,
I actually meant an SQL database written in Haskell, same as Derby or
HSQLDB in Java.
I'm currently using Sqlite3 with HDBC but would prefer one entirely in
Haskell (but still SQL though, because of persistence and performance).
Günther
Am 05.08.2009, 22:32 Uhr, schrieb Don Stewart
gue.schmidt:
Hi all,
is there an SQL Database in Haskell or is there a project trying to implement one?
There are several bindings,
http://hackage.haskell.org/packages/archive/pkg-list.html#cat:database
Are you asking for an implementation of SQL though?
-- Don

On Thu, 2009-08-06 at 00:04 +0200, Günther Schmidt wrote:
Hi Don,
I actually meant an SQL database written in Haskell, same as Derby or HSQLDB in Java.
I'm currently using Sqlite3 with HDBC but would prefer one entirely in Haskell (but still SQL though, because of persistence and performance).
SQL is just a query language and the use of it is, as far as i can tell, orthogonal to the need for persistence and performance.

moonlite:
On Thu, 2009-08-06 at 00:04 +0200, Günther Schmidt wrote:
Hi Don,
I actually meant an SQL database written in Haskell, same as Derby or HSQLDB in Java.
I'm currently using Sqlite3 with HDBC but would prefer one entirely in Haskell (but still SQL though, because of persistence and performance).
SQL is just a query language and the use of it is, as far as i can tell, orthogonal to the need for persistence and performance.
For pure Haskell persistance, there is TCache: A Transactional data cache with configurable persistence http://hackage.haskell.org/package/TCache io-storage: A key-value store in the IO monad. http://hackage.haskell.org/package/io-storage There may be others.

2009/8/6 Don Stewart
For pure Haskell persistance, there is
TCache: A Transactional data cache with configurable persistence http://hackage.haskell.org/package/TCache
io-storage: A key-value store in the IO monad. http://hackage.haskell.org/package/io-storage
There may be others.
persistent-map: A thread-safe (STM) persistency interface for finite map types. http://hackage.haskell.org/package/persistent-map (still experimental) Peter

Hi,
well I tried to do some stuff in memory, and the app ended up using a
couple of gigs. I not only have a very large amount of dynamic data, CSV
files, but also quite a large amount of static data, and wasted 3 months
trying to do this all in-memory. The problem was finally solved once I
used SQLite and SQL.
The other day I had one last go at trying to compile the static data in a
literal list in my haskell code. That was 80.000 rows, it was just not
even possible
As far as I'm concerned this discussion is settled in favor of SQL once
and for all.
The part I didn't like about SQLite is encryption, you need to buy that
extra and then hope that it fits the current version and future ones too.
HSQLDB or Derby for Java give you this option and also with in-memory
database, alas they are for Java only.
Günther
Am 06.08.2009, 02:16 Uhr, schrieb Mattias Bengtsson
On Thu, 2009-08-06 at 00:04 +0200, Günther Schmidt wrote:
Hi Don,
I actually meant an SQL database written in Haskell, same as Derby or HSQLDB in Java.
I'm currently using Sqlite3 with HDBC but would prefer one entirely in Haskell (but still SQL though, because of persistence and performance).
SQL is just a query language and the use of it is, as far as i can tell, orthogonal to the need for persistence and performance.

gue.schmidt:
Hi,
well I tried to do some stuff in memory, and the app ended up using a couple of gigs. I not only have a very large amount of dynamic data, CSV files, but also quite a large amount of static data, and wasted 3 months trying to do this all in-memory. The problem was finally solved once I used SQLite and SQL.
The other day I had one last go at trying to compile the static data in a literal list in my haskell code. That was 80.000 rows, it was just not even possible
Don't compile in static data (or if you do, use -Onot, so that GHC won't try to analyze it)! Use some kind of binary on-disk storage.
As far as I'm concerned this discussion is settled in favor of SQL once and for all.
The part I didn't like about SQLite is encryption, you need to buy that extra and then hope that it fits the current version and future ones too. HSQLDB or Derby for Java give you this option and also with in-memory database, alas they are for Java only.
You might also want to look at the HAppS disk-backed persistence model, http://hackage.haskell.org/package/HAppS-State Or the holumbus distributed storage layer, http://hackage.haskell.org/package/Holumbus-Storage

I'd be very interested to see a rdbms implementation in Haskell ... perhaps a port of sqlite
Regards,
Kashyap
________________________________
From: Don Stewart
Hi,
well I tried to do some stuff in memory, and the app ended up using a couple of gigs. I not only have a very large amount of dynamic data, CSV files, but also quite a large amount of static data, and wasted 3 months trying to do this all in-memory. The problem was finally solved once I used SQLite and SQL.
The other day I had one last go at trying to compile the static data in a literal list in my haskell code. That was 80.000 rows, it was just not even possible
Don't compile in static data (or if you do, use -Onot, so that GHC won't try to analyze it)! Use some kind of binary on-disk storage.
As far as I'm concerned this discussion is settled in favor of SQL once and for all.
The part I didn't like about SQLite is encryption, you need to buy that extra and then hope that it fits the current version and future ones too. HSQLDB or Derby for Java give you this option and also with in-memory database, alas they are for Java only.
You might also want to look at the HAppS disk-backed persistence model, http://hackage.haskell.org/package/HAppS-State Or the holumbus distributed storage layer, http://hackage.haskell.org/package/Holumbus-Storage _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
participants (5)
-
CK Kashyap
-
Don Stewart
-
Günther Schmidt
-
Mattias Bengtsson
-
Peter Robinson