How to choose a DB
Posted in 1999
A poster asked which database (Oracle, Informix, etc.) to choose for a high-volume, "real-time" transaction server on Unix, and how much ODBC slows things down. Replies said both Oracle and Informix handle very high transaction volumes (one cited Informix 7.24 running ~25M transactions/day on a 36GB database), that ODBC adds some overhead, and that a true real-time application might need a dedicated real-time database. A later poster asked for side-by-side comparisons plus clustering and full-text indexing; answers noted no such comparison resource exists and the discussion degenerated into an Oracle (OPS/interMedia) vs Informix (XPS/IDS) argument, with corrections of Oracle details. No clear recommendation or resolution is recorded.
Auto-generated by DrWatson from the posts below — may be imperfect; read the full thread.
Topics: Connectivity: ODBC / JDBC / .NET
Hi All, I need to choose a database which serve my server. The server runs a huge number of select and update transactions which must run in Real-Time. I know that because of the fact, there are so many transacttions in a minute, I must run the database on Unix. I dont know what is the prefered database (maybe oracle maybe informix or other), and I am not sure how much ODBC slow the proccesing. Than u very much, Anat Maoz (anatmaoz@hotmail.com)
On Sun, 28 Nov 1999 15:01:54 +0200, Anat Maoz <anatmaoz@hotmail.com> wrote: > Hi All, > I need to choose a database which serve my server. > The server runs a huge number of select and update transactions which > must run in Real-Time. > I know that because of the fact, there are so many transacttions in a > minute, I must run the database on Unix. > I dont know what is the prefered database (maybe oracle maybe informix or > other), and I am not sure how much ODBC slow the proccesing. > Than u very much, > Anat Maoz (anatmaoz@hotmail.com) It depends what you call huge. Both Informix and Oracle can handle enourmous amounts of transactions. For instance Ebay.COM processes 35 million transactions a day. They use Oracle. Babooska
If you are talking real "Real Time" application ,, you need to consider a real time database ,, where it excels over the traditional Relational databases you mentioned ,,, Try digging for Proamce of Marex , PI of OSI or InfoPlus databases ,, Anat Maoz wrote in message <81r8tv$ah5$1@news.netvision.net.il>... >Hi All, >I need to choose a database which serve my server. >The server runs a huge number of select and update transactions which >must run in Real-Time. >I know that because of the fact, there are so many transacttions in a >minute, I must run the database on Unix. >I dont know what is the prefered database (maybe oracle maybe informix or >other), and I am not sure how much ODBC slow the proccesing. >Than u very much, >Anat Maoz (anatmaoz@hotmail.com) > >
In article <81r8tv$ah5$1@news.netvision.net.il>, "Anat Maoz" <anatmaoz@hotmail.com> wrote: > Hi All, > I need to choose a database which serve my server. > The server runs a huge number of select and update transactions which > must run in Real-Time. > I know that because of the fact, there are so many transacttions in a > minute, I must run the database on Unix. > I dont know what is the prefered database (maybe oracle maybe informix or > other), and I am not sure how much ODBC slow the proccesing. > Than u very much, > Anat Maoz (anatmaoz@hotmail.com) > > I had a lot of luck using Informix 7.24. We had a real-time system that tracked call information on 450 unix machines, each with at least 24 lines. Quite a bit of information was stored, last I knew it was 36GB and handled about 25 million transactions per day. Of course, these were NOT ODBC transactions. ODBC will slow you down somewhat. -- # unrm / ksh: unrm: not found # man cpio Sent via Deja.com http://www.deja.com/ Before you buy.
Anat Maoz <anatmaoz@hotmail.com> wrote: > I need to choose a database which serve my server. I have a similar need. I'm wondering if there are any good sites or other resources that do side-by-side comparisons of the major heavy-duty database platforms, so I can balance my recommendation using aspects I may not have considered in my own evaluations. At the moment I'm looking most closely at Informix and Oracle because they are supported natively (sans-ODBC) by PHP. Key features for our application include transparent (or near-transparent) clustering and flexible fulltext indexing across selected fields. Thanks, as always, for any advice. miguel
Miguel Cruz wrote: > > Anat Maoz <anatmaoz@hotmail.com> wrote: > > I need to choose a database which serve my server. > > I have a similar need. I'm wondering if there are any good sites or other > resources that do side-by-side comparisons of the major heavy-duty database > platforms, so I can balance my recommendation using aspects I may not have > considered in my own evaluations. Unfortunately no such resource. > At the moment I'm looking most closely at Informix and Oracle because they > are supported natively (sans-ODBC) by PHP. Key features for our application > include transparent (or near-transparent) clustering and flexible fulltext > indexing across selected fields. The problem is that for both Oracle and Informix your two requirements, transparent cluster support and fulltext indexing, are both supported but by separate products. Oracle Cluster Server does not support DataBlades which would be needed for full-text indexing and searching and Oracle 8i does not support clusters. Similarly Informix Extended Parallel Server, a more advanced product that OCS incidentally, does not support DataBlades either and Informix IDS.2000 does not support spreading a database/table across a cluster the way that XPS can. Informix is reportedly working to merge the XPS and IDS code bases in the same way that the recent release of IDS.2000 merged the code base from the basic IDS engine with that of the Informix Universal Data Option product to create a Universal Server that has the features and performance of Informix's full blown OLTP engine (actually it is reported to be faster). So you will have to decide what features you want most. Actually, it is my understanding that OCS only adds the ability to share disks between cluster members and actually implements spreading a table over cluster members using SYNONYMS and VIEWS UNIONing the various pieces of the table back together. This is in contrast with Informix XPS which is shared nothing (except when one of the cluster members crashes) and actually treats the database as residing on ALL members of the cluster invisibly querying all co-server table fragments in parallel. There is no reason one could not manually implement the Oracle style pseudo-coserver scheme using IDS.2000 or Oracle 8i and take advantage of those servers more advanced data support. Art S. Kagel
Miguel, Art - comments inline "Art S. Kagel" wrote: > > Miguel Cruz wrote: > > > > Anat Maoz <anatmaoz@hotmail.com> wrote: > > > I need to choose a database which serve my server. [snip] > > At the moment I'm looking most closely at Informix and Oracle because they > > are supported natively (sans-ODBC) by PHP. Key features for our application > > include transparent (or near-transparent) clustering and flexible fulltext > > indexing across selected fields. > > The problem is that for both Oracle and Informix your two requirements, > transparent cluster support and fulltext indexing, are both supported but by > separate products. By Oracle Cluster Server I presume you mean Oracle8i Parallel Server, which adds cluster support to Oracle8i. There is no product called Oracle Cluster Server. > Oracle Cluster Server does not support DataBlades which > would be needed for full-text indexing and searching and Oracle 8i does not > support clusters. Incorrect. Full text indexing and searching is provided by the interMedia option for Oracle8i. interMedia is fully supported with Oracle8i Parallel Server. > Actually, it is my understanding that OCS only adds the ability to share > disks between cluster members and actually implements spreading a table over > cluster members using SYNONYMS and VIEWS UNIONing the various pieces of the > table back together. Incorrect. A single physical table can be accessed by all cluster members running Oracle8i Parallel Server instances, in parallel, totally independently of how the data is organized. Oracle8i Partitioning (or indeed the pseudo partitioning alluded to by Art) is not required for Oracle8i Parallel Server. However, Oracle8i Partitioning may well make configuration and management easier in an Oracle8i Parallel Server environment where you are dealing with large data volumes. Miguel - you mentioned a requirement for transparent or near transparent clustering - can I ask you what for ? If you are looking at clustering for an HA solution, then there are easier failover cluster solutions available that don't require either Oracle8i Parallel Server or Informix XPS (both of which will cost you an arm and a leg in licence cost and possibly deployment). These are nearly 100% transparent to your application and are typically database independent. Talk to your hardware vendor about these types of failover solutions If you are looking at clustering for scalability, then Oracle8i Parallel Server is viable for your needs - but be prepared to have to jump through some hoops in the design and implementation of your application. And if you are trying to deploy a packaged application (PHP ?) then you will need to make sure that your packaged application vendor is happy to support a clustered solution - it is likely that cluster support will require some application level smarts, and not all of them are architectured to use a cluster intelligently. -- Regards, Mark Townsend
Mark, My comments below... Mark Townsend wrote: > > Miguel, Art - comments inline > > "Art S. Kagel" wrote: > > > > Miguel Cruz wrote: > > > > > > Anat Maoz <anatmaoz@hotmail.com> wrote: > > > > I need to choose a database which serve my server. > > [snip] > > > > At the moment I'm looking most closely at Informix and Oracle because they > > > are supported natively (sans-ODBC) by PHP. Key features for our application > > > include transparent (or near-transparent) clustering and flexible fulltext > > > indexing across selected fields. > > > > The problem is that for both Oracle and Informix your two requirements, > > transparent cluster support and fulltext indexing, are both supported but by > > separate products. > > By Oracle Cluster Server I presume you mean Oracle8i Parallel Server, > which adds cluster support to Oracle8i. There is no product called > Oracle Cluster Server. > > > Oracle Cluster Server does not support DataBlades which > > would be needed for full-text indexing and searching and Oracle 8i does not > > support clusters. > > Incorrect. Full text indexing and searching is provided by the > interMedia option for Oracle8i. interMedia is fully supported with > Oracle8i Parallel Server. > An optional component. > > Actually, it is my understanding that OCS only adds the ability to share > > disks between cluster members and actually implements spreading a table over > > cluster members using SYNONYMS and VIEWS UNIONing the various pieces of the > > table back together. > > Incorrect. A single physical table can be accessed by all cluster > members running Oracle8i Parallel Server instances, in parallel, > totally independently of how the data is organized. Oracle8i > Partitioning (or indeed the pseudo partitioning alluded to by Art) is > not required for Oracle8i Parallel Server. However, Oracle8i > Partitioning may well make configuration and management easier in an > Oracle8i Parallel Server environment where you are dealing with large > data volumes. > Yeah but you're still back to using shared disks and probably NFS mounts. > Miguel - you mentioned a requirement for transparent or near transparent > clustering - can I ask you what for ? > > If you are looking at clustering for an HA solution, then there are > easier failover cluster solutions available that don't require either > Oracle8i Parallel Server or Informix XPS (both of which will cost you an > arm and a leg in licence cost and possibly deployment). These are nearly > 100% transparent to your application and are typically database > independent. Talk to your hardware vendor about these types of failover > solutions > > If you are looking at clustering for scalability, then Oracle8i Parallel > Server is viable for your needs - but be prepared to have to jump > through some hoops in the design and implementation of your application. No hoops for Informix, whether it be XPS or IDS. For Informix, there's nothing more to be done for an application whether it's on XPS or IDS 7.x. The user is none the wiser, as the engine(s) take care of the nasty details, especially with XPS. You can use Informix's 4GL or whatever to link to the engine, and the engine takes care of the details of bringing back the query. This is a great way to build out a cluster of servers and the user is none the wiser. On Oracle you get back data one-server-at-a-time ( reading from Oracle docs ) whereas Informix brings back the selected set as one set of data and the user doesn't even know it came from several different servers. Oracle is by far more difficult to deal with when considering clustering as their model increases with complexity the more servers you add to their cluster-f***. Your achillies heel of course is that distributed lock mangler--er manager. Informix's XPS on the other hand has an unlimited scalability, as the architecture is more current. Oracle hasn't upgraded their engines, in what, 10 years?? The only thing I see updated is the marketing materials. :-) > And if you are trying to deploy a packaged application (PHP ?) then you > will need to make sure that your packaged application vendor is happy to > support a clustered solution - it is likely that cluster support will > require some application level smarts, and not all of them are > architectured to use a cluster intelligently. > -- Again, regarding XPS, the end-user and the application developer would never know it was XPS or a single server. Oracle on the other hand forces you to deal with the selected set individually--again reading from Oracle's own docs on their cluster-f*** data warehousing. :-) I have deployed web interaction with XPS and the use never knew the difference if it came from one server or 20. Happy New Year Mark, Oracle may be bigger, but only because of the marketing, not because of the technology. Anybody can sell a lot of Chevys, kinda like Microsoft. :-) When you're ready to go with the best then you'll move up from the trailer park of data bases. Tim > Regards, > > Mark Townsend -- . .- .-- .--- .---- Tim Schaefer .----- tschaefe@bellsouth.net .---- http://www.inxutil.com .--- .-- .- .
Thanks for clearing things up Mark. I wasn't trying to bash Oracle just provide information and I botched it. I posted originally from CD and did not notice the cross postings so I hoped to present Oracle and Informix as possible solutions. Obviously my understanding of Oracle's clustering options is sorely lacking. I'm going to brush up for my own knowledge. Thanks again. Art S. Kagel Mark Townsend wrote: > > Miguel, Art - comments inline > > "Art S. Kagel" wrote: > > > > Miguel Cruz wrote: > > > > > > Anat Maoz <anatmaoz@hotmail.com> wrote: > > > > I need to choose a database which serve my server. > > [snip] > > > > At the moment I'm looking most closely at Informix and Oracle because they > > > are supported natively (sans-ODBC) by PHP. Key features for our application > > > include transparent (or near-transparent) clustering and flexible fulltext > > > indexing across selected fields. > > > > The problem is that for both Oracle and Informix your two requirements, > > transparent cluster support and fulltext indexing, are both supported but by > > separate products. > > By Oracle Cluster Server I presume you mean Oracle8i Parallel Server, > which adds cluster support to Oracle8i. There is no product called > Oracle Cluster Server. > > > Oracle Cluster Server does not support DataBlades which > > would be needed for full-text indexing and searching and Oracle 8i does not > > support clusters. > > Incorrect. Full text indexing and searching is provided by the > interMedia option for Oracle8i. interMedia is fully supported with > Oracle8i Parallel Server. > > > Actually, it is my understanding that OCS only adds the ability to share > > disks between cluster members and actually implements spreading a table over > > cluster members using SYNONYMS and VIEWS UNIONing the various pieces of the > > table back together. > > Incorrect. A single physical table can be accessed by all cluster > members running Oracle8i Parallel Server instances, in parallel, > totally independently of how the data is organized. Oracle8i > Partitioning (or indeed the pseudo partitioning alluded to by Art) is > not required for Oracle8i Parallel Server. However, Oracle8i > Partitioning may well make configuration and management easier in an > Oracle8i Parallel Server environment where you are dealing with large > data volumes. > > Miguel - you mentioned a requirement for transparent or near transparent > clustering - can I ask you what for ? > > If you are looking at clustering for an HA solution, then there are > easier failover cluster solutions available that don't require either > Oracle8i Parallel Server or Informix XPS (both of which will cost you an > arm and a leg in licence cost and possibly deployment). These are nearly > 100% transparent to your application and are typically database > independent. Talk to your hardware vendor about these types of failover > solutions > > If you are looking at clustering for scalability, then Oracle8i Parallel > Server is viable for your needs - but be prepared to have to jump > through some hoops in the design and implementation of your application. > And if you are trying to deploy a packaged application (PHP ?) then you > will need to make sure that your packaged application vendor is happy to > support a clustered solution - it is likely that cluster support will > require some application level smarts, and not all of them are > architectured to use a cluster intelligently. > -- > Regards, > > Mark Townsend
Tim Schaefer wrote: > > Mark, > > My comments below... > [Snip} Tim - we have had this conversation before. > You can use Informix's 4GL or whatever to link to the engine, and the > engine takes care of the details of bringing back the query. 'Bringing back the query' - it's interesting that you continue to talk about cluster support solely in a data warehousing environment - a scenario that by implicit design does not introduce many across node resource management issues. > Informix's XPS on the other hand has an unlimited scalability Can I ask you a question - exactly how many XPS deployments have you touched, seen or even heard about, under OLTP applications, that do have unlimited scalability ? I had presumed that Miguel was looking for an clustered OLTP solution - and the simple truth is that an OLTP solution deployed on an cluster needs to be designed to make efficient use of the cluster for scalability. This is NOT an Oracle limitation, it is simply a speed of light issue. For example, here's a simple 'real world' environment for you - Assume a problem reporting system - say for a telco. Customers talk to call takers who log trouble tickets in a database. The trouble tickets are then analysed (either by hardware/software, or by people) to determine the nature of the problem. Once analysed, inventory and services are then reserved and dispatched to deal with the problem. This system has to be highly available as there are business penalties involved for not resolving problems within strict service level guidelines. It needs to support up to 1000 concurrent call takers perhaps logging up to 200K calls a day, potentially 1 million inventory and resource items (that are geographically spread), and around 400 field technicians, who receive work order notification by RDT from the dispatch system. You can assume that no single SMP box can carry all the load. Given a hardware cluster of your choosing, how would you architect the workload on this system to meet both availability and scalability requirements ? There is a right answer, and a wrong answer. Clusters under a data warehouse or active/passive OLTP is relatively easy. Clusters under an active/active OLTP application require a lot of thought, no matter what technology is used. There are no magic bullets (Yet) > On Oracle you get back data one-server-at-a-time ( reading from Oracle > docs ) > Oracle on the other hand forces > you to deal with the selected set individually-- This is Simply Not True (tm) You are basing your Oracle knowledge on a version of the product (7.3) and some accompanying third party documentation (albeit published by Oracle Press) that is now over 5 years old. > Oracle hasn't upgraded their engines, > in what, 10 years?? The only thing I see updated is the marketing > materials. The engine is continually updated with each release - an example of this in Oracle8i Parallel Server is the new Cache Fusion technology that can use new OS User Mode IPC mechanisms to reduce the cost of an inter node memory call - significantly reducing the need to go to disk for data shipment, and eliminating much of the context switch load. -- Regards, Mark Townsend
Mark Townsend wrote: > > Tim Schaefer wrote: > > > > Mark, > > > > My comments below... > > > [Snip} > > Tim - we have had this conversation before. > > > You can use Informix's 4GL or whatever to link to the engine, and the > > engine takes care of the details of bringing back the query. > > 'Bringing back the query' - it's interesting that you continue to talk > about cluster support solely in a data warehousing environment - a > scenario that by implicit design does not introduce many across node > resource management issues. > Uhm, not sure what you're talking about but perhaps it's because you have a more limited view with Oracle. This would be a limited view not because of Oracle alone, but because you've never really seen how much easier Informix is to use on SMP or MPP. Oracle is strictly SMP, never going the distance with real MPP, but that's ok, it seems to work for a lot of sites. But the question is, if you're going to go strictly SMP, why not use a more up to date engine? Oracle sets up a lot of data bases to cover the limitations of Oracles' engines. This is I suspect to allow the users to work around the older kind of technology in your engines. And that covers OLTP as well as DSS. Again, superior marketing makes up for a world of sins in the product development department. > > Informix's XPS on the other hand has an unlimited scalability > > Can I ask you a question - exactly how many XPS deployments have you > touched, seen or even heard about, under OLTP applications, that do have > unlimited scalability ? > OK, good point, I've worked on XPS over a year, on a DSS system. I've been working with Informix's OLTP since 1987, and this includes all sizes of systems. Informix is a whole lot more scalable and simple to implement than Oracle ever will be, especially in light of a fail-over system, which Informix has by the way. Hey, can you bring back more than one row with your stored procedures? I don't think so. > I had presumed that Miguel was looking for an clustered OLTP solution - > and the simple truth is that an OLTP solution deployed on an cluster > needs to be designed to make efficient use of the cluster for > scalability. This is NOT an Oracle limitation, it is simply a speed of > light issue. > I'm not so sure clustering SMP systems together is such a good idea, and in your following context it sounds muddy. > For example, here's a simple 'real world' environment for you - > > Assume a problem reporting system - say for a telco. Customers talk to > call takers who log trouble tickets in a database. The trouble tickets > are then analysed (either by hardware/software, or by people) to > determine the nature of the problem. Once analysed, inventory and > services are then reserved and dispatched to deal with the problem. > > This system has to be highly available as there are business penalties > involved for not resolving problems within strict service level > guidelines. > > It needs to support up to 1000 concurrent call takers perhaps logging up > to 200K calls a day, potentially 1 million inventory and resource items > (that are geographically spread), and around 400 field technicians, who > receive work order notification by RDT from the dispatch system. > > You can assume that no single SMP box can carry all the load. > You *can* make this assumption, but I do understand where you're headed. > Given a hardware cluster of your choosing, how would you architect the > workload on this system to meet both availability and scalability > requirements ? There is a right answer, and a wrong answer. > > Clusters under a data warehouse or active/passive OLTP is relatively > easy. Clusters under an active/active OLTP application require a lot of > thought, no matter what technology is used. There are no magic bullets > (Yet) > Well, in Oracle's case there's a lot more hardware involved because of the Borg-like invasion of a system that Oracle sets up. I've never seen more directories in my life! What a mess. And all those engines and stuff. Very complicated. Informix is a whole lot simpler no matter how you slice it ( or dbslice it :-) ) than Oracle will ever be simply because Oracle's architecture is bolt-on, band-aids and bailing wire. In the near future you will see Oracle not only fall behind but fall behind in a major way because of the superior scaling and architecture in Informix. Certainly, Informix's engines aren't perfect, but they are a whole lot easier to scale. > > On Oracle you get back data one-server-at-a-time ( reading from Oracle > > docs ) > > > Oracle on the other hand forces > > you to deal with the selected set individually-- > > This is Simply Not True (tm) > > You are basing your Oracle knowledge on a version of the product (7.3) > and some accompanying third party documentation (albeit published by > Oracle Press) that is now over 5 years old. > OK, well, your company is still selling the books and still preaching this. Someday your docs will be current with your marketing. :-) > > Oracle hasn't upgraded their engines, > > in what, 10 years?? The only thing I see updated is the marketing > > materials. > > The engine is continually updated with each release - an example of this > in Oracle8i Parallel Server is the new Cache Fusion technology that can > use new OS User Mode IPC mechanisms to reduce the cost of an inter node > memory call - significantly reducing the need to go to disk for data > shipment, and eliminating much of the context switch load. > Sounds great, almost as good as what Informix has had for several years. :-) > -- > Regards, > > Mark Townsend PS to Kudzi, no I don't work for Informix's marketing department, they don't have one. :-) Which explains why Oracle does much better. Happy New Year to all! -- . .- .-- .--- .---- Tim Schaefer .----- tschaefe@bellsouth.net .---- http://www.inxutil.com .--- .-- .- .