The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

sqlite experiences?

I am not worried about it being correct, I am more worried about file corruption when a program dies most cruely. Does anyone have any experiences with this beast that they would like to share?
son of parnas
Friday, January 06, 2006
I absolutely love SQLite. I've never had a problem with it, but at the same time I haven't really tried to tax it's error recover abilities either.

However, right from their homepage:

"Transactions are atomic, consistent, isolated, and durable (ACID) even after system crashes and power failures."

I believe being ACID was the design goal behind the software, everything else is a frill.
Perl Solution
Friday, January 06, 2006
Love it. Beautiful tool. Never had a single problem.
Friday, January 06, 2006
We evaluated it. 272K code size footprint. An amazing piece of work.

It has journaling capabilities, but that will also slow down the usage model.

Anyhow, for politcal reasons, we didn't use it. Someone on the CTO's team recommended something else. Don't even wanna talk about it...
hoser Send private email
Friday, January 06, 2006
Never had a problem. In fact, not only does it handle your app crashing really well, I usually have the console that comes with it open so I can watch my app in realtime, and its great for inspecting what your app does in realtime.

Unless I have a really, really good reason, all my apps either use SQLite or XML for storage of app specific data.
Matt Send private email
Friday, January 06, 2006
I've never used SQLite but have followed its development a bit, as I have an interest in lightweight embedded DB's going back forever.

One aspect I've always thought strange is that the data records are stored as part of the btree key nodes, in overflow nodes. I assume that is still the case. I would have thought this would affect performance quite a bit. This is just supposition on my part.

There is no doubt it is highly regarded and is actively developed and supported.

If you don't need SQL etc. then a simpler and even lighter weight database is QDBM at which I like and use. And it has transactions.
Neville Franks Send private email
Friday, January 06, 2006
love it.  use it a lot.  never, ever regretted it.
Jesus H Christ
Sunday, January 08, 2006
Used SQLite on Windows CE device and desktop.  I like it.  I have also experienced data corruption with it.  The cause was unknown but probably the CE device crashing.  It was very, very easy to extract the good data out of the corrupt database and put it into a new good database, it only took two lines of DOS commands to do this.  Pity the customer's backup was non-existant....

Unfortunately, it's not so good with dates for the purpose we were using it.  It stores dates as UTC strings.  Since we were using MS ActiveStink for synchronisation, we had to write a considerable chunk of code to handle dates in a manner that was quicker and easier to compare them, i.e. as a  long number from some epoch.

Apart from that - good.
Paul Norrie Send private email
Monday, January 09, 2006
Yeah, I had an early on "oops" moment with dates too.

The only thing I have to say over that, is that I think SQL(the standard) gets data typing Wrong. SQLite is like C, it's type system is totally baroque, but it least has enough sense to know that and get out of your way.
Matt Send private email
Monday, January 09, 2006
We recently evaluated and rejected SQLite as an embedded database in a client application.  This is because multiple threads needed to access the database, and sqlite only provides database-level locking (vs. table-level or row-level).  It is however both small and free; in different circumstances it could be brilliant.
todd white Send private email
Thursday, January 26, 2006

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz