Darian Miller 361 Posted November 3, 2019 (edited) Ancient subject, but after years of progress on both sides... how does it look today for a new, small Windows desktop project? Don't need outrageous speed, or size, just a dependable data store. One nice feature is to be easy to backup/restore as needed. Another alternative is PostgreSQL. Does anyone even use InterBase anymore? Edited November 3, 2019 by Darian Miller Spellcheck Share this post Link to post
John Kouraklis 94 Posted November 3, 2019 For projects with local database, I would go for sqlite as it doesn't require a DB server. 4 Share this post Link to post
Markus Kinzler 174 Posted November 3, 2019 1 hour ago, John Kouraklis said: For projects with local database, I would go for sqlite as it doesn't require a DB server. Interbase and FireBird also got embedded versions without the need of a server. The databse files are compatible to the server version. 1 Share this post Link to post
Guest Posted November 3, 2019 Firebird has been working so well for me since version 1 that i have not been very interested in alternatives. IB/FB would probably be a more "political" choice. IB is proprietary and FB is OS. From what i gather PostgreSQL is a capable RDBMS functionality-wise too and it is OS too, even though a bit more commercial IMHO. Q: Why do you need a full-blown RDBMS for a one-platform application? Perhaps Johns suggestion is better, depends on a lot of factors... perhaps some more info for better recommendations? Share this post Link to post
Serge_G 87 Posted November 3, 2019 If you only check for those 2 alternatives and only windows target my heart say Firebird as Dany Marmur I had no problem with since first version. if you want some encrypted column the choice is Interbase (native column encryption). Now if your targets are multi os, till now i don't access directly to Firebird database (client/server) on Android with Firedac but it works with IBDac. I don't test an embedded version of the database though. So for multi-os I certainly will choose IB keeping in mind Firebird . But if your project is not a multi-user one i vote for SQLite avoiding all database server deployment 1 Share this post Link to post
Guest Posted November 3, 2019 3 hours ago, Serge_G said: But if your project is not a multi-user one i vote for SQLite avoiding all database server deployment This definitely feels like a good advice. IMHO the "embedded" variations of all them "full-blown" are... "legacy functionality". It's usable when you have a RDBMS with a lot of functionality (triggers, procs et.al) that you want to "keep" and bring "down" scalability-wise. But if this is a NEW project that would require a NEW database AND you have all the control of both backend AND frontend then i'd be very questioning why you would go thought the "hazzle" of embedding a full-blown RDBMS as most functionality would be moot. Share this post Link to post
Dmitry Arefiev 101 Posted November 3, 2019 1) DB admin features - PostgreSQL 2) DB developer features - PostgreSQL / FireBird 3) Encryption, and ... speed - InterBase. On many tests IB outperforms FB, at least. 4) Mobile platforms - InterBase 5) Change Views is unique InterBase feature If to put SQLite into this list, then if you does not need multi-user access, scalability, DB is relatively small, then SQLite is the right way. If something from this list is not true, or may become false in future, then not SQLite. Quote Windows desktop project? Don't need outrageous speed, or size, just a dependable data store. One nice feature is to be easy to backup/restore as needed In order of descending preferences - SQLite, IbToGo / Firebird embedded, PostgreSQL 2 1 Share this post Link to post
Larry Hengen 39 Posted November 4, 2019 23 hours ago, John Kouraklis said: For projects with local database, I would go for sqlite as it doesn't require a DB server. I would only use SQLLite for smaller mobile projects. I have found that Firebird 3.04 performance is much better than SQLLite on my laptop and it has a richer set of data types and more features. 2 Share this post Link to post
Hans J. Ellingsgaard 21 Posted March 1, 2020 Firebird is free. With Interbase you will have to pay for a license. I'm shure that both will serve you well, with RDBMS or as embedded. Share this post Link to post
Remy Lebeau 1396 Posted March 3, 2020 On 3/1/2020 at 3:04 PM, Hans J. Ellingsgaard said: Firebird is free. With Interbase you will have to pay for a license. I think that was the main reason why we switched from InterBase to FireBird many years ago. Share this post Link to post
eivindbakkestuen 47 Posted March 4, 2020 Just grab NexusDB Embedded Free from GetIt, compiles directly into your windows app, only your exe to distribute. Share this post Link to post
Fr0sT.Brutal 900 Posted March 4, 2020 For local storage that won't have any chance to become client/server - SQLite. Otherwise FB embedded with elementary transition to FB C/S 1 Share this post Link to post
Thijs van Dien 9 Posted March 5, 2020 15 hours ago, eivindbakkestuen said: Just grab NexusDB Embedded Free from GetIt, compiles directly into your windows app, only your exe to distribute. Proprietary databases are a no go IMHO, when there are plenty of excellent alternatives. 1 Share this post Link to post
Sriram 4 Posted November 20, 2020 On 11/3/2019 at 6:13 AM, Dmitry Arefiev said: 1) DB admin features - PostgreSQL 2) DB developer features - PostgreSQL / FireBird 3) Encryption, and ... speed - InterBase. On many tests IB outperforms FB, at least. 4) Mobile platforms - InterBase 5) Change Views is unique InterBase feature If to put SQLite into this list, then if you does not need multi-user access, scalability, DB is relatively small, then SQLite is the right way. If something from this list is not true, or may become false in future, then not SQLite. In order of descending preferences - SQLite, IbToGo / Firebird embedded, PostgreSQL I would only add one more point to this. IBLite is available for free for deployment to Windows, Linux, macOS, iOS and Android from RAD Studio. So, for your small local database file, if the database is going to be less than 100MB size, IBLite would work well. It will be free for your current needs, and if you need to upscale to C/S solution or other features like encryption or changed data tracking, it allows you to take your database file directly to InterBase ToGo or Server for a cost. https://www.embarcadero.com/products/interbase/product-editions Share this post Link to post
Vandrovnik 214 Posted November 20, 2020 Firebird for Android - it works (embedded), but there is no 64bit version for Android at this moment. When you publish your app in Google Play, you need 64bit version too... 1 Share this post Link to post
Serge_G 87 Posted November 20, 2020 22 minutes ago, Vandrovnik said: Firebird for Android - it works (embedded), but there is no 64bit version for Android at this moment. When you publish your app in Google Play, you need 64bit version too... How did you manage that ? Using AnyDac component yes it works, but I don't achieve that with Firedac, FDPhysFBDriverLink is not available for Androïd. Using FDPhysIBDriverLink and changing library I always run in a "connection rejected by host" error (32 bits client/server app) Using a 7.2 later beta ZEOSDBO I managed to get access to Firebird, but with the newer versions I can't even access to library ! Share this post Link to post
Vandrovnik 214 Posted November 20, 2020 22 minutes ago, Serge_G said: How did you manage that ? Well, it was not a clean work... I am using IBX components. I took IBX.IBIntf.pas, created AndroidIBIntf.pas from it. From TIBServerLibrary I have created my TAndroidIBServerLibrary and made a few modifications: In .LoadIBLibrary, I copy Firebird's files from IncludeTrailingPathDelimiter(tPath.GetDocumentsPath)+FbDynClientAssetsDirectory to IncludeTrailingPathDelimiter(tPath.GetHomePath)+FbDynClientRunDirectory, because I did not manage it to work from original path. In initialization, I set environment variables FIREBIRD_TMP and FIREBIRD_LOCK to a folder inside of tPath.GetTempPath In .LibraryName, I return path to libfbclient.so Share this post Link to post
John Terwiske 4 Posted November 20, 2020 For all new work that does not require a server DB I use SQLite. 1 Share this post Link to post