This alpha release contains a large number of new features, including derived tables, support for Execute Block, increased table sizes, new improved index code (the 252-byte index length limit is no longer applicable), expression indices, numerous optimiser improvements, enhanced security features, support for on-line incremental backups along with many other improvements & bug fixes.
I certainly hope their software works better than their website does. Broken links abound.
I have been using Firebird in my professional projects since Q1 of 2003. I can say that it´s a fantastic database, with many features, stability, easy to install and to maintain. Using it with Delphi, I could create a very productive framework and could have my systems finished earlier.
I evaluated MySQL and Postgree, and they are great too, but none of them could give me the rich features and simplicity as FB could.
I suggest all of you to give Firebird a try. It´s so easy to install and there´s a lot of free or open tools that helps too much (ibexpert, ibmanager, timetobackup, etc, etc).
Long life to Firebird. 2.0 is gonna be great, but I can´t wait for Vulcan.
If you can, help them to test this version. In their site there´s a test program. Let´s put 2.0 in production ASAP, but as they say: With QA!!
Congratulation Firebird Team! Keep going the excelent job!
where does Firebird really shine, and how standard compliant is it? Where you use this instead of PostgreSQL
Hi CaptainPink,
If it is standard compliant or not, this is not the point to me. I have a small software company and my small customers are very happy with the RESULTS of my systems, and a big part of this sucess is given to Firebird, other part to Delphi and the rest to my framework.
Postgree is a veeery good database too, but there´s some features in Firebird that I can´t live without. Firebird is very rich in features and it´s easy way to install and maintain gives me some advantages over other databases. Of course this is my scenario, and I´m not saying Postgree is not good, but my objetive is to be productive (with quality), so my best choice was FB + Delphi.
I can send a full feature trial system to my customers without to have to install anything. Just unzip the executable, the GDB and the embedded FB dll and it works. To install the server: next, next, finish… done. In Linux, one rpm.
You can make a procedure that returns a recordset without to have to create a cursor, and can join it with tables, views, etc. I guest there´s cursors in Postgree, but I can say to you that the FB way is very easy.
Generators (sequences), triggers, procedures, constraints, events, embedded database, computed fields, easy installation, easy maintainance, lot of tools, guardian service that prevents the FB server to stop working, available for many systems and the best of: simple, veeery simple.
Yes, I really like FB. Actually, I like Postgree, MySQL, Linux, Open Source at all, but in MY CASE, FB is the perfect choice.
Regards.
Firebird may be great for a embedded project, but if you want a true enterprise class DB, then the only choice is Postgresql.
I still don’t see any built in functions being included with Firebird 2.0 and I don’t see temp table support.
If you need even the most basic functions with FB you are forced to use external UDFs that can easily bring down your server if they are not coded just right.
You also have to use a manually created alias if you don’t want to reference your database by full file system path.
Postgres development also seems to move much faster than FB.
Postgres also has a native win32 version now. The nice thing about postgres is that after you install it creates a template1 database that your apps can connect to and create a new database and execute your setup scripts. This means it is not nearly as important if the database is embedded in your install or not. You simply query pg_database and see if the database your app needs exists, if it does not exist then create the database and run any ddl needed.
You can’t really do this with Firebird because the database can be located anywhere in the filesystem.
With Firebird you can’t run a query to see what databases are on the system.
They stole the name of our favorite Mozilla project!
The database name existed before the browser.
That’s why Firebird became Firefox.
Yes, the database name “firebird” exists before firebird browser that became firefox browser.
I don’t understand why people still using mysql in hosting providers, when firebird is more powerfull than mysql.
Eugenia:
Firebird website also at http://www.ibphoenix.com
> I still don’t see any built in functions being included with Firebird 2.0
Just use FreeUDF lib… Production stable. We’ve been using it for 4+ years, no issues. Writing a UDF in Delphi is so, so, so simple too.. lol… This argument is a NOP… At least with no built in functions, all bugs are your own.
> […] see temp table support
Temp tables are a crutch. Get over it! If you have to resort to temp tables, then your design is plain wrong.. Besides, all you need to do is write a SP that gives you a result set… this solves your “issue” in most cases…
e.g.
create table example
(
id integer,
text varchar (20),
data integer,
constraint pk_example primary key (id)
);
/* imagine the table has 2000 records in it.. */
create procedure temp_data(
criteria varchar (20)
)
returns (
id integer,
text varchar (20),
data integer )
begin
for select id, text, data
from example
where text = :criteria
into :id, :text, :data
do suspend;
end;
…
select *
from temp_data(‘some value’);
/* or, for example */
select text
from temp_data(‘whatever’)
where id > 25 and data = 10;
…
The above (untested, Interbase 6/Firebird 1.5, dialect 1) example will return all the data matched by the queries at the bottom… oh, and *look*, we don’t have to faff about with cursors…
This, surely, does 90% of what you use a temp table for?? I’m guessing you use them for read-only storage (do a query and move result set to a temp table..) Writing data periodically to a temp table just be insane…
> With Firebird you can’t run a query to see what databases are on the system.
Why, on earth, would you want to open up your system to that kind of security hole? LOL!! That’s almost like inviting your system to get trashed by a script kiddie.
> They stole the name of our favorite Mozilla project!
Aaron, if you reversed that statement, you might actually be right
(the alleged thief was infact the victim (i.e. owner of the name); the alleged victim, the thief..)
Has anyone got some experiences with new new open source Ingres to share with us? I’ve always been using Postgres – thinking about giving Ingres a try
Mr Anonymous,
Just because you don´t know Firebird, you can´t say it is not a good database. I´m not saying Postgree is not a good database. You must be informed about FB before to say it lacks features.
And, guy… temp tables? Is this a feature? If FB will implement it in 3.0, 4.0, I can´t see how I can use it if I have SP that returns recorsets in a rich featured way. If you don´t have this in Postgree, or maybe your client language doesn´t support bidirection datasets, just try to see other languages and DBs to your scenario.
If I go to your way of thinking: What do you mean by an “enterprise” database? How many enterprises are your customers? How many money do you can get using Postgree instead of FB? Firebird is an “enterprise” database to me, and if most of the “enterprises” still runs windows, why just now we can see a windows version of the enterprise Postgree DB?
Postgree is great, MysSQL is great and FB is great too. And everyone has its markets. Why to say FB lacks features? Postgree lacks features in my scenario too, but it still an excelent database!!
…
I see this kind of lovers all the time. They learn a language, start with a database because his first job is using it or because the community is saying its the best and then… nothing else is better than want to believe. This kind of religious makes some wars out there…
See? I can do some FUD too… but why we don´t stop it and start getting deeper in Postgree and you in FB? 😉
Im a hardcore Firebird User, all my projects use it, recently after the release of Postgree 8.0 for Windows I was really considering to change to it, PostGree is a damn good DB, it has many thinks that FB doesn’t, specially for security, but I couln’d change for some reasons like deployment, FB is still to easy to deploy, and by the other hand, the speed, I tried both and Firebird was like 5 times faster, that was the main showstopper for me, now I think is easier for me to way for FB to get new features than waith for PostGree to adapt to my needs.
Congratulations to all FB devs. for this release.
It’s Postgres, with an “s”, not Postgree. If you’re going to argue it’s merits or shortcomings, at least get the name right.
Please, Postgres is not any more difficult to install or deploy than Firebird.
To deploy Postgres, you just have the user install the DB first. If they can’t get the DB running by themselves they have no business using your software.
Postgres is actually easier to deploy because it creates a template database your app can use to connect to when it first runs, you can then query the version of Postgres and if the version is not correct for your app let the user know, if the version is ok, then see if you tables,schemas etc are intalled, you can do this by running a query against pg_database, if your database does not exist, then create it and after it’s created run your SQL script to create the objects.
or you could simply include a pg_dump file in your app and restore that to the newly created DB.
I do admit that if you are running a single user app the FB embedded DLL is pretty nice, but if you are deploying for a chat server, a news server or anything that is going to be multiple user you need to deploy the full version of the server, and you can embed that in you setup whether it is PG or FB.
Also the smart … that says temp tables are not usefull just does not know what they are talking about.
I used Firebird for a long time and I switched to PG and I can tell you after using both PG is the superior database. HANDS DOWN!!!!
I guarentee all of those that are supporting FB have actually never used PG or looked at it for 5 min and gave up. Do yourself a favor and check it out for more than 5 minutes.
FB UDFs may be easy to create in Delphi, but guess what?
You can’t use them on solaris or FreeBSD or anything else that is not Linux or win32.
Becuase Postgres has every function you could ever want built right in, your databases instantly become cross platform.
You can simply restore your database on any PG server regardless of what it is running on.
If you use UDFs in Firebird you can’t do this, even if the UDF is C or C++ you will have to recompile it for your target platform.
The only thing FB has over PG right now is two phase commit, and that is coming for 8.1
arguing over SQl servers.. jesus christ. grow up.
You can’t use them on solaris or FreeBSD or anything else that is not Linux or win32.
I don’t really give a damn, I won’t program beyond Linux and Windows.
I used Firebird for a long time and I switched to PG and I can tell you after using both PG is the superior database. HANDS DOWN!!!!
Nobody is saying is not, but for some needs like mine, FB is better.
Honestly I would be using PG but again, is just to Slow compared to FB.
Is anyone here useing Firebird on FreeBSD? How’s the performance, ease of use, ease of maintenance, and accessability (I mean like using it with Perl, PHP, Python, etc) on FreeBSD?
Um… it’s just PASCAL code… recompile it with FreePascal, or GNU Pascal. One of which exists for most platforms that FB runs on… or SHOCK HORROR, write it in C.. LOL!!! If C doesn’t exist, you’re stuffed anyway.. Any competant programmer could port any of FreeUDF to C. It’s simply then dependent on the FB port’s support for UDF.
Anyway… it’s open source. Compile your functions into it directly fer goodness sake…
As for Postgres – whether it’s the best DBMS in the world, or not, this is surely about FB? Otherwise I’d advocate ORACLE over anything, to be honest…
Errr. People thought I was serious?
firebird, postgresql , mysql and i don’t see what is the problem , all three can be improved and there is a place in the market for them .
I have only one showstopper from using FB in any production use: Lack of true UTF8 unicode support.
FB1.x has a sort of UTF8 support, but with great pain:
* string functions dont work with utf8 char columns (upper, lower)
* varchar(3) column allow you to store 3-9 characters (3 unicodes or 9 ansi chars), so this break a data integrity
* try to read the docs and understand how you should install unicode support, and use JDBC client driver. Not easy to understand how it goes.
MSSQL and MySQLwithInnoDB are a lot easier and all string functions work as you expect. And cannot store 9 characters into varchar(3) column as you can in FB1.x
I’ve tried to find UTF8 details of FB2 version but havent found any docs yet. Is it still as broken, I hope not.