views:

1043

answers:

11

Hi all,

I need an embedded/In Memory Database which support multithread access.

Thanks!

Leo

+13  A: 

You can use SQlite3 with the DISQLite3 library.

Or Firebird Embedded

For proof that they are thread-safe check the links provided by Mohammed Nasman

jitter
Hey, You are faster in few seconds ;-), but Firebird 1.5 is thread-safe too, refer to to the link I posted to see that.
Mohammed Nasman
I know that it is. That's why I proposed these two. Didn't say it wasn't threadsave. But thanks anyway for the links
jitter
I had completely forgotten the SQlite could use memory as a store. There goes MY afternoon!!!
Brad Bruce
Just a small warning ... FB Embedded works great as a threasafe internal database - except when you're connecting to the database. We were getting infrequent crashes in GDS32.DLL during the connect until we put a lock around the connection code.
gabr
if you use gds32.dll with Firebird : you probably don't use the right component to connect because Firebird client dll is fbclient.dll
Hugues Van Landeghem
Gds32.dll is just renamed fbclient.dll so that TIBDB can work with it. FB Embedded DLL supports both access modes - older gds32 and newer fbclient. But as the error occurs deep inside the connection code in the dll, I don't think the gds32 wrapper causes the problem.
gabr
+7  A: 

Sqlite

Firebird Embedded (version 1.5 and later)

Mohammed Nasman
+2  A: 

AidAim has one SQLMemTable

Darian Miller
+4  A: 

Components4Developers has one that's been around a long time kbmMemTable

Darian Miller
+1  A: 

ComponentAce offers AbsoluteDatabase with in memory option AbsoluteDatabase

Darian Miller
+1  A: 

SolidDB from IBM if dont mind if its closed source/commercial:

http://www-01.ibm.com/software/data/soliddb/

rasjani
A: 

RxLib, an open-source component lib has rxMemTable.

Ertugrul Tamer Kara
+4  A: 

NexusDB can be both embedded and use memory tables. For a multithreaded application you just give each thread it's own Session and Database components.

There is a free embedded version with no souce code or you can purchase the full client server version with source code.

LachlanG
I heard good things about NexusDB. About kbmmemtable too, but nexusdb seems more focused on performance.
Marco van de Voort
+1  A: 

eXtremeDB, from my company (McObject), is increasingly popular.The standard edition is an embedded in-memory database.

http://www.mcobject.com/extremedbfamily.shtml

A: 

CSQL in memory database management system

http://www.csqldb.com

A: 

Maybe this helps TimesTen and solidDB comparison

Sebastian Czechowski