Hi Felipe, This is kind of diverging from Tomcat, so further exchanges should probably be offline.
I'm not sure what an FK is but I presume SP is stored procedure. Yes it has all of it, subqueries, views, domains, SPs, triggers, full transaction support, SQL92 conformance, etc. The JDBC driver does not support some features like two-way traversing of result sets, but you can usually work around that stuff with stored procedures if necessary. I suspect that in a Tomcat/JDBC environment the bottleneck in speed is rarely going to be the database. That would seem to suggest that, unless it's a real dog, any decent SQL database is going to work OK for you. Search speed on a large database and other factors such as maximum DB size will be more of a factor. All I can say from personal experience is that I was using a Java based SQL database and switched to Firebird to speed things up, and got about a 10X speed increase. As for speed and loading capability, Firebird was originally designed as a mini-computer database supporting lots of simultaneous users. I've heard that MySQL is a little faster but it doesn't handle heavy loads as well, and it's not as safe because the designers cut corners for speed. Others dispute that. The MySQL web site shows MySQL killing Postgres, but that's to be expected. Any clever programmer can make an SQL benchmark that they know will smoke the competition. My databases are all small, a few thousand records at most, and searches are instantaneous. I don't know what Firebird's performance is for DB's with lots of records, but because of its mini-computer roots, I suspect it is fast. I saw a post by one guy who was searching 50,000 records per second with a Java app, don't know the specs on his server or DB, though. One thing I've noticed about MySQL is that many of the administration tools seem to be PHP based. I'm running Tomcat so I don't have to have CGI and PHP on the server, so they aren't attractive to me at all. There are also tons of Perl based tools for MySQL and there is a DBI Perl driver for Interbase/Firebird. So Perl based tools should work on most platforms. Most of the non-Perl non-PHP tools for Firebird are Windows based, but they let you connect directly to the DB over the net without an intervening web server. The speed results I've seen are JDBC based and are affected somewhat by which JDBC driver you use. But since we are talking about using these databases with Tomcat, that's OK I guess. On an 800 MHz Duron running Linux and using Java and a JDBC driver about 1,000 records per second could be inserted, and about 1,300 records per second could be read. That was with the Java program on the server machine which is reasonable in a Tomcat environment. Speeds were between 2/3 and 1/2 when the Java code was executed on a remote machine over the net which would be analogous to Tomcat and the database running on different servers. I have no idea how that compares to any other database under the same conditions. As I understand the saga, Interbase (Firebird's origin) started life as a mini-computer version of DBase II. Ashton-Tate (DBase owners) liked it and bought the company. Borland liked Ashton-Tate and bought the company. Borland used (and still uses) Interbase as the database engine behind Delphi. Borland sold (and still sells) Interbase as a standalone product too, but during one of their down swings, they decided that they didn't want to be in the database business. So what the heck, they open sourced it and the programmers went out on their own and started IBPhoenix (InterBase rising from the ashes, get it?). Then Borland decided that they didn't want to let Interbase go after all, but the horse was already out of the barn. So they could only make new stuff proprietary. Voila- Interbase 6.5. Since Borland owned the Interbase brand name, IBPhoenix changed their database's name to Firebird. They have released Firebird versions 0.9.4 and 1.0 and are close to releasing 1.5. Here are a few links you might find helpful. Simple Firebird docs: http://www.xlprueba.com.ar/ib/firebirddoco.pdf Features and benefits (Interbase 6.0, essentially the same as Firebird 1.0): http://www.borland.com/interbase/pdf/ib6_feaben.pdf IBPhoenix page: www.ibphoenix.com Rick ----- Original Message ----- > I'm using postgresql and I'm happy with it. Feature-wise, how firebird > stands? Got FKs, SPs, subqueries, all of it? It's fast? I'm pretty > curious about it :-) > > On Tue, 2002-09-24 at 19:35, Rick Fincher wrote: > > Hi Keith, > > > > I've been using Firebird and the JayBird JCA-JDBC driver and JSP. Firebird > > is open source and a complete SQL 92 DB. It was spawned from Borland's > > Interbase 6.0 when it went open source, so it's commercial quality. > > Interbase has been around for nearly 20 years as a commercial product, so it > > is rock solid. > > > > Firebird is on SourceForge. The web site for the outfit that does most of > > the Firebird development is: www.ibphoenix.com. They have a list of Fortune > > 500 companies using it on the web site and a list of sites you can browse to > > see it powering web sites. > > > > Support contracts are available if that's important to you or your > > management. > > > > There are a number of commercial sites listed offering hosting if you want > > somebody else to run your web apps and Firebird database for you. > > > > It's very stable. I've been running it for a couple of years on a Sun > > server without a crash or lockup. I've never had the database become > > corrupted even when some bonehead forgot to shut down the database before > > killing the machine. > > > > Firebird comes with a nice watchdog process that monitors the DB. If the DB > > process dies for any reason other than a normal shutdown the watchdog > > restarts it. I've intentionally killed the DB process multiple times to > > simulate a failure and the watchdog always restarted it with no loss of > > data. > > > > A Tomcat session doesn't like that very much because it links to the > > database for user authorization and Tomcat doesn't recover when the DB > > restarts. I've been meaning to write a script that monitors the Firebird > > process ID for a change, then restarts Tomcat but I've never bothered > > because Firebird never dies. Mind you, this is on a Solaris server so you > > may not be so lucky on other OS's. > > > > You can also shadow the database, i.e. run two copies of the database file > > simultaneously on two different disk drives. If one drive dies, the DB > > continues to run on the remaining drive. > > > > It supports stored procedures, blobs, clobs, auto-incrementing keys, > > security roles, etc., etc. > > > > Borland subsequently decided to make Interbase 6.5 un-open source, so > > Firebird and Interbase have begun to diverge, but most tools still work for > > both. There are 5 or 6 decent database creation/administration apps > > available. Most are freebies, a few commercial. > > > > You can run the backup/restore utilities in these programs to migrate the DB > > files between OS's. For example, you can run a backup utility on Windows to > > read a DB file over the net on a Sun Solaris server, then restore to a > > Windows server and subsequently run the database file on a Windows system. > > > > The JCA-JDBC driver (JayBird) features internal connection pooling, which is > > nice for standalone apps, or if you can't figure out DBCP :-). > > > > It can be used with JBoss or other J2EE containers if you use the JCA-JDBC > > driver. > > > > The DB is written in C++, so it's fast. It's available precompiled for most > > platforms including: Linux, Windows, Solaris (sparc and X86), FreeBSD, Mac > > OS X, HP/UX 10 and 11, and now WinCE. > > > > Installation is a snap compared to Oracle. > > > > There are 64 bit versions for Solaris and Linux in case you nead REALLY big > > databases. > > > > I've used Firebird and the JCA-JDBC driver with DreamWeaver UltraDev to > > knock out quickie web apps with SQL database access in a few hours without > > writing a line of code. The driver works with most tools that accept > > external JDBC drivers. > > > > There are active newsgroups to support the DB and the JCA-JDBC driver. The > > developers monitor these so the info is very good. > > > > > > Rick > > > > > > -----Original Message----- > > > > From: Keith Pemberton [mailto:[EMAIL PROTECTED]] > > > > Sent: Tuesday, September 24, 2002 4:39 AM > > > > To: [EMAIL PROTECTED] > > > > Subject: So what database and script language do you use? > > > > > > > > > > > > Hi everyone... > > > > > > > > I have been trying to use MySQL and JSP,Servlets to interact with > > > > my tomcat server. So far I have had a lot of frustration and little > > > > luck. Anyway, I was just wonder what the majority of ppl are using as a > > > > database and scripting language. Your input is much appreciated! > > > > > > > > Keith > Felipe Schnack > Analista de Sistemas > [EMAIL PROTECTED] > Cel.: (51)91287530 > Linux Counter #281893 > > Faculdade Ritter dos Reis > www.ritterdosreis.br > [EMAIL PROTECTED] > Fone/Fax.: (51)32303328 -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
