Recent

Author Topic: Firebid - IBX - embedded version  (Read 1269 times)

Nicole

  • Hero Member
  • *****
  • Posts: 970
Firebid - IBX - embedded version
« on: November 14, 2022, 11:21:19 am »
I use Firebid 2.5. and within some weeks I want to upgrade.
Where to?
There is Firebird 4.

Is it the best choice?
IBX works until Firebird 3.
And an embedded version of Firebird is until 2.5.?
Can this be right?

Will there be an upgrade of IBX for Firebird 4 in the near future?
Or is it a bad idea in general to want the most recent version?

Thank you for all discussion ideas.

Zvoni

  • Hero Member
  • *****
  • Posts: 2319
Re: Firebid - IBX - embedded version
« Reply #1 on: November 14, 2022, 11:28:57 am »
You're definitely only using the embedded Version? Not the Server-based Version?
And there are no plans to (maybe) move it to server-based?

If yes, then IMO Firebird is the wrong choice for filebased Database (But that's my personal opininion. Never liked Firebird).
SQLite, and done with it
One System to rule them all, One Code to find them,
One IDE to bring them all, and to the Framework bind them,
in the Land of Redmond, where the Windows lie
---------------------------------------------------------------------
Code is like a joke: If you have to explain it, it's bad

MichaelBM

  • New Member
  • *
  • Posts: 38
Re: Firebid - IBX - embedded version
« Reply #2 on: November 14, 2022, 02:15:12 pm »
Our enterprise system runs on Firebird 2.5 and will be upgraded to Firebird v4 during the Christmas holidays.

This is from SQLite.org:

SQLite is not directly comparable to client/server SQL database engines such as MySQL, Oracle, PostgreSQL, or SQL Server since SQLite is trying to solve a different problem.
SQLite does not compete with client/server databases. SQLite competes with fopen().
Development Tool: Lazarus 2.0.6 + FPC 3.0.4
Database: Firebird 2.5.7
Operating System: Windows 10 Pro 64-bit

rvk

  • Hero Member
  • *****
  • Posts: 6111
Re: Firebid - IBX - embedded version
« Reply #3 on: November 14, 2022, 02:32:24 pm »
IBX works until Firebird 3.
And an embedded version of Firebird is until 2.5.?
IBX for Lazarus also works for Firebird 4 (embedded and server).
See the note from tony.
The current version of IBX supports Firebird 4 with the exception of the IBATCH interface. IBATCH  support is held back while Firebird issues are being resolved, see https://github.com/FirebirdSQL/firebird/issues/6900.

To download ibx go to https://www.mwasoftware.co.uk/ibx
If the plan is to migrate the enterprise system to Firebird 4 over Christmas, it's best to go for FB 4 now so you can check out the problems you might face.

MichaelBM

  • New Member
  • *
  • Posts: 38
Re: Firebid - IBX - embedded version
« Reply #4 on: November 14, 2022, 03:35:52 pm »
Quote
If the plan is to migrate the enterprise system to Firebird 4 over Christmas, it's best to go for FB 4 now so you can check out the problems you might face.

When everyone else is on vacation our IT department will be working during the Christmas holidays (as always :D) with migration.
Development Tool: Lazarus 2.0.6 + FPC 3.0.4
Database: Firebird 2.5.7
Operating System: Windows 10 Pro 64-bit

Zvoni

  • Hero Member
  • *****
  • Posts: 2319
Re: Firebid - IBX - embedded version
« Reply #5 on: November 14, 2022, 04:07:47 pm »
Quote
If the plan is to migrate the enterprise system to Firebird 4 over Christmas, it's best to go for FB 4 now so you can check out the problems you might face.

When everyone else is on vacation our IT department will be working during the Christmas holidays (as always :D) with migration.
Since you answered and not nicole, i take it you're working for the same company.

In that case: No, makes no sense to switch to another DBMS.
rvk said everything needed to be said
One System to rule them all, One Code to find them,
One IDE to bring them all, and to the Framework bind them,
in the Land of Redmond, where the Windows lie
---------------------------------------------------------------------
Code is like a joke: If you have to explain it, it's bad

Nicole

  • Hero Member
  • *****
  • Posts: 970
Re: Firebid - IBX - embedded version
« Reply #6 on: November 15, 2022, 09:07:17 am »
Thank you for the answers.
So I think I will move to FB 4 after Christmas.

Yes, I use a server based FB now. But it would be nice to copy all my work to an USB-stick and put it into my pocket. The VM with the drivers etc. is rather huge, and the copy process takes its time and its space.

Why do you prefer SQLite? Firebird is really slim and powerful. And it works already.

Zvoni

  • Hero Member
  • *****
  • Posts: 2319
Re: Firebid - IBX - embedded version
« Reply #7 on: November 15, 2022, 01:00:16 pm »
Thank you for the answers.
So I think I will move to FB 4 after Christmas.

Yes, I use a server based FB now. But it would be nice to copy all my work to an USB-stick and put it into my pocket. The VM with the drivers etc. is rather huge, and the copy process takes its time and its space.

Why do you prefer SQLite? Firebird is really slim and powerful. And it works already.
Personal preference (like pretty much everything in life. I'll never understand why people like Hip-Hop-Music).
And: at least to me, it appears, that SQLite has a much bigger User-base than FB, so finding support for SQLite appears easier.
But that's my impression. Might be completely wrong.
And i don't/won't say, that FB is a "bad" DBMS, since i really don't have that much experience with it.

OTOH, since i have to handle different DB-"Formats" on a regular Basis (IBM DB2 on an iSeries at Work, sometimes "misusing" Excel-Worksheets as a DB-Table, CSV's, SQLite for config-Stuff and privately, MySQL privately), i've changed my "approach" how to handle Databases.
I've worked out a systematic for me, which basically can be summed up with "Shoot and forget", independent which DBMS is on the backend, without having to change a single line of code in my Frontend, if the backend gets changed, say from SQLite to MySQL to PostGres To MSSQL To DB2 To my dirty socks, whatever.
« Last Edit: November 15, 2022, 01:05:59 pm by Zvoni »
One System to rule them all, One Code to find them,
One IDE to bring them all, and to the Framework bind them,
in the Land of Redmond, where the Windows lie
---------------------------------------------------------------------
Code is like a joke: If you have to explain it, it's bad

tonyw

  • Sr. Member
  • ****
  • Posts: 319
    • MWA Software
Re: Firebid - IBX - embedded version
« Reply #8 on: November 15, 2022, 11:50:12 pm »
For the record, Firebird 4 IBatch now works and is fully supported by IBX.

Also, since Firebird 3, the embedded and remote server are the same executeable.

IBX works until Firebird 3.
And an embedded version of Firebird is until 2.5.?
IBX for Lazarus also works for Firebird 4 (embedded and server).
See the note from tony.
The current version of IBX supports Firebird 4 with the exception of the IBATCH interface. IBATCH  support is held back while Firebird issues are being resolved, see https://github.com/FirebirdSQL/firebird/issues/6900.

To download ibx go to https://www.mwasoftware.co.uk/ibx
If the plan is to migrate the enterprise system to Firebird 4 over Christmas, it's best to go for FB 4 now so you can check out the problems you might face.

Nicole

  • Hero Member
  • *****
  • Posts: 970
Re: Firebid - IBX - embedded version
« Reply #9 on: November 16, 2022, 10:23:33 am »
Quote
For the record, Firebird 4 IBatch now works and is fully supported by IBX.

What does
Quote
Firebird 4 IBatch
mean / refer to?

Thaddy

  • Hero Member
  • *****
  • Posts: 14204
  • Probably until I exterminate Putin.
Re: Firebid - IBX - embedded version
« Reply #10 on: November 16, 2022, 10:32:11 am »
Side note: I find it very, very funny that Firebird lovers explain embedded as having dependencies with external binaries.
That is plain silly. Embedded not even implies that should be necessary, it is part of a single executable. (even a shared library is dubious for embedded).E.g. Sqlite is truly embedded when linked statically, which Firebird not even supports afaik.
Specialize a type, not a var.

tonyw

  • Sr. Member
  • ****
  • Posts: 319
    • MWA Software
Re: Firebid - IBX - embedded version
« Reply #11 on: November 17, 2022, 03:11:29 pm »
Quote
For the record, Firebird 4 IBatch now works and is fully supported by IBX.

What does
Quote
Firebird 4 IBatch
mean / refer to?
IBatch is an interface provided by the Firebird 4 client that allows update or insert statements to be repeatedly executed with different parameter values each time. Instead of each individual execution being required to complete before the next one is started, each parameter set is appended to a local buffer and then sent as a single operation "across the wire" to the server. A single response is then returned when all updates/inserts in the buffer have been completed. The purpose of IBatch is to improve performance when a large number of consecutive updates/inserts are preformed.

IBX supports IBatch via its low level Firebird Pascal Interface. It is not available for use with TIBDataset, TIBTable, etc. See 5.4.2.4 in the IBX User Guide.

tonyw

  • Sr. Member
  • ****
  • Posts: 319
    • MWA Software
Re: Firebid - IBX - embedded version
« Reply #12 on: November 17, 2022, 03:21:38 pm »
Side note: I find it very, very funny that Firebird lovers explain embedded as having dependencies with external binaries.
That is plain silly. Embedded not even implies that should be necessary, it is part of a single executable. (even a shared library is dubious for embedded).E.g. Sqlite is truly embedded when linked statically, which Firebird not even supports afaik.
I am not sure about whether this forum is the right place to have arguments about the merits of static vs dynamic linking. I've only ever built dynamic link libraries for Firebird, but if you really wanted to, I don't see a good reason why you could not build static link libraries for Firebird (e.g. if you wanted to distribute your executable as firmware).

With Firebird, the term "Embedded" means that the database engine is running as part of the user process, is always local, and shares the same privileges as its user. Whether you link the database engine statically or dynamically into your user executable should only affect the way the program is loaded rather than how it is used.

 

TinyPortal © 2005-2018