Hi Graeme,

I'm not trying to say that SQLite is better than Firebird. In fact I use FB for larger database usage. What I was trying to say is that SQLite has it's place and worth. I replied due to you thinking that SQLite was half-baked and Michael saying that it is sloppy. I'm not trying to flame, only present my view since I know that SQLite could be usefull to pp out there.

Now to the issue of speed. We had a program that was written in DOS that kept a record of all occurances in the customers equipment. I used a homemade DB that recorded around 20K records per day. Last year we upgraded part of the program to Windows and the DB was part of the upgrade. I used firebird at first. When the program started the first time at a client, it would convert the last 24 months worth of data. It was taking around 80 minutes to convert one month. Before the project was finished a decision was made to use SQLite. After converting we discovered that the conversion of the DB took only around 50 minutes with SQLite. I have made no query tests. This was purely writing to the DB. By the way, the DB has 6 tables and 4 of the tables 8 indexes. Querying is and was blazing fast in both DB's, I never compared.

- SQLite is easier to use. It's especially nice to be able to deploy
your app and easily create the DB at run-time.

We do this too (deployment and run-time creation) with Firebird - no problems at all.
Hmm, maybe I haven't researched enough. I can create tables, but never managed to create the DB. Maybe it has to do with Zeos that throws an exception when I enable it without having a valid firbird DB. But I would like to know how to do this


- SQLite is made for SINGLE application access. So my pascal program
will always read/write the expected types.

The same database application can easily switch between Firebird Embedded and Firebird RDBMS - thus you have a great upgrade path to a full blown multi-user system, if you application becomes more popular and needs to scale upwards.
True, and for this and many other things firebird is far superior. But often I don't have the need for this.


- Firebird embedded does not work in virtual machines when the DB is on
a network mapped drive. I have tested VMWare, Virtual Box and Virtual
> PC. (This can also be a plus since I use this fact to inhibit one of > my apps to be run from a virtual box.)

I can't comment on this, but I can't see why not, if you for example under Windows map the network share to a permanent drive letter. We have done this with MS Access (.mdb database) for years. And MS Access is a local database only system too. The other point being, if you database needs to live on a remote location, why not simply switch to Firebird RDBMS server - get the full multi-user treatment for free.

Already answered by someone else. Rats, there goes my virtual machine test.

- SQLite can be embedded without needing to distribute a DLL. (Although
I no longer use this feature)

I'd rather go with too much features (though I don't see why this is a problem, just don't use those features), and a database that keeps your data (integrity) in check.
Data integrity is not an issue. SQLite has no problems there. They are simply not orthodox and you can (if you want to) access a number field as text or try to access a text field as an integer. But you don't have to.

Andreas


--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to