Board index » delphi » Interbase or Firebird?

Interbase or Firebird?


2003-07-30 07:05:31 AM
delphi38
We are pretty much settled on using one of the above instead of MS SQL
Server. We were going to use Firebird, but I am wondering if Interbase is a
better choice. Firebird is obviously free to license. But interbase is not
expensive at all as compared to things like Oracle or MS SQL. Most of my
clients wouldn't have a problem with the cost at all. As I investigate some
of the tools for Interbase/Firebird I find that not all of them seem to
support Firebird as redily as Interbase (just at first glance).
My question is (taking cost out of the equation) what advantages are there
with going with either Firebird or Interbase?
Thanks for any input y'all want to throw at me! :)
Keith
 
 

Re:Interbase or Firebird?

"Keith G Hicks" <XXXX@XXXXX.COM>writes
Quote
We are pretty much settled on using one of the above instead of MS SQL
Server. We were going to use Firebird, but I am wondering if Interbase is
a
better choice. Firebird is obviously free to license. But interbase is
not
expensive at all as compared to things like Oracle or MS SQL. Most of my
clients wouldn't have a problem with the cost at all. As I investigate
some
of the tools for Interbase/Firebird I find that not all of them seem to
support Firebird as redily as Interbase (just at first glance).

My question is (taking cost out of the equation) what advantages are there
with going with either Firebird or Interbase?
The main advantages Interbase has right now is it is support for SMP and
performance monitoring/query cancellation; there were a few fixes in 7.1
related to events which are also a benefit if you use events. Otherwise,
I'd say feature for feature, the two are pretty even (at least based on the
features that *I* need).
Firebird, I believe, plans on tackling SuperServer SMP in their 2.x release.
Right now, you'd have to use Classic Server to get maximum performance out
of a multi-CPU box. Firebird supports more platforms than just Linux,
Solaris and Windows, which, again, is not an issue for me.
If you have more than 50 users on a single server, then the cost of
Interbase has gone down dramatically, now that there's an unlimited user
license available (for $3999).
Dan
 

Re:Interbase or Firebird?

Wow you guys are doing alot of work. You have just convinced me to re
address my views of a free Db. I am just starting a new project and was
going to to SQL server. I think i should re-evaluate firebird. The single
dll deployment sounds fantastic.
"Sean Leyne" <XXXX@XXXXX.COM>writes
Quote
Let me compare the Firebird response to the points Bill Todd listed,

>SMP support

As Dan Palley outlined Firebird will be attacking true SMP support in the
v2.0 development, however, there was been substantial work done to improve
the SuperServer task scheduler in v1.5.

Separately, Firebird is available in a Classic server build, for all
platforms -- which is not available for Interbase. Real world reports
show
that Classic performs significantly better on SMP boxes.


>Processor affinity control

Firebird had this before IB.


>Multithreaded kernal

That could have been said of all the IB releases since 5.x -- doesn't
really
mean much.


>DBA can cancel a user's operation or currently executing statement,
>commit or rollback a transaction or disconnect a user.

This will exposed in a post v1.5 update. What is interesting is the fact
that the code to support this feature has been in place since IB 5.6+.


>Performance monitoring tables

The code to support these virtual tables was developed a while ago for
Firebird but the developer didn't have time to finish his work before the
v1.5 code has closed to new features. Expect to see this in a post v1.5
update.


>Boolean data type

This had been planned for v1.5 just didn't get finished, expect it in a
post
v1.5 update. Interestingly, v1.5 supports the SQL-92 "BigInt" data type.


>Type 4 JDBC driver

Firebird has it is own Type 4 driver -- JayBird.


>Performance monitor in IBConsole

Given that IBConsole is Borland's closed source tool, I'd have been
shocked if IBConsole didn't support performance monitoring features.
Actually, wait a minute! They didn't support this when they released
v6.5 -- it took Craig Stunz to develop it for them to add it to IBConsole.

I can guarantee that as soon as Firebird exposes it is own virtual tables,
the DB Tools developers will have full support for performance monitor
functions available in no time.


>Savepoints

Firebird v1.5 has this.


There are a number of features/points which Firebird was over Interbase;

- Significantly improved SQL parser -- providing improved error reporting

- Significantly improved optimizer -- more than makes up for the lack of
SMP
support. It took one developer 4 months to do what Borland still have yet
to do, improve the basic functionality of the optimizer!

- Significant improvement in core engine performance -- backups and
restores
run 5 times faster!

- Built-in support for "CASE", "COALESCE" and "NULLIF" functions

- Improved GROUP-BY support

- MS Dot Net Provider

- A true "embedded" engine build -- single DLL for deployment. Finally a
true "Build, Embed and Deploy" solution.

For a more complete list see my article/presentation
www.ibphoenix.com/downloads/FirebirdProjectUpdate.pdf


--
Sean Leyne
FirebirdSQL Foundation, Gold Sponsor
FirebirdSQL Foundation, Member
FirebirdSQL Project Admin (one of many)
www.FirebirdSQL.org


 

Re:Interbase or Firebird?

In article <3f26fdcf$XXXX@XXXXX.COM>, Keith G Hicks says...
Hi,
Quote
My question is (taking cost out of the equation) what advantages are there
with going with either Firebird or Interbase?
Well performance is about the same (one is better at some things, the
other better at others, on my machines), so it is really down to the
features you require/need.
IB has more, what I call, 'admin' features (monitoring etc.), Firebird
has lot more 'developer' features (enhanced SQL, functions, improved
triggers and SP's etc.)
Phil
 

Re:Interbase or Firebird?

Slightly off topic ..
if I have a database that is running under Interbase 6.0.1.6 opensource is
it likely that I will need to do anything else to that database other than
back it up under 6.0.1.6 and restore it to make it work with Firebird 1.5 ??
I am really interested trying out the Firebird product but am trying to
ascertain how much work it actually would be to upgrade my many many
customers to it.
"Sean Leyne" <XXXX@XXXXX.COM>writes
Quote
Let me compare the Firebird response to the points Bill Todd listed,

>SMP support

As Dan Palley outlined Firebird will be attacking true SMP support in the
v2.0 development, however, there was been substantial work done to improve
the SuperServer task scheduler in v1.5.

Separately, Firebird is available in a Classic server build, for all
platforms -- which is not available for Interbase. Real world reports
show
that Classic performs significantly better on SMP boxes.


>Processor affinity control

Firebird had this before IB.


>Multithreaded kernal

That could have been said of all the IB releases since 5.x -- doesn't
really
mean much.


>DBA can cancel a user's operation or currently executing statement,
>commit or rollback a transaction or disconnect a user.

This will exposed in a post v1.5 update. What is interesting is the fact
that the code to support this feature has been in place since IB 5.6+.


>Performance monitoring tables

The code to support these virtual tables was developed a while ago for
Firebird but the developer didn't have time to finish his work before the
v1.5 code has closed to new features. Expect to see this in a post v1.5
update.


>Boolean data type

This had been planned for v1.5 just didn't get finished, expect it in a
post
v1.5 update. Interestingly, v1.5 supports the SQL-92 "BigInt" data type.


>Type 4 JDBC driver

Firebird has it is own Type 4 driver -- JayBird.


>Performance monitor in IBConsole

Given that IBConsole is Borland's closed source tool, I'd have been
shocked if IBConsole didn't support performance monitoring features.
Actually, wait a minute! They didn't support this when they released
v6.5 -- it took Craig Stunz to develop it for them to add it to IBConsole.

I can guarantee that as soon as Firebird exposes it is own virtual tables,
the DB Tools developers will have full support for performance monitor
functions available in no time.


>Savepoints

Firebird v1.5 has this.


There are a number of features/points which Firebird was over Interbase;

- Significantly improved SQL parser -- providing improved error reporting

- Significantly improved optimizer -- more than makes up for the lack of
SMP
support. It took one developer 4 months to do what Borland still have yet
to do, improve the basic functionality of the optimizer!

- Significant improvement in core engine performance -- backups and
restores
run 5 times faster!

- Built-in support for "CASE", "COALESCE" and "NULLIF" functions

- Improved GROUP-BY support

- MS Dot Net Provider

- A true "embedded" engine build -- single DLL for deployment. Finally a
true "Build, Embed and Deploy" solution.

For a more complete list see my article/presentation
www.ibphoenix.com/downloads/FirebirdProjectUpdate.pdf


--
Sean Leyne
FirebirdSQL Foundation, Gold Sponsor
FirebirdSQL Foundation, Member
FirebirdSQL Project Admin (one of many)
www.FirebirdSQL.org


 

Re:Interbase or Firebird?

Sean Leyne writes:
Quote
>Multithreaded kernal

That could have been said of all the IB releases since 5.x -- doesn't
really mean much.
If you think this doesn't mean much, you probably haven't spent
significant time (if any) with IB 7. "Multithreaded kernel" is an
incomplete description, though. The significant change with IB 7 is
not just full support for OS multithreading but that the engine's
threads are fine grained.
What does this mean for users in the real world? It means that
long-running queries in other transactions never (never!) interrupt or
even significantly slow shorter queries that you need results from
right away. The difference between IB 7 and earlier versions needs to
be experienced to appreciate, so I would suggest looking at the IB trial.
And of course on an SMP system you see an even bigger difference.
Some features that Bill didn't mention which are in IB 7.1:
o .NET data provider.
o Significantly optimized connection speed (connections are
instantaneous, reducing the need for pooling), restore speed, and
better handling of background processes such as garbage collection and
sweep.
o Full support for hyper-threading and Windows Server 2003.
o Better handling of events -- events now use the same port as the
server, so firewall configuration is easier.
o New character sets.
o Improved documentation.
Finally, since Sean chose to single me out:
Quote
Actually, wait a minute! They didn't support this when they released
v6.5 -- it took Craig Stunz (sic) to develop it for them to add it to
IBConsole.
The first release of IB Performance Monitor was included on the
companion CD with IB 6.5. I wrote the tool on a three hour plane ride
-- it was nothing more than a bunch of grids and a few buttons. The
real work is inside the server. Saying "they didn't support this" is
extremely misleading, because the IB team did the hard work. I just
provided a user interface, which they liked and decided to use.
-Craig
--
Craig Stuntz [TeamB] . Vertex Systems Corp. . Columbus, OH
Delphi/InterBase Weblog : delphi.weblogs.com
How to ask questions the smart way:
www.catb.org/~esr/faqs/smart-questions.html
 

Re:Interbase or Firebird?

I have to say I am really appreciating all of the input so far. For my
current purposes, cost is really irrelevant (well, except if we were to use
MS SQL, DB2 or Oracle - then it is relevant!). To run a 10 user IB system
is going to cost a client about $1500 in server licensing. For a program
that costs $50,000 to develop, to pay an additional $1500 in licensing is
pretty small. So far it feels like IB is a bit safer and somewhat ahead of
FB in areas that are important to me. Some of my clients will run remote
stand-alone systems and will have to pay $400 to license IB on each of
those. But again that is pretty small compared to the development work.
Does anyone know of a website that shows a feature comparison between IB and
FB? Preferably written by someone knowledgeable enough to make the
comparison complete and by someone that can be as objective as possible
(without bias toward either FB or IB).
Thanks again,
Keith
 

Re:Interbase or Firebird?

Keith G Hicks writes:
Quote
Does anyone know of a website that shows a feature comparison between
IB and FB? Preferably written by someone knowledgeable enough to
make the comparison complete and by someone that can be as objective
as possible (without bias toward either FB or IB).
I've never seen an "unbiased" comparison; I doubt such a beast exists.
But both InterBase and Firebird are pretty clear about what their
features are. For InterBase, see:
www.dbginc.com/tech_pprs/IB65New.html and
www.dbginc.com/tech_pprs/ib7/IB7.htm
...and the IB 7.1 release notes (included with the trial download) for
post-6.0 features. For Firebird see the Firebird documentation.
It's hard to do general comparisons of DB servers since every DB
project is different. But it is usually fairly easy to look at servers
for one specific project and decide which server is the best match.
HTH,
-Craig
--
Craig Stuntz [TeamB] . Vertex Systems Corp. . Columbus, OH
Delphi/InterBase Weblog : delphi.weblogs.com
Please read and follow Borland's rules for the user of their
news server: info.borland.com/newsgroups/guide.html
 

Re:Interbase or Firebird?

Hi Martin,
Quote
if I have a database that is running under Interbase 6.0.1.6 opensource is
it likely that I will need to do anything else to that database other than
back it up under 6.0.1.6 and restore it to make it work with Firebird 1.5
??
I am really interested trying out the Firebird product but am trying to
ascertain how much work it actually would be to upgrade my many many
customers to it.
Firebird is 99% backwards compatible.
Problem could be SQL commands if they :
- contain ambigiuos column-names.
- have invalid aggregate queries which are allowed in IB.
- you've a table/sp/view called BIGINT (new reserved word)
Regards,
Arno Brinkman
ABVisie
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Firebird links :
www.firebirdsql.com
www.firebirdsql.info
www.fingerbird.de/
www.comunidade-firebird.org/
Nederlandse firebird nieuwsgroep :
 

Re:Interbase or Firebird?

"Craig Stuntz [TeamB]" <XXXX@XXXXX.COM>writes
....
Quote
Some features that Bill didn't mention which are in IB 7.1:

o .NET data provider.
Ditto Firebird.
Quote
o Significantly optimized connection speed (connections are
instantaneous, reducing the need for pooling), restore speed, and
better handling of background processes such as garbage collection and
sweep.
Ditto Firebird -- 300 connects per second! Backup and Restore times
improved (backup 1.5GB database in 8 minutes)
Quote
o Full support for hyper-threading and Windows Server 2003.
Hyper-Threading -- Hyper-threading support is really so that the per-CPU
license model detects hyper-threading servers and allows the 'virtual' CPUs
to work correctly. The work that IB put to improve the engine/task
scheduler (fine grain control) (i.e. SMP) was the real work required (which
was done for v7.0).
As for Windows 2003 Server support -- some Firebird users have reported issues, some
not...
Quote
o Better handling of events -- events now use the same port as the
server, so firewall configuration is easier.
Ditto Firebird.
Firebird actually allows you to configure the port used for events.
Quote
o New character sets.
o Improved documentation.

Finally, since Sean chose to single me out:
Come Craig! I wasn't singling you out in the negative sense -- I was
actually trying to give you some praise!
Quote
I wrote the tool on a three hour plane ride
-- it was nothing more than a bunch of grids and a few buttons.
Not to take away from your effort but further reinforces my point!
If it was so simple to write;
- why wasn't the feature included in the IBConsole which shipped with
7.0???
- why make such a 'big deal' in mentioning it as a new 'feature' in the
first place?
Why does someone have to write of function which is **so obviously
required**. Had it been the case that you wrote a BETTER product, that
would have been a much different argument.
Sean
 

Re:Interbase or Firebird?

Keith,
Quote
So far it feels like IB is a bit safer and somewhat ahead of
FB in areas that are important to me.
Your original posting didn't list the "areas that are important to me",
could you elaborate on what these are?
Sean
 

Re:Interbase or Firebird?

Keith G Hicks writes:
Quote
So far it feels like IB is a bit safer and somewhat ahead of
FB in areas that are important to me. Some of my clients will run remote
stand-alone systems and will have to pay $400 to license IB on each of
those. But again that is pretty small compared to the development work.
There's one thing that no one here mentioned, or at least stressed
enough, regarding IB/FB.
Interbase is a proprietary product while Firebird is open source and
free. Aside from the cost, which in your case is a non-issue, there are
other aspects to consider.
When you pay for something you get this cozy feeling that somewhere
someone is responsible and accountable. That *could* be an advantage for
IB, but read the fine print of the license. Like most commercial
licenses you will see that Borland's responsibility doesn't extend beyond
replacing the media on which IB is delivered.
Also the level of support you get with purchase of Interbase (or most
other Borland products) is the newsgroups. For anything beyond that you
need to pay.
But most important with Interbase you are subject to Borland's policies
for fixing bugs and adding features. The influence you have is minimal
if any at all, and you never know in advance what Borland plans.
Firebird is open source and as such you can not blame anyone if something
goes wrong. Of course that having someone to blame won't actually solve
any problem, but it may help you shift responsibility under certain
circumstances.
Firebird support is much like that of Interbase - newsgroups for free,
or commercial support. However on the newsgroups you can disucss
problems and suggestion directly with core developerts, some of which
are the people who created Interbase and continued to develop and
support it inside Borland for many years (until they left - long story).
Firebird's update cycles is fast and transparent. You know what's coming
and what's postponed to the next version. Development versions are
available for download so you can test them and prepare for the changes.
In my opinon, other than cost the most important difference between the
two DBs is that with FB you have faster updates and you know what's
going on.
Quote
Does anyone know of a website that shows a feature comparison between IB and
FB? Preferably written by someone knowledgeable enough to make the
comparison complete and by someone that can be as objective as possible
(without bias toward either FB or IB).
Generally the two are equivalent. As you can gather from the posts,
since the fork (version 6) the DBs developed to somewhat different
directions.
Interbase has better SMP, BOOLEAN type, and a nice implementation of
ROWS (return range of records from the result). FB got a better query
optimizer, IIF / CASE, simple FIRST/SKIP records, improved
backup/restore. I probably forget a few things for each but I guess you
get the picture - they are different but equivalent.
One more thing that I think you mentioned in your first post, is support
by 3rd party tools. I will try to cover it briefly:
IB/FB-specific Components:
Borland compilers ship with IBX which supports IB and still support FB.
At some point it is expected that there will be such differences that IBX
will not be fully compatible with FB. However you can use FIBPlus which
is very similar in design to IBX (with some improvements) and it's
guaranteed to support both. I think there's also another IBX-like
library for FB but I am not sure. Then there's IBObjects which many
cosnider as *the* component set to use with IB/FB. It supports both DBs
equally well.
dbExpress:
If you plan to stick with either IB or FB, then it is best to use one of
the specific components. If for some reason you insist on using
dbExpress, then Borland ships a good dbExpress driver for Interbase
(which some people claim is the only dbExpress driver that actually
works, but that is a different story). There's an equally good dbExpress
driver for Firebird from a 3rd party (Upscene).
IB/FB specific admin/development/CASE tools:
There are several of those, off the top of my head: IB Admin, IB
Manager, IB Expert and Database Workbench (my choice, also from
Upscene). Probably there are a few more but anyway all of them support
IB and FB rather. Not surprising as they build on IBObjects or FIBPlus.
Generic admin/development/CASE tools:
These mostly support Interbase although some of them may work Firebird.
As Firebird gains more popularity it will probably be supported as well.
Overall it is impossible to tell which DB is better in terms of features,
peformance, components and tools. The deciding factor is proprietary vs.
open source.
HTH,
Eyal.
 

Re:Interbase or Firebird?

Eyal writes:
Quote
But most important with Interbase you are subject to Borland's
policies for fixing bugs and adding features. The influence you have
is minimal if any at all, and you never know in advance what Borland
plans.
You Firebird folks do better when you stick to describing Firebird.
:) Borland does take user input both directly and via QualityCentral,
and issues reported in QualityCentral do get fixed. IB 7.0's SMP
support was trumpeted for everyone to hear before IB 6.5 was even out
the door. There's always room for more communication, but your
assertion here is simply inaccurate.
I do agree that open source vs. software backed by a large and solid
company is an important consideration. If you want both, you will have
to look outside of IB/Firebird, however (PostgreSQL might count, I
guess, if you count Red Hat as "solid"). Which is most important to
you depends upon your project.
Quote
IB/FB-specific Components:
Borland compilers ship with IBX which supports IB and still support
FB.
Quibble: Most reports say that IBX *works* with Firebird for the time
being, but it has never *supported* Firebird. I agree that if one uses
the Firebird server one should choose components which explicitly
support this server.
-Craig
--
Craig Stuntz [TeamB] . Vertex Systems Corp. . Columbus, OH
Delphi/InterBase Weblog : delphi.weblogs.com
InterBase Performance Monitor -- Analyze and control your IB7
server: delphi.weblogs.com/IBPerformanceMonitor
 

Re:Interbase or Firebird?

As someone who does both... let me comment :-)
(see below)
Quote
Keith G Hicks writes:
>So far it feels like IB is a bit safer and somewhat ahead of
>FB in areas that are important to me. Some of my clients will run remote
>stand-alone systems and will have to pay $400 to license IB on each of
>those. But again that is pretty small compared to the development work.

There's one thing that no one here mentioned, or at least stressed
enough, regarding IB/FB.

Interbase is a proprietary product while Firebird is open source and
free. Aside from the cost, which in your case is a non-issue, there are
other aspects to consider.

When you pay for something you get this cozy feeling that somewhere
someone is responsible and accountable. That *could* be an advantage for
IB, but read the fine print of the license. Like most commercial
licenses you will see that Borland's responsibility doesn't extend beyond
replacing the media on which IB is delivered.

Also the level of support you get with purchase of Interbase (or most
other Borland products) is the newsgroups. For anything beyond that you
need to pay.
Do note that there's also commercial support available for InterBase
and Firebird via, for example, IBPhoenix. Support for InterBase is
also available at several VARs.
Quote
But most important with Interbase you are subject to Borland's policies
for fixing bugs and adding features. The influence you have is minimal
if any at all, and you never know in advance what Borland plans.
I have to agree with Craig here - the QualityCentral thingy is being
watched at. The thing with Firebird is, that you get a more timely
reply - almost instant satisfaction - about your request/bug report.
Requesting a feature with Fb often results in a discussion right after
your request. If "granted", the implementation can take a while though.
Quote
Firebird support is much like that of Interbase - newsgroups for free,
or commercial support. However on the newsgroups you can disucss
problems and suggestion directly with core developerts, some of which
are the people who created Interbase and continued to develop and
support it inside Borland for many years (until they left - long story).
Yes, there sure is more "close contact" support with Firebird.
Quote
Firebird's update cycles is fast and transparent. You know what's coming
and what's postponed to the next version. Development versions are
available for download so you can test them and prepare for the changes.
Define "fast". With Firebird, it also takes a while to get things to a new
version. Since it is first start, the Firebird project has "only" released a
single stable version: 1.0.x... Version 1.5 (a major overhaul) is being
"release candidated" right now - so a final 1.5 release is to be expected
soon.
With Borland, there's a schedule - with Firebird, there isn't. I don't think
Borland publishes the schedule though, but I guess they don't do much
over-due stuff - that is, once a release is scheduled, I expect them to
release at that date. With Firebird, there's no knowing when you're
going to get a release - if any.
Quote
In my opinon, other than cost the most important difference between the
two DBs is that with FB you have faster updates and you know what's
going on.
Firebird seems to release in smaller increments, when it comes to new
features. Which, of course, makes sense for an open source, no license
fee etc etc project.
Considering bug-fixes, more insight into things that are fixed for each
new InterBase release would be very nice indeed. Note that Borland
also can respond quickly - just have a look at version 7.0.1 (or
something?) of InterBase - a quick response to a bug not caught during
(field) testing.
As a side-note:
I like and support both. I will not tell you what engine to use. If I were
to be a consultant, I'd take a good look on a per-case basis and
make a decision, or let the customer decide.
--
With regards,
Martijn Tonies
Database Workbench - the developer tool for InterBase & Firebird
Upscene Productions
www.upscene.com
 

Re:Interbase or Firebird?

Martijn Tonies writes:
Quote
With Borland, there's a schedule.... I
don't think Borland publishes the schedule though....
Sorta. Jon Arthur announced prior to the 6.5 release that IB 7.0
would ship in 2002, and those of us who presumed that "in 2002" meant
Q4 of 2002 were not disappointed. :)
I haven't seen an announcement for the next post-7.1 release yet. I
think the team is catching their breath at the moment.
-Craig
--
Craig Stuntz [TeamB] . Vertex Systems Corp. . Columbus, OH
Delphi/InterBase Weblog : delphi.weblogs.com
InterBase PLANalyzer 1.1 -- Free InterBase query optimization
tool: delphi.weblogs.com/IBPLANalyzer