1

Are there major disadvantages using the embedded Firebird 3 in a multi-user application server (Delphi Webbroker) instead of the full blown server install?

The application usually has very short transactions with low data volume.

As far as I am informed accessing one database file with multiple threads through the embedded server is not problematic but user security is not available. As the application server does the rights stuff I do not need Firebird security.

But will I loose performance or things like garbage collection?

Mark Rotteveel
  • 100,966
  • 191
  • 140
  • 197
MichaSchumann
  • 1,361
  • 1
  • 17
  • 36

1 Answers1

3

Firebird Embedded provides all the features (except network access and authentication) that a normal Firebird server provides. However, because it is in-process, any problems that cause your application to crash, will take Firebird with it and vice versa.

Other possible downsides:

  • Garbage collection will - as far as I know - always use the 'cooperative' model (where the connection to find old record versions, is the one that cleans it up),
  • You can't use other tools to access your database remotely which may make administration harder,
  • You can't put your database on a separate server from your web application (think of security requirements).

Personally, I would only choose Firebird Embedded if the situation calls for it. In all other situations, I will use Firebird Server.

Mark Rotteveel
  • 100,966
  • 191
  • 140
  • 197
  • Thanks, this is what I hoped to hear. The downsides are acceptable for me and as I want to provide a bundle with my appserver this makes things more easy as only one service/deamon will be installed. – MichaSchumann Jul 28 '19 at 12:42
  • `I would only choose Firebird Embedded if the situation calls for it.` That sounds like a rational truism... – J... Jul 28 '19 at 14:48
  • @J... Possibly, but I'm trying to convey that Firebird Server should be the default choice. Especially in a server application, I can't think of a good reason to use Firebird Embedded. – Mark Rotteveel Jul 28 '19 at 15:34
  • @MarkRotteveel It's cheap. That's about it. – J... Jul 28 '19 at 15:42
  • @J... Firebird Server is free software, so pricewise there is no difference. – Mark Rotteveel Jul 28 '19 at 16:51
  • @MarkRotteveel To deploy, I mean. It sacrifices scalability for a cheap and easy deployment. – J... Jul 28 '19 at 17:03
  • @Mark: You are right. I think about starting and controlling the server process by the application what would reduce the neccissity to install multiple services. This sounds weird but (at least in Germany) many Admins of my customers are also weird and make things very difficult. A thing like "What? Two services for one application" can make a difference ;-) – MichaSchumann Jul 29 '19 at 08:23
  • Also: Shared Caches will not be available in multiple embedded attachments, that might hit performance... – MichaSchumann Jul 29 '19 at 08:24
  • @MichaSchumann The same thing happens in Firebird Server when you use ClassicServer or SuperClassic mode, so it is not directly a downside of using embedded or not. – Mark Rotteveel Jul 29 '19 at 12:36