I know that there are many Delphi database related questions available, but I'm considering only these two databases. I will need to query around 100.000 records.
From your experience which one is faster:
- as embedded
- as C/S
Thanks.
I know that there are many Delphi database related questions available, but I'm considering only these two databases. I will need to query around 100.000 records.
From your experience which one is faster:
Thanks.
I used NexusDB (well it's immediate predecessor) as the embedded server in a GIS Visualization program I wrote some time back now, and I found the system software to be generally excellent. I was certain throwing a lot of datapoints in and out of it (landscape height grids and other spatial data) and the performance was fine. We're two generations at least of CPU beyond that now too.
I evaluated Firebird at the same time, but as I recall NexusDB simply integrated more cleanly and easily (in particular deployment was simpler) and they offered similar performance so I went with that.
I Haven't used Nexus tbh, but I use Firebird regulary (Client/Server) and I am absolutely loving it. It's small, fast, tries-to-be SQL92 compliant, and the management tools are f-a-n-t-a-s-t-i-c (see IBExpert, they have free edition aswell)
The embedded version should be as good as the normal one.
I haven't used NexusDB, but FireBird will easily handle the table sizes you mentioned. In fact, any database that can't deal with 100,000 records would be too limited for most purposes. In short, you probably won't go too far wrong regardless of which you choose.
Embedded and C/S databases serve different purposes. C/S has the advantage of allowing multiple clients to connect, and may scale better in large systems. Embedded is great when you want to deploy a turnkey system, possibly with just an XCopy install.
Because of the extra layer involved, I suspect that direct connection to a database in an embedded system would be faster than C/S. Only side by side testing will tell for sure.
You probably already know that FireBird can be deployed as C/S or embedded. If you haven't already considered it, ElevateDB is another option that offers the same flexibility.
For embedded DB SQLite would be my choice. It's fast, almost SQL-92 compatible, cross platform and free.