Path: utzoo!attcan!utgpu!utstat!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!cs.utexas.edu!uunet!munnari!otc!metro!kylie!christie From: christie@kylie.oz (Chris Tham) Newsgroups: comp.databases Subject: Re: Ingres vs Sybase Message-ID: <587@kylie.oz> Date: 9 May 89 23:51:21 GMT References: <4306@elecvax.eecs.unsw.oz> Reply-To: christie@kylie.oz (Chris Tham) Organization: Optech Research Pty. Ltd. Lines: 54 In article <4306@elecvax.eecs.unsw.oz> ykchan@elecvax.eecs.unsw.oz (Yk Chan) writes: >Anyone out there in the net has comment on >the pro's and con's of Ingres vs Sybase. It depends. We found Ingres 5.0 to be reliable if a bit slow. Program development using OSQ/ESQL quite painless especially if you also use the forms package and so on. Ingres does not understand make, however, and for program development you need to use its own program maintenance tool called abf or something (its been a while...) although you can usually kludge up Ingres and make by analysing exactly how abf works and then duplicating the programs it calls in your Makefile. All in all, a comfortable environment to work in if you are used to building database applications in non-Unix machines, but very uncomfortable for seasoned Unix programmers as all the usual Unix tools such as SCCS/RCS, make, grep, etc. etc. are unavailable. Also, when programming in ESQL/EQUEL, we found EQUEL to be more powerful than ESQL and I ended up doing all embedded stuff in QUEL rather than SQL. The easiest way to do Ingres programming is to use all its tools, especially OSQ which is its programming language based on SQL/QUEL. Sybase on the other hand is very fast, but only supports SQL. It has a very good SQL language, full of very very useful extensions such as control flow, block structuring procedural based language with user defined datatypes. Other interesting things are stored procedures that are wholly contained in the SQL database server and are user callable, triggers that operate whenever a certain database operation is being performed, etc. etc. These extensions are very useful but completely nonportable so be careful about using them if you would like to port your application to another database system later on. Sybase tools are not as complete or as easy to use as Ingres making application development more difficult (the screen or forms system is not very usable on non bitmapped terminals as it is very mouse orientated). The easiest way to do Sybase development is to decide what your database structure is going to be, then build all the necessary tables, triggers that you might find useful, stored procedures for common database operations on your tables, and then finally write your application in C with appropriate calls to execute stored procedures in the dataserver. The C interface is crude but workable, you view the dataserver as a sort of I/O channel that you have to open, close and maintain. You send SQL to the dataserver as ASCII text after sprintf() like formatting, you receive execution results and data by quering the dataserver status and 'binding' columns in a row that is being returned into areas of memory. You can use all Unix program development tools as developing in Sybase is just like writing a C program. Summary: use Ingres if you want something in a hurry and don't mind sacrificing performance and can live with its development tools. Use Sybase for speed, if you cannot live without its extensions and also if you have a Sun or use your own screen/forms package. -- Internet: christie@kylie.otr.oz "I'm Pink, therefore I'm Spam" JANET: christie%kylie.oz@uk.cc.ucl.cs Phone: +612 235-0255 UUCP: {uunet,hplabs,mcvax,ukc,nttlab}!munnari!christie@kylie.otr.oz Mail: Optech Research Pty Ltd, Level 60 MLC Centre Sydney NSW 2000 AUSTRALIA