Thread: Oracle news article
http://searchdatabase.techtarget.com/qna/0,289202,sid13_gci562454,00.html Check out the question "Do you find open-source database vendors to be a threat to Oracle?" cheers, thalis
Very few database packages have been in constant and focused development like Oracle has but that's still a pretty arrogant comment for Oracle to make. I find that it's a bad idea to say things will never happen :-) -Mitch ----- Original Message ----- From: "Thalis A. Kalfigopoulos" <thalis@cs.pitt.edu> To: <pgsql-general@postgresql.org> Sent: Tuesday, June 12, 2001 1:55 PM Subject: [GENERAL] Oracle news article > http://searchdatabase.techtarget.com/qna/0,289202,sid13_gci562454,00.html > > Check out the question "Do you find open-source database vendors to be a threat to Oracle?" > > cheers, > thalis > > > ---------------------------(end of broadcast)--------------------------- > TIP 3: if posting/reading through Usenet, please send an appropriate > subscribe-nomail command to majordomo@postgresql.org so that your > message can get through to the mailing list cleanly >
Interesting. I'm not sure if he gets it. Oracle does have a ton of features that PostgreSQL *currently* lacks: Table spaces Logical Schemas System Privileges Advanced Object Privileges (such as Column privileges) Profiles Auditing Parallel Query Distributed Query, ... and a ton of interfaces and tools, like Pro*Cobol, Pro*Fortran, SQL*Loader, etc. It also does a better job in handling inter-object dependencies. But the question remains: For any given project, are the above features worth the typical Oracle licensing costs? For some, yes they absolutely are. But for many, many others, they aren't. And as time goes on, the PostgreSQL feature list has grown at an accelerating pace. Just my humble opinion, Mike Mascari mascarm@mascari.com "Thalis A. Kalfigopoulos" wrote: > > http://searchdatabase.techtarget.com/qna/0,289202,sid13_gci562454,00.html > > Check out the question "Do you find open-source database vendors to be a threat to Oracle?" > > cheers, > thalis
Question #2 - not only is the question "is it worth it to pay for Oracle", but "can I do it cheaper by hiring an independent contractor to implement it myself?" Jon johnnyb6@sdf.lonestar.org SDF Public Access UNIX System - http://sdf.lonestar.org On Tue, 12 Jun 2001, Mike Mascari wrote: > Interesting. I'm not sure if he gets it. Oracle does have a ton of > features that PostgreSQL *currently* lacks: > > Table spaces > Logical Schemas > System Privileges > Advanced Object Privileges (such as Column privileges) > Profiles > Auditing > Parallel Query > Distributed Query, > ... > > and a ton of interfaces and tools, like Pro*Cobol, Pro*Fortran, > SQL*Loader, etc. It also does a better job in handling inter-object > dependencies. > > But the question remains: > > For any given project, are the above features worth the typical Oracle > licensing costs? > > For some, yes they absolutely are. But for many, many others, they > aren't. And as time goes on, the PostgreSQL feature list has grown at an > accelerating pace. > > Just my humble opinion, > > Mike Mascari > mascarm@mascari.com > > "Thalis A. Kalfigopoulos" wrote: > > > > http://searchdatabase.techtarget.com/qna/0,289202,sid13_gci562454,00.html > > > > Check out the question "Do you find open-source database vendors to be a threat to Oracle?" > > > > cheers, > > thalis > > ---------------------------(end of broadcast)--------------------------- > TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org >
On Tue, 12 Jun 2001, Mike Mascari wrote: > Interesting. I'm not sure if he gets it. Oracle does have a ton of > features that PostgreSQL *currently* lacks: > > Table spaces > Logical Schemas > System Privileges > Advanced Object Privileges (such as Column privileges) > Profiles > Auditing > Parallel Query > Distributed Query, And don't forget: Table and index partitioning Archive and redo logs Automatic fail-over Database PIT recovery Tablespace Rollback/Rollforward Rollback segments Connection pooling! Much more advanced procedural language Stored procedure packages Cursors Transactions in procedures Triggers are defined as pl/sql code blocks, not just function calls In/out parameters with no need for aliases Much more descriptive system catalog (1000+ views) etc. I've used all of these features back when I was an Oracle DBA, and I can truly say I miss every single one. If you really care about your data, no other database except maybe DB2 puts so much effort into data integrity. I don't get why more databases don't do this. Especially the connection pooling. Just look at any webserver to see why this is a must! > For any given project, are the above features worth the typical Oracle > licensing costs? *YES* As soon as our next round of funding goes through, I'm suggesting an Oracle server for our important data. The top five features I listed are there for a reason. Out of everything, they give me the best peace of mind. > For some, yes they absolutely are. But for many, many others, they > aren't. And as time goes on, the PostgreSQL feature list has grown at an > accelerating pace. That's what I'm hoping. Postgres development has accelerated very quickly compared to the 6.5 tree. Maybe it'll have these abilities someday, maybe it won't. But until then, it just isn't enough. -- +-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+ | Shaun M. Thomas INN Database Programmer | | Phone: (309) 743-0812 Fax : (309) 743-0830 | | Email: sthomas@townnews.com AIM : trifthen | | Web : hamster.lee.net | | | | "Most of our lives are about proving something, either to | | ourselves or to someone else." | | -- Anonymous | +-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+
On Wed, 13 Jun 2001, Shaun Thomas wrote: > I've used all of these features back when I was an Oracle DBA, and I can > truly say I miss every single one. If you really care about your data, no > other database except maybe DB2 puts so much effort into data integrity. > I don't get why more databases don't do this. Especially the connection > pooling. Just look at any webserver to see why this is a must! What do you mean by connection pooling? Do you mean preforked backend servers to reduce connection time? If so: a) It'd be fairly easy to implement for Postgres b) Apparently nobody bothered to, because unlike oracle, it doesn't take 1 second for non-pooled backend to start up. To me, its in <100ms range, thus, not noticable. And I may add that Postgres has many features that rival Oracle: a) Flexible (and extensible!) datatypes (such as inet) b) perl,tcl, python programming languages (damn, how much I wished Oracle had perl support on backend) c) things like 'select foo from (select bar)' (I'm pretty sure oracle doesn't handle that one yet) d) a decent outer join syntax (f=a(*) just doesn't cut it for complex queries) -alex
On Wednesday 13 June 2001 10:36, Shaun Thomas wrote: > Connection pooling! > Especially the connection > pooling. Just look at any webserver to see why this is a must! AOLserver (open source) is one webserver does connection pooling the right way for any of its supported databases -- including PostgreSQL. So 'Just looking an _any_ webserver' doesn't work for this. www.aolserver.com. -- Lamar Owen WGCR Internet Radio 1 Peter 4:11
On Wed, 13 Jun 2001, Alex Pilosov wrote: > What do you mean by connection pooling? I mean allowing an unlimited amount of connections (as much as the process table will allow) that are served in a round-robin basis by oracle, much like an httpd process. I'm tired of having to up the number of user connections just because we get an unprecedented surge in interest from people viewing all of our sites. > b) perl,tcl, python programming languages (damn, how much I wished Oracle > had perl support on backend) Yeah, if you don't mind escaping backtics every time you turn around. I admit, perl in oracle would be nice. But just like postgres, you can expand oracle with whatever you want. I just don't think anyone has gotten around to doing so. Does postgres give you the ability to define a library of functions so you have your own index types? > c) things like 'select foo from (select bar)' > (I'm pretty sure oracle doesn't handle that one yet) Yes it does. Subselects are subselects. > d) a decent outer join syntax (f=a(*) just doesn't cut it for complex > queries) Sure it does. Besides that, I like the syntax better. I hate having to put almost my entire blanking query in the from section because explicit join syntax wants to be difficult. Want your query to be an outer join instead? Don't rewrite the whole query and play with join order and possibly fsck up your application's dynamic query generator, just add a (*) to the field you want expanded. See? That was easy. But that isn't really that much of an issue. I haven't seen a single database other than oracle that has that nice shortcut. I've learned to live with it. -- +-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+ | Shaun M. Thomas INN Database Programmer | | Phone: (309) 743-0812 Fax : (309) 743-0830 | | Email: sthomas@townnews.com AIM : trifthen | | Web : hamster.lee.net | | | | "Most of our lives are about proving something, either to | | ourselves or to someone else." | | -- Anonymous | +-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+
On Wed, 13 Jun 2001, Shaun Thomas wrote: > > What do you mean by connection pooling? > > I mean allowing an unlimited amount of connections (as much as the process > table will allow) that are served in a round-robin basis by oracle, much > like an httpd process. I'm tired of having to up the number of user > connections just because we get an unprecedented surge in interest from > people viewing all of our sites. How about doing -N 5000? Or a equally-big your-webserver-will-melt-down-before-the-number-is-achieved. > > b) perl,tcl, python programming languages (damn, how much I wished Oracle > > had perl support on backend) > > Yeah, if you don't mind escaping backtics every time you turn around. I > admit, perl in oracle would be nice. But just like postgres, you can > expand oracle with whatever you want. I just don't think anyone has I somehow don't seem to have heard of a way to add a PL to Oracle. But maybe I'm just not privileged enough, even if the company I work for paid them 50k for license...:) > gotten around to doing so. Does postgres give you the ability to define a > library of functions so you have your own index types? Yeah it does. > > c) things like 'select foo from (select bar)' > > (I'm pretty sure oracle doesn't handle that one yet) > > Yes it does. Subselects are subselects. Sorry I was mistaken...Oracle does support that... > > > d) a decent outer join syntax (f=a(*) just doesn't cut it for complex > > queries) > > Sure it does. Besides that, I like the syntax better. I hate having > to put almost my entire blanking query in the from section because > explicit join syntax wants to be difficult. Want your query to be an > outer join instead? Don't rewrite the whole query and play with join > order and possibly fsck up your application's dynamic query generator, > just add a (*) to the field you want expanded. See? That was easy. I agree, sometimes the syntax for postgres' join buggers me too. But I learnt to live with it. > But that isn't really that much of an issue. I haven't seen a single > database other than oracle that has that nice shortcut. I've learned to > live with it. Yeah. in the end, most of it is 'features you are used to'. Each database has its own set of nice things and its own set of things that annoy you to no end... -alex
> > I mean allowing an unlimited amount of connections (as much as the process > > table will allow) that are served in a round-robin basis by oracle, much > > like an httpd process. I'm tired of having to up the number of user > > connections just because we get an unprecedented surge in interest from > > people viewing all of our sites. > How about doing -N 5000? Or a equally-big > your-webserver-will-melt-down-before-the-number-is-achieved. Whether that would be advantageous depends on what happens when the max number of backends is reached. If a new incoming connection simply waits for a new backend to become available, then you can do about the same thing as connection-pooling by simply setting a low number of backends - a number somewhere around the number of CPU's that you have. In theory, you keep each CPU full (assuming there aren't other bottlenecks), but avoid the extra memory usage and context-switching cost associated with a larger number of backends. However, it would block incoming requests, meaning that a few large queries could stop a few hundred small, fast queries from running. That means that the guy generating traffic statistics can keep several hundred people from seeing your site until he's done - a bad thing. : ) Overall, it seems (to me, at least) that if new connections (above the max) simply wait, then a good compromise would be limitting the number of backends to a level several times greater than the number of CPU's that you have, so that a single (or a few) large query doesn't completely monopolize the system, yet not so high that you're going to exhaust your memory or run into other problems associated with huge numbers of running processes. steve