Recent

Author Topic: Which database to choose for a singele user application  (Read 651 times)

ap3000

  • New member
  • *
  • Posts: 7
Which database to choose for a singele user application
« on: June 14, 2019, 10:41:19 am »
Hello
I need to choose a database for a single user application that will be compiled for Win/Mac/Linux. I would prefer a type of embedded database so that will be no need to install a database server.

What's coming to mind is SQLite and Firebird embedded, but are the other and better options and which works well on al 3 platforms?

Thanks in advance

Anders
Anders Pedersen

Thaddy

  • Hero Member
  • *****
  • Posts: 9152
Re: Which database to choose for a singele user application
« Reply #1 on: June 14, 2019, 11:11:08 am »
I reccomend Sqlite3. You can even statically link that instead of distributing the dll, dynlib or so.
also related to equus asinus.

Pascal

  • Hero Member
  • *****
  • Posts: 832
Re: Which database to choose for a singele user application
« Reply #2 on: June 14, 2019, 11:15:14 am »
Me too  :D
laz trunk - fpc trunk 32bit - Windows 10 Pro x64 (1803)

howardpc

  • Hero Member
  • *****
  • Posts: 3176
Re: Which database to choose for a singele user application
« Reply #3 on: June 14, 2019, 11:25:50 am »
If you don't need SQL, then use TBufDataset, which is lighter weight, not needing any third party libraries to be present (or to be installed cross platform, which can be a pain if the library is absent).

tonyw

  • Full Member
  • ***
  • Posts: 149
    • MWA Software
Re: Which database to choose for a singele user application
« Reply #4 on: June 14, 2019, 11:33:40 am »
Firebird may take longer to get into than SQLite, but if you believe that your application will grow, need more powerful SQL features or need to migrate to client/server mode then its well worth putting the effort in to use Firebird. Adding client/server is very straightforward. Indeed, I normally create two versions of my apps, one for personal databases and the other for client/server. The difference between the two is very minor and mostly to do with prompting the user for login credentials.

Even better, using Firebird means that you can also use the powerful IBX components   ;D IBX also comes with examples and components for embedded use, including backup/restore, database initialisation and schema upgrade.

ap3000

  • New member
  • *
  • Posts: 7
Re: Which database to choose for a singele user application
« Reply #5 on: June 14, 2019, 11:44:48 pm »
Thanks to everyone for your answers  :)

It sounds tempting to use Firebird embedded. Is there some documentation or tutorials on using it on Linux?

Anders
Anders Pedersen

HomerJ

  • New Member
  • *
  • Posts: 13
Re: Which database to choose for a singele user application
« Reply #6 on: July 03, 2019, 05:18:09 am »
The Firebird Book by Helen Borrie.  It is worth it's weight in gold, and it is heavy -- almost 1100 pages, but it has everything you'll need to know. I endorse the Firebird suggestion. I've has a Delphi/Firebird commercial app running in several hundred independent locations (each location has 1 to 15 users). It was released in 2010, and I've only had one case of data corruption which was caused by lightning hitting a power pole. I was able to restore the database using gfix (a utility that comes with Firebird), and I did it in about 15 minutes via a remote connection. You'll never be sorry.