I'm writing a program at home for general public which store its data in a
datafile.
Fearing the data loading could be long, I used an embeded datafile engine
(SQLite), because this way I could read/write/delete file incrementally
(unlike what I could do with tar-gzipped XML file for example).
Now I'm hitting a problem:
When I create a new (empty) file, the (embeded) 'database engine' tooks
about 7 seconds to create a new database file with about 10 tables & 30
indexes & trigger.
That's wayyyy too long.
So here is what I'm considering and would appreciate input on:
- maybe try the firefox embeded version to see if it's faster
- maybe used a plain tar-gziped XML serialized file
- maybe used a plain tar-gzipped-serialized data file
- use an other (free or cheap and royalty free) embeded database engine
my concerns are the following:
- if I use serialization I want a given version of the application to be
able to read file created by previous and later version, which comdemn to
XML serialization, I believe
- If I use serialization I am concern about long startup if I have a lot of
data, and heavy memory usage.
- If I choose a DB, I don't want MSDE.. I already would have a 20MB
dependency on .NET 2.0, I find it overkill to bloat it even more with: 20
more MB, a server based product, where as I would like a zero-config, zero
install concerns, embeded DB engine as a simple DLL.
- I though of Firebird, will table & file creatin be fast?
Well in fact I'm a bit in the dark.. but I hope you guys see my problem and
if any of you has experience on similar topic I will appreciate feedback...