Firebird and PostgreSQL at the DB Corral. - Mailing list pgsql-general
From | Paul Ganainm |
---|---|
Subject | Firebird and PostgreSQL at the DB Corral. |
Date | |
Msg-id | MPG.1a4983a917675eaf9896b3@news.gmane.org Whole thread Raw |
Responses |
Re: Firebird and PostgreSQL at the DB Corral.
Re: Firebird and PostgreSQL at the DB Corral. Re: Firebird and PostgreSQL at the DB Corral. Re: Firebird and PostgreSQL at the DB Corral. Re: Firebird and PostgreSQL at the DB Corral. Re: Firebird and PostgreSQL at the DB Corral. Re: Firebird and PostgreSQL at the DB Corral. Re: Firebird and PostgreSQL at the DB Corral. |
List | pgsql-general |
Hi all, Following up on another thread, here is a comparison between FB and PG from an FB'ers POV. BTW, FB is the love-child of Open-Source-Interbase. BTW, I have tried to be as accurate as I can with the information available to me at this point in time - I was unable to find anything resembling a feature list on the FB site, so most of this is from memory. I do have an email account on the various lists on that site, and I will post this there and see what they have to say. This should get the ball rolling on an FB/PG discussion. Hopefully the primitive formatting that I've applied will work on everybody's machine, I've just just used '> ' (like newsgroups) and ---------'s to separate topics. If you are going to reply, it might be better to do it topic by topic, rather than uselessly copying endless lines of un-replied to postings? Short, staccato, angry responses are what I want! 8-). The architectures of the databases are fundamentally the same MVCC for you, MGA for us Firebirders (Multi Generational Architecture). From an Open-Source-Interbase/Firebird point of view there are several issues where PostgreSQL falls down. Ease of use (particularly on Windows). FB is about as easy as installing Minesweeper. </Controversial remark> PG appears to place a lot of effort in supporting array datatypes. While they are (barely) supported in FB, most advise against using them - if I had my way I'd rip them out - they are the work of the Devil. A well designed schema can get around any need for arrays. They break the relational model and are generally very non-portable. <Controversial remark> I'm not sure exactly where I stand here, but FB has been moved to C++, whereas AFAIK, PostgreSQL is still in C - this is probably a religious war (and beyond me), but I just thought that I'd mention it. From http://advocacy.postgresql.org/advantages/ -------------- > Immunity to over-deployment Ditto for FB. --------------- --------------- > Better support than the proprietary vendors Ditto for FB. ----------------- ---------------------- > Significant saving on staffing costs Ditto for FB. ---------------------- ---------------------- > Legendary reliability and stability Ditto for FB. Although there are reports of corruption from time to time, it is generally because the "server" was actually some end-user's PC. ----------------------- ----------------------- > Extensible Ditto for FB. If you want to extend the code, though, you have to give those changes back to the community - the licence is more GPL than BSD. ------------------------ ----------------------- > Cross platform FB supports approx. 10 major platforms - not quite as many as PG, but still enough to be getting on with. ----------------------- ------------------------ > Designed for high volume environments > We use a multiple row data storage strategy called MVCC to make > PostgreSQL extremely responsive in high volume environments. > The leading proprietary database vendor uses this technology > as well, for the same reasons. Ditto for FB. It uses what is termed variously as MGA (Multi- Generational Architecture - I think that they have you guys beat for the terminology!), Record Shadowing or Record Versioning. It seems to be identical to what PG uses, with a different implementation obviously. -------------------------- --------------------------- > GUI database design and administration tools Ditto for FB. Some free, some proprietary. --------------------------- --------------------------- > A point list for some technical features that PostgreSQL offers: (an X before any of these means that FB is also compliant, an O means not, but see caveats) ----------- > Fully ACID compliant X ----------- ----------- > ANSI SQL compliant X ------------ --------------- > Referential Integrity X (why this should be seen as a bonus is beyond me!) --------------- --------------- > Replication (non-commercial and commercial solutions) allowing > the duplication of the master database to multiple slave machines X caveat: no OS solution at the moment, but there is a form of shadowing that one can do - not great but better than nothing. ---------------- ---------------- > Native interfaces for ODBC, JDBC, C, C++, PHP, Perl, TCL, ECPG, > Python, and Ruby X caveat: I think that FB works natively with the vast majority of these and has its own interfaces as well, but not ECPG obviously. ------------------ ------------------ > Rules ? I don't understand these - can somebody explain exactly what they are? ------------------- ------------------- > Views X (FB's are updateable to boot!) ------------------- ------------------- > Triggers X (puhlease!) -------------------- -------------------- > Unicode X --------------------- --------------------- > Sequences X, in FB parlance Generators! ---------------------- ----------------------- > Inheritance (NO!!!!!!!!!!) ----------------------- ----------------------- > Outer Joins X (This is a big deal?) ------------------------ ------------------------ > Sub-selects X (and this?) ------------------------ ----------------------- > An open API X ----------------------- ---------------------- > Stored Procedures X (another big deal for an RDBMS?) ----------------------- ----------------------- > Native SSL support ? (not sure - there is a thing called Zebedee that allows secure connections over the internet). ----------------------- ----------------------- > Procedural languages X (big deal yet again - though, mind you, not as many as PG. ----------------------- ----------------------- > Hot stand-by (commercial solutions) ? (not sure what is meant by this) ----------------------- ----------------------- > Better than row-level locking X (I assume that what is meant here is MVCC?) ------------------------ ------------------------ > Functional and Partial indexes O -------------------------- -------------------------- > Native Kerberos authentication O -------------------------- -------------------------- > Support for UNION, UNION ALL and EXCEPT queries X -------------------------- -------------------------- > Loadable extensions offering SHA1, MD5, XML, and other functionality O. Caveat, maybe some of this through UDF's? -------------------------- -------------------------- > Tools for generating portable SQL to share with other SQL- > compliant systems. X FB uses fairly standard SQL syntax. There are a couple of freeware utilities as well that help one. --------------------------- --------------------------- > Extensible data type system providing for custom, user-defined > datatypes and rapid development of new datatypes X Caveat. UDT's are a doodle, but cannot AFAIK create row type variables. ---------------------------- ----------------------------- > Cross-database compatibility functions for easing the transition from > other, less SQL-compliant RDBMS O, but many should/would be easy to write using UDF's. ----------------------------- Paul... -- plinehan x__AT__x yahoo x__DOT__x com C++ Builder 5 SP1, Interbase 6.0.1.6 IBX 5.04 W2K Pro Please do not top-post.
pgsql-general by date: