By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
440,854 Members | 833 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 440,854 IT Pros & Developers. It's quick & easy.

oracle - mysql comparison

P: n/a
hey all,

I realize that this question might pop up from time to time, but I
haven't seen it a while and things might of changed, so -

Right now (July 2004) how does mysql stand up in comparison to oracle?
We are seriously considering migrating our multi-processor oracle
system to mysql to save on licensing costs, and would need several
features that mysql may or may not have:

- replication
- archive logging
- interoperability with oracle/database links with oracle
- PL/SQL type language/stored procedures
- roles
- oracle migration scripts/conversion
- embedded java API
- partitioning/tablespace assignment
- import/export tools
- equivalent oracle datatypes
- multi-processor support
- performance (relatively equivalent or better)

In addition, have any oracle DBAs out there gone through the
conversion process between mysql and oracle? If so, what were the
gotchas/catches that you went through? What are features that are
there that you like or feel are missing? I apologize in advance for
the cross-post, but I did want to get as wide a range of opinion as
possible..

Thanks much,

jon
Jul 20 '05 #1
Share this Question
Share on Google+
133 Replies


P: n/a
jonathan wrote:
hey all,

I realize that this question might pop up from time to time, but I
haven't seen it a while and things might of changed, so -

Right now (July 2004) how does mysql stand up in comparison to oracle?
We are seriously considering migrating our multi-processor oracle
system to mysql to save on licensing costs, and would need several
features that mysql may or may not have:

- replication
- archive logging
- interoperability with oracle/database links with oracle
- PL/SQL type language/stored procedures
- roles
- oracle migration scripts/conversion
- embedded java API
- partitioning/tablespace assignment
- import/export tools
- equivalent oracle datatypes
- multi-processor support
- performance (relatively equivalent or better)

In addition, have any oracle DBAs out there gone through the
conversion process between mysql and oracle? If so, what were the
gotchas/catches that you went through? What are features that are
there that you like or feel are missing? I apologize in advance for
the cross-post, but I did want to get as wide a range of opinion as
possible..

Thanks much,

jon


No comparison and you have missed the most important questions you
should be concerned about unless you are running a hotdog stand.

1. Where to we call for support if there is a problem we can't solve?
2. How do we recover transactions that occur between the last backup
and the time when the system fails?
3. Can we recover from object and/or file corruption?

Very simply ... ask your management what the cost is to the company
for every hour the system is unavailable. Then compare that to the
less than $800 cost for licensing Oracle SE1.

But if you truly need EE capabilities such as partitioning then stick
with Oracle. You won't find it anywhere else.

Daniel Morgan

Jul 20 '05 #2

P: n/a
Try a google search "mysql comparison oracle" or similar.

Obviously oracle has financial resources to devote to enhancements
that mysql doesn't but it's amazing to see how far along mysql has
evolved over the last several versions.
Jul 20 '05 #3

P: n/a
Daniel Morgan <da******@x.washington.edu> wrote in message news:<1089335442.28909@yasure>...
jonathan wrote:
hey all,

I realize that this question might pop up from time to time, but I
haven't seen it a while and things might of changed, so -

Right now (July 2004) how does mysql stand up in comparison to oracle?
We are seriously considering migrating our multi-processor oracle
system to mysql to save on licensing costs, and would need several
features that mysql may or may not have:

- replication
- archive logging
- interoperability with oracle/database links with oracle
- PL/SQL type language/stored procedures
- roles
- oracle migration scripts/conversion
- embedded java API
- partitioning/tablespace assignment
- import/export tools
- equivalent oracle datatypes
- multi-processor support
- performance (relatively equivalent or better)

In addition, have any oracle DBAs out there gone through the
conversion process between mysql and oracle? If so, what were the
gotchas/catches that you went through? What are features that are
there that you like or feel are missing? I apologize in advance for
the cross-post, but I did want to get as wide a range of opinion as
possible..

Thanks much,

jon
No comparison and you have missed the most important questions you
should be concerned about unless you are running a hotdog stand.

1. Where to we call for support if there is a problem we can't solve?


mysql.com

Being open source product doesn't mean "not supported". You can buy
support contract.
2. How do we recover transactions that occur between the last backup
and the time when the system fails?
There is limited crush recovery.
3. Can we recover from object and/or file corruption?

Very simply ... ask your management what the cost is to the company
for every hour the system is unavailable. Then compare that to the
less than $800 cost for licensing Oracle SE1.

But if you truly need EE capabilities such as partitioning then stick
with Oracle. You won't find it anywhere else.

Daniel Morgan

Jul 20 '05 #4

P: n/a
tt*******@yahoo.com (jonathan) wrote in message news:<f0**************************@posting.google. com>...
hey all,

I realize that this question might pop up from time to time, but I
haven't seen it a while and things might of changed, so -

Take a good look at http://www.mysql.com
Right now (July 2004) how does mysql stand up in comparison to oracle?
We are seriously considering migrating our multi-processor oracle
system to mysql to save on licensing costs, and would need several
features that mysql may or may not have:

- replication
Limited (comparing to Oracle).
- archive logging
No
- interoperability with oracle/database links with oracle
Not sure. Nothing supported by Oracle. Maybe some 3rd party tools.
- PL/SQL type language/stored procedures
Very limited SQL stored functions and procedures (ANSI 2003?), like in DB2.
- roles
- oracle migration scripts/conversion
Not sure it's possible. Like with any other databases, you'd need a lot
of manual work.
- embedded java API
No
- partitioning/tablespace assignment
Tablespaces. No partitioned tables in Oracle sense (limited partitioning
for clusters).
- import/export tools
- equivalent oracle datatypes
Not exactly. Lots of C-type datatypes, no good support for VARCHAR yet.
- multi-processor support
Yes.
- performance (relatively equivalent or better)

You wouldn't know till you try... Everybody likes performance of MySQL
with non-transactional tables, but I wouldn't base serious applications
on them...
In addition, have any oracle DBAs out there gone through the
conversion process between mysql and oracle? If so, what were the
gotchas/catches that you went through? What are features that are
there that you like or feel are missing? I apologize in advance for
the cross-post, but I did want to get as wide a range of opinion as
possible..

Thanks much,

jon

Jul 20 '05 #5

P: n/a
Alex Filonov wrote:

No comparison and you have missed the most important questions you
should be concerned about unless you are running a hotdog stand.

1. Where to we call for support if there is a problem we can't solve?

mysql.com


Not exactly the same thing as opening a Level 1 TAR.
Being open source product doesn't mean "not supported". You can buy
support contract.


True. But being available 7x24 and able to support you in the way
Oracle support does requires paying money: And lots of it.
2. How do we recover transactions that occur between the last backup
and the time when the system fails?


There is limited crush recovery.


Compared with Oracle ... very limited. And it is the issues related
to Murphy's Law that are most important to consider.
3. Can we recover from object and/or file corruption?

Very simply ... ask your management what the cost is to the company
for every hour the system is unavailable. Then compare that to the
less than $800 cost for licensing Oracle SE1.

But if you truly need EE capabilities such as partitioning then stick
with Oracle. You won't find it anywhere else.

Daniel Morgan


Daniel Morgan

Jul 20 '05 #6

P: n/a
Daniel Morgan <da******@x.washington.edu> wrote in message news:<1089413320.371216@yasure>...
1. Where to we call for support if there is a problem we can't solve?

mysql.com


Not exactly the same thing as opening a Level 1 TAR.


However, quite similar comparing to usual processing of a Level 2
iTAR. Sorry couldn't resist. :-)

--
Dusan Bolek
http://www.db-support.com

Email: sp*****@seznam.cz
Pls add "Not Guilty" to the subject, otherwise your email will face an
unpleasant end as SPAM.
Jul 20 '05 #7

P: n/a
jo********@home.com (Joel Garry) wrote in message news:<91**************************@posting.google. com>...
af******@yahoo.com (Alex Filonov) wrote in message news:<33**************************@posting.google. com>...
Daniel Morgan <da******@x.washington.edu> wrote in message news:<1089413320.371216@yasure>...
Alex Filonov wrote:

>>
>>No comparison and you have missed the most important questions you
>>should be concerned about unless you are running a hotdog stand.
>>
>>1. Where to we call for support if there is a problem we can't solve?
>
>
> mysql.com

Not exactly the same thing as opening a Level 1 TAR.

I don't know all details of MySQL support, but I think you can get pretty
good support, including phone hotline, for the price comparable with the
price of Oracle support.
> Being open source product doesn't mean "not supported". You can buy
> support contract.

True. But being available 7x24 and able to support you in the way
Oracle support does requires paying money: And lots of it.


Sure. Oracle support is not cheap either.
>>2. How do we recover transactions that occur between the last backup
>> and the time when the system fails?
>
> There is limited crush recovery.

Compared with Oracle ... very limited. And it is the issues related
to Murphy's Law that are most important to consider.


Judging by industy experience (Yahoo! and Google are both using MySQL
on a big scale), things aren't that bad...


They are if you care about transactions and consistency. Yahoo and


This sarcasm is obsolete. MySQL has pretty decent transactional support.
As for consistency (I suppose you mean read-only), it's implemented in
ProgreSQL, another Open Source DB engine. BTW, other commercial RMBDS
(DB2, MSSQL) don't have read-only consistency and sell pretty well at that.
Google don't have to. <sarcasm> If you miss a web page here or there,
so what? Lose a sale in the middle, who cares, the customer will call
if he's unhappy, soon enough. Mailing lists? Blame it all on spam
filters.</sarcasm>


Well, commercial companies are using the tool successfully, making tons
of money. We can grump whatever we want (I'd be happy to see everybody
using Oracle), but the tool is a commercial success.

Myself, I wouldn't recommend MySQL for critical applications as yet.
But things are moving pretty fast in the Open Source world...


Once you build that handbasket, Hell isn't far.

jg

Jul 20 '05 #8

P: n/a
VC
Hello,

Please see in-line:

"Alex Filonov" <af******@yahoo.com> wrote in message
news:33**************************@posting.google.c om...
As for consistency (I suppose you mean read-only), it's implemented in
ProgreSQL, another Open Source DB engine. BTW, other commercial RMBDS
(DB2, MSSQL) don't have read-only consistency and sell pretty well at

that.

Please define 'read-only consistency' and elaborate a bit on why DB2 and
MSSQL don't have it.

Thanks.

VC
Jul 20 '05 #9

P: n/a
Daniel Morgan <da******@x.washington.edu> wrote in message news:<1089413320.371216@yasure>...
Alex Filonov wrote:

No comparison and you have missed the most important questions you
should be concerned about unless you are running a hotdog stand.

1. Where to we call for support if there is a problem we can't solve?

mysql.com


Not exactly the same thing as opening a Level 1 TAR.


I don't know all details of MySQL support, but I think you can get pretty
good support, including phone hotline, for the price comparable with the
price of Oracle support.
Being open source product doesn't mean "not supported". You can buy
support contract.


True. But being available 7x24 and able to support you in the way
Oracle support does requires paying money: And lots of it.


Sure. Oracle support is not cheap either.
2. How do we recover transactions that occur between the last backup
and the time when the system fails?


There is limited crush recovery.


Compared with Oracle ... very limited. And it is the issues related
to Murphy's Law that are most important to consider.


Judging by industy experience (Yahoo! and Google are both using MySQL
on a big scale), things aren't that bad...

Myself, I wouldn't recommend MySQL for critical applications as yet.
But things are moving pretty fast in the Open Source world...
3. Can we recover from object and/or file corruption?

Very simply ... ask your management what the cost is to the company
for every hour the system is unavailable. Then compare that to the
less than $800 cost for licensing Oracle SE1.

But if you truly need EE capabilities such as partitioning then stick
with Oracle. You won't find it anywhere else.

Daniel Morgan


Daniel Morgan

Jul 20 '05 #10

P: n/a
> Well, commercial companies are using the tool successfully, making tons
of money. We can grump whatever we want (I'd be happy to see everybody
using Oracle), but the tool is a commercial success.


Based on your definition we should all be impressed by Microsoft
technology too. Commercial success means good sales and marketing
not good technology. Not that the two can't coexist ... but in this
case the success is related to the fact that the tool is free and
little else.

I have yet to see anyone recover from MySQL or PostgreSQL after a
crash without losing transactions: Not once. And if you think you
can ... give me a byte editor and five minutes and I'll be glad to
see if your belief system is valid.

Daniel Morgan

Jul 20 '05 #11

P: n/a
af******@yahoo.com (Alex Filonov) wrote in message news:<33**************************@posting.google. com>...
Daniel Morgan <da******@x.washington.edu> wrote in message news:<1089413320.371216@yasure>...
Alex Filonov wrote:
>
>No comparison and you have missed the most important questions you
>should be concerned about unless you are running a hotdog stand.
>
>1. Where to we call for support if there is a problem we can't solve?
mysql.com
Not exactly the same thing as opening a Level 1 TAR.


I don't know all details of MySQL support, but I think you can get pretty
good support, including phone hotline, for the price comparable with the
price of Oracle support.
Being open source product doesn't mean "not supported". You can buy
support contract.


True. But being available 7x24 and able to support you in the way
Oracle support does requires paying money: And lots of it.


Sure. Oracle support is not cheap either.
>2. How do we recover transactions that occur between the last backup
> and the time when the system fails?

There is limited crush recovery.


Compared with Oracle ... very limited. And it is the issues related
to Murphy's Law that are most important to consider.


Judging by industy experience (Yahoo! and Google are both using MySQL
on a big scale), things aren't that bad...


They are if you care about transactions and consistency. Yahoo and
Google don't have to. <sarcasm> If you miss a web page here or there,
so what? Lose a sale in the middle, who cares, the customer will call
if he's unhappy, soon enough. Mailing lists? Blame it all on spam
filters.</sarcasm>

Myself, I wouldn't recommend MySQL for critical applications as yet.
But things are moving pretty fast in the Open Source world...


Once you build that handbasket, Hell isn't far.

jg
--
@home.com is bogus.
http://www.autoweek.com/specials/gal...ages/index.htm
Jul 20 '05 #12

P: n/a
Alex Filonov wrote:
Judging by industy experience (Yahoo! and Google are both using MySQL
on a big scale), things aren't that bad...

Myself, I wouldn't recommend MySQL for critical applications as yet.
But things are moving pretty fast in the Open Source world...


You may be correct about where they are moving. But do you know what
Yahoo and Google are using it for?

Because, as you say, I sure wouldn't use it for mission critical data.

Daniel Morgan

Jul 20 '05 #13

P: n/a
jo********@home.com (Joel Garry) wrote in message news:<91**************************@posting.google. com>...
af******@yahoo.com (Alex Filonov) wrote in message news:<33**************************@posting.google. com>...
Daniel Morgan <da******@x.washington.edu> wrote in message news:<1089413320.371216@yasure>...
Alex Filonov wrote:

>>
>>No comparison and you have missed the most important questions you
>>should be concerned about unless you are running a hotdog stand.
>>
>>1. Where to we call for support if there is a problem we can't solve?
>
>
> mysql.com

Not exactly the same thing as opening a Level 1 TAR.

I don't know all details of MySQL support, but I think you can get pretty
good support, including phone hotline, for the price comparable with the
price of Oracle support.
> Being open source product doesn't mean "not supported". You can buy
> support contract.

True. But being available 7x24 and able to support you in the way
Oracle support does requires paying money: And lots of it.


Sure. Oracle support is not cheap either.
>>2. How do we recover transactions that occur between the last backup
>> and the time when the system fails?
>
> There is limited crush recovery.

Compared with Oracle ... very limited. And it is the issues related
to Murphy's Law that are most important to consider.


Judging by industy experience (Yahoo! and Google are both using MySQL
on a big scale), things aren't that bad...


They are if you care about transactions and consistency. Yahoo and


This sarcasm is obsolete. MySQL has pretty decent transactional support.
As for consistency (I suppose you mean read-only), it's implemented in
ProgreSQL, another Open Source DB engine. BTW, other commercial RMBDS
(DB2, MSSQL) don't have read-only consistency and sell pretty well at that.
Google don't have to. <sarcasm> If you miss a web page here or there,
so what? Lose a sale in the middle, who cares, the customer will call
if he's unhappy, soon enough. Mailing lists? Blame it all on spam
filters.</sarcasm>


Well, commercial companies are using the tool successfully, making tons
of money. We can grump whatever we want (I'd be happy to see everybody
using Oracle), but the tool is a commercial success.

Myself, I wouldn't recommend MySQL for critical applications as yet.
But things are moving pretty fast in the Open Source world...


Once you build that handbasket, Hell isn't far.

jg

Jul 20 '05 #14

P: n/a
VC
Hello,

Please see in-line:

"Alex Filonov" <af******@yahoo.com> wrote in message
news:33**************************@posting.google.c om...
As for consistency (I suppose you mean read-only), it's implemented in
ProgreSQL, another Open Source DB engine. BTW, other commercial RMBDS
(DB2, MSSQL) don't have read-only consistency and sell pretty well at

that.

Please define 'read-only consistency' and elaborate a bit on why DB2 and
MSSQL don't have it.

Thanks.

VC
Jul 20 '05 #15

P: n/a
> Well, commercial companies are using the tool successfully, making tons
of money. We can grump whatever we want (I'd be happy to see everybody
using Oracle), but the tool is a commercial success.


Based on your definition we should all be impressed by Microsoft
technology too. Commercial success means good sales and marketing
not good technology. Not that the two can't coexist ... but in this
case the success is related to the fact that the tool is free and
little else.

I have yet to see anyone recover from MySQL or PostgreSQL after a
crash without losing transactions: Not once. And if you think you
can ... give me a byte editor and five minutes and I'll be glad to
see if your belief system is valid.

Daniel Morgan

Jul 20 '05 #16

P: n/a
af******@yahoo.com (Alex Filonov) wrote in message news:<33**************************@posting.google. com>...
jo********@home.com (Joel Garry) wrote in message news:<91**************************@posting.google. com>...
af******@yahoo.com (Alex Filonov) wrote in message news:<33**************************@posting.google. com>...
Daniel Morgan <da******@x.washington.edu> wrote in message news:<1089413320.371216@yasure>...
> Alex Filonov wrote:
>
> >>
> >>No comparison and you have missed the most important questions you
> >>should be concerned about unless you are running a hotdog stand.
> >>
> >>1. Where to we call for support if there is a problem we can't solve?
> >
> >
> > mysql.com
>
> Not exactly the same thing as opening a Level 1 TAR.
>

I don't know all details of MySQL support, but I think you can get pretty
good support, including phone hotline, for the price comparable with the
price of Oracle support.

> > Being open source product doesn't mean "not supported". You can buy
> > support contract.
>
> True. But being available 7x24 and able to support you in the way
> Oracle support does requires paying money: And lots of it.
>

Sure. Oracle support is not cheap either.

> >>2. How do we recover transactions that occur between the last backup
> >> and the time when the system fails?
> >
> > There is limited crush recovery.
>
> Compared with Oracle ... very limited. And it is the issues related
> to Murphy's Law that are most important to consider.
>

Judging by industy experience (Yahoo! and Google are both using MySQL
on a big scale), things aren't that bad...
They are if you care about transactions and consistency. Yahoo and


This sarcasm is obsolete. MySQL has pretty decent transactional support.
As for consistency (I suppose you mean read-only), it's implemented in
ProgreSQL, another Open Source DB engine. BTW, other commercial RMBDS


It's PostgreSQL, sorry.

(DB2, MSSQL) don't have read-only consistency and sell pretty well at that.
Google don't have to. <sarcasm> If you miss a web page here or there,
so what? Lose a sale in the middle, who cares, the customer will call
if he's unhappy, soon enough. Mailing lists? Blame it all on spam
filters.</sarcasm>


Well, commercial companies are using the tool successfully, making tons
of money. We can grump whatever we want (I'd be happy to see everybody
using Oracle), but the tool is a commercial success.

Myself, I wouldn't recommend MySQL for critical applications as yet.
But things are moving pretty fast in the Open Source world...


Once you build that handbasket, Hell isn't far.

jg

Jul 20 '05 #17

P: n/a
"VC" <bo*******@hotmail.com> wrote in message news:<KbZIc.81643$Oq2.30187@attbi_s52>...
Hello,

Please see in-line:

"Alex Filonov" <af******@yahoo.com> wrote in message
news:33**************************@posting.google.c om...
As for consistency (I suppose you mean read-only), it's implemented in
ProgreSQL, another Open Source DB engine. BTW, other commercial RMBDS
(DB2, MSSQL) don't have read-only consistency and sell pretty well at that.

Please define 'read-only consistency' and elaborate a bit on why DB2 and
MSSQL don't have it.


Read-only consistency is defined well enough in Oracle Concepts document.
In short, it means that result of any query reflects commited data in the
tables as of time when the query was submitted, without locking any objects
in the database (readers don't block writers, writers don't block readers).

DB2 and MSSQL can do either dirty read (including uncommited changes) or
consistent read with lock (read commited). To my knowledge, only PostgreSQL
and Interbase have read-only consistency in Oracle definition.

As for why... I don't work (and never did) for either IBM or M$, so I
don't have an answer to this question.
Thanks.

VC

Jul 20 '05 #18

P: n/a
In message <33**************************@posting.google.com >, Alex
Filonov <af******@yahoo.com> writes
"VC" <bo*******@hotmail.com> wrote in message
news:<KbZIc.81643$Oq2.30187@attbi_s52>...
Hello,

Please see in-line:

"Alex Filonov" <af******@yahoo.com> wrote in message
news:33**************************@posting.google.c om...
> As for consistency (I suppose you mean read-only), it's implemented in
> ProgreSQL, another Open Source DB engine. BTW, other commercial RMBDS
> (DB2, MSSQL) don't have read-only consistency and sell pretty well at that.

Please define 'read-only consistency' and elaborate a bit on why DB2 and
MSSQL don't have it.


Read-only consistency is defined well enough in Oracle Concepts document.
In short, it means that result of any query reflects commited data in the
tables as of time when the query was submitted, without locking any objects
in the database (readers don't block writers, writers don't block readers).

DB2 and MSSQL can do either dirty read (including uncommited changes) or
consistent read with lock (read commited). To my knowledge, only PostgreSQL
and Interbase have read-only consistency in Oracle definition.


So does Informix IDS, so long as you specify the correct isolation
level.

As for why... I don't work (and never did) for either IBM or M$, so I
don't have an answer to this question.


--
Five Cats
Email to: cats_spam at uk2 dot net
Jul 20 '05 #19

P: n/a
af******@yahoo.com (Alex Filonov) wrote in message news:<33**************************@posting.google. com>...
jo********@home.com (Joel Garry) wrote in message news:<91**************************@posting.google. com>...
af******@yahoo.com (Alex Filonov) wrote in message news:<33**************************@posting.google. com>...
Daniel Morgan <da******@x.washington.edu> wrote in message news:<1089413320.371216@yasure>...
> Alex Filonov wrote:
>
> >>
> >>No comparison and you have missed the most important questions you
> >>should be concerned about unless you are running a hotdog stand.
> >>
> >>1. Where to we call for support if there is a problem we can't solve?
> >
> >
> > mysql.com
>
> Not exactly the same thing as opening a Level 1 TAR.
>

I don't know all details of MySQL support, but I think you can get pretty
good support, including phone hotline, for the price comparable with the
price of Oracle support.

> > Being open source product doesn't mean "not supported". You can buy
> > support contract.
>
> True. But being available 7x24 and able to support you in the way
> Oracle support does requires paying money: And lots of it.
>

Sure. Oracle support is not cheap either.

> >>2. How do we recover transactions that occur between the last backup
> >> and the time when the system fails?
> >
> > There is limited crush recovery.
>
> Compared with Oracle ... very limited. And it is the issues related
> to Murphy's Law that are most important to consider.
>

Judging by industy experience (Yahoo! and Google are both using MySQL
on a big scale), things aren't that bad...
They are if you care about transactions and consistency. Yahoo and


This sarcasm is obsolete. MySQL has pretty decent transactional support.
As for consistency (I suppose you mean read-only), it's implemented in
ProgreSQL, another Open Source DB engine. BTW, other commercial RMBDS
(DB2, MSSQL) don't have read-only consistency and sell pretty well at that.


Sorry, I was in too bad of a mood to be posting at that particular
moment. It seems that some of my stuff in OAS has performance issues
because of waiting on sqlnet in the middle of transactions, and I was
frustrated at not having figured out what was happening yet. I don't
think anyone would have _tried_ to do such a thing with mysql. I'm
not sure if that is good or bad.
Google don't have to. <sarcasm> If you miss a web page here or there,
so what? Lose a sale in the middle, who cares, the customer will call
if he's unhappy, soon enough. Mailing lists? Blame it all on spam
filters.</sarcasm>


Well, commercial companies are using the tool successfully, making tons
of money. We can grump whatever we want (I'd be happy to see everybody
using Oracle), but the tool is a commercial success.


Didn't they, like, sell out to SAP? Is that really commercial
success? And I'm yet to be convinced any of the *gres's commercial
viability. As Daniel pointed out, commercial success is not related
to technical superiority.

jg
--
@home.com is bogus.
I'm so tired. http://slate.msn.com/id/2103823/
Jul 20 '05 #20

P: n/a
VC
Pls. see below:

"Alex Filonov" <af******@yahoo.com> wrote in message
news:33**************************@posting.google.c om...
"VC" <bo*******@hotmail.com> wrote in message news:<KbZIc.81643$Oq2.30187@attbi_s52>...
Hello,

Please see in-line:

"Alex Filonov" <af******@yahoo.com> wrote in message
news:33**************************@posting.google.c om...
As for consistency (I suppose you mean read-only), it's implemented in
ProgreSQL, another Open Source DB engine. BTW, other commercial RMBDS
(DB2, MSSQL) don't have read-only consistency and sell pretty well at

that.

Please define 'read-only consistency' and elaborate a bit on why DB2 and MSSQL don't have it.


Read-only consistency is defined well enough in Oracle Concepts document.
In short, it means that result of any query reflects commited data in the
tables as of time when the query was submitted, without locking any

objects in the database (readers don't block writers, writers don't block readers).


Ah, that's what you mean. In this narrow sense, yes, you are right. A
more correct way would be to say that Oracle implements a variety of
multiversion concurrency control with 'read consistency' being just a part
of the mechanism.

DB2 and MSSQL naturally do not have this kind of 'read consistency' (in a
narrow sense) since they implement an entirely different concurrency model
which prevent neither from producing fully consistent results, read or
otherwise, in a proper isolation mode/level.
VC
Jul 20 '05 #21

P: n/a
af******@yahoo.com (Alex Filonov) wrote in message news:<33**************************@posting.google. com>...
jo********@home.com (Joel Garry) wrote in message news:<91**************************@posting.google. com>...
af******@yahoo.com (Alex Filonov) wrote in message news:<33**************************@posting.google. com>...
Daniel Morgan <da******@x.washington.edu> wrote in message news:<1089413320.371216@yasure>...
> Alex Filonov wrote:
>
> >>
> >>No comparison and you have missed the most important questions you
> >>should be concerned about unless you are running a hotdog stand.
> >>
> >>1. Where to we call for support if there is a problem we can't solve?
> >
> >
> > mysql.com
>
> Not exactly the same thing as opening a Level 1 TAR.
>

I don't know all details of MySQL support, but I think you can get pretty
good support, including phone hotline, for the price comparable with the
price of Oracle support.

> > Being open source product doesn't mean "not supported". You can buy
> > support contract.
>
> True. But being available 7x24 and able to support you in the way
> Oracle support does requires paying money: And lots of it.
>

Sure. Oracle support is not cheap either.

> >>2. How do we recover transactions that occur between the last backup
> >> and the time when the system fails?
> >
> > There is limited crush recovery.
>
> Compared with Oracle ... very limited. And it is the issues related
> to Murphy's Law that are most important to consider.
>

Judging by industy experience (Yahoo! and Google are both using MySQL
on a big scale), things aren't that bad...
They are if you care about transactions and consistency. Yahoo and


This sarcasm is obsolete. MySQL has pretty decent transactional support.
As for consistency (I suppose you mean read-only), it's implemented in
ProgreSQL, another Open Source DB engine. BTW, other commercial RMBDS


It's PostgreSQL, sorry.

(DB2, MSSQL) don't have read-only consistency and sell pretty well at that.
Google don't have to. <sarcasm> If you miss a web page here or there,
so what? Lose a sale in the middle, who cares, the customer will call
if he's unhappy, soon enough. Mailing lists? Blame it all on spam
filters.</sarcasm>


Well, commercial companies are using the tool successfully, making tons
of money. We can grump whatever we want (I'd be happy to see everybody
using Oracle), but the tool is a commercial success.

Myself, I wouldn't recommend MySQL for critical applications as yet.
But things are moving pretty fast in the Open Source world...


Once you build that handbasket, Hell isn't far.

jg

Jul 20 '05 #22

P: n/a
"VC" <bo*******@hotmail.com> wrote in message news:<KbZIc.81643$Oq2.30187@attbi_s52>...
Hello,

Please see in-line:

"Alex Filonov" <af******@yahoo.com> wrote in message
news:33**************************@posting.google.c om...
As for consistency (I suppose you mean read-only), it's implemented in
ProgreSQL, another Open Source DB engine. BTW, other commercial RMBDS
(DB2, MSSQL) don't have read-only consistency and sell pretty well at that.

Please define 'read-only consistency' and elaborate a bit on why DB2 and
MSSQL don't have it.


Read-only consistency is defined well enough in Oracle Concepts document.
In short, it means that result of any query reflects commited data in the
tables as of time when the query was submitted, without locking any objects
in the database (readers don't block writers, writers don't block readers).

DB2 and MSSQL can do either dirty read (including uncommited changes) or
consistent read with lock (read commited). To my knowledge, only PostgreSQL
and Interbase have read-only consistency in Oracle definition.

As for why... I don't work (and never did) for either IBM or M$, so I
don't have an answer to this question.
Thanks.

VC

Jul 20 '05 #23

P: n/a
In message <33**************************@posting.google.com >, Alex
Filonov <af******@yahoo.com> writes
"VC" <bo*******@hotmail.com> wrote in message
news:<KbZIc.81643$Oq2.30187@attbi_s52>...
Hello,

Please see in-line:

"Alex Filonov" <af******@yahoo.com> wrote in message
news:33**************************@posting.google.c om...
> As for consistency (I suppose you mean read-only), it's implemented in
> ProgreSQL, another Open Source DB engine. BTW, other commercial RMBDS
> (DB2, MSSQL) don't have read-only consistency and sell pretty well at that.

Please define 'read-only consistency' and elaborate a bit on why DB2 and
MSSQL don't have it.


Read-only consistency is defined well enough in Oracle Concepts document.
In short, it means that result of any query reflects commited data in the
tables as of time when the query was submitted, without locking any objects
in the database (readers don't block writers, writers don't block readers).

DB2 and MSSQL can do either dirty read (including uncommited changes) or
consistent read with lock (read commited). To my knowledge, only PostgreSQL
and Interbase have read-only consistency in Oracle definition.


So does Informix IDS, so long as you specify the correct isolation
level.

As for why... I don't work (and never did) for either IBM or M$, so I
don't have an answer to this question.


--
Five Cats
Email to: cats_spam at uk2 dot net
Jul 20 '05 #24

P: n/a
af******@yahoo.com (Alex Filonov) wrote in message news:<33**************************@posting.google. com>...
jo********@home.com (Joel Garry) wrote in message news:<91**************************@posting.google. com>...
af******@yahoo.com (Alex Filonov) wrote in message news:<33**************************@posting.google. com>...
Daniel Morgan <da******@x.washington.edu> wrote in message news:<1089413320.371216@yasure>...
> Alex Filonov wrote:
>
> >>
> >>No comparison and you have missed the most important questions you
> >>should be concerned about unless you are running a hotdog stand.
> >>
> >>1. Where to we call for support if there is a problem we can't solve?
> >
> >
> > mysql.com
>
> Not exactly the same thing as opening a Level 1 TAR.
>

I don't know all details of MySQL support, but I think you can get pretty
good support, including phone hotline, for the price comparable with the
price of Oracle support.

> > Being open source product doesn't mean "not supported". You can buy
> > support contract.
>
> True. But being available 7x24 and able to support you in the way
> Oracle support does requires paying money: And lots of it.
>

Sure. Oracle support is not cheap either.

> >>2. How do we recover transactions that occur between the last backup
> >> and the time when the system fails?
> >
> > There is limited crush recovery.
>
> Compared with Oracle ... very limited. And it is the issues related
> to Murphy's Law that are most important to consider.
>

Judging by industy experience (Yahoo! and Google are both using MySQL
on a big scale), things aren't that bad...
They are if you care about transactions and consistency. Yahoo and


This sarcasm is obsolete. MySQL has pretty decent transactional support.
As for consistency (I suppose you mean read-only), it's implemented in
ProgreSQL, another Open Source DB engine. BTW, other commercial RMBDS
(DB2, MSSQL) don't have read-only consistency and sell pretty well at that.


Sorry, I was in too bad of a mood to be posting at that particular
moment. It seems that some of my stuff in OAS has performance issues
because of waiting on sqlnet in the middle of transactions, and I was
frustrated at not having figured out what was happening yet. I don't
think anyone would have _tried_ to do such a thing with mysql. I'm
not sure if that is good or bad.
Google don't have to. <sarcasm> If you miss a web page here or there,
so what? Lose a sale in the middle, who cares, the customer will call
if he's unhappy, soon enough. Mailing lists? Blame it all on spam
filters.</sarcasm>


Well, commercial companies are using the tool successfully, making tons
of money. We can grump whatever we want (I'd be happy to see everybody
using Oracle), but the tool is a commercial success.


Didn't they, like, sell out to SAP? Is that really commercial
success? And I'm yet to be convinced any of the *gres's commercial
viability. As Daniel pointed out, commercial success is not related
to technical superiority.

jg
--
@home.com is bogus.
I'm so tired. http://slate.msn.com/id/2103823/
Jul 20 '05 #25

P: n/a
"VC" <bo*******@hotmail.com> wrote in message news:<%ViJc.91742$XM6.50454@attbi_s53>...
Pls. see below:

"Alex Filonov" <af******@yahoo.com> wrote in message
news:33**************************@posting.google.c om...
"VC" <bo*******@hotmail.com> wrote in message news:<KbZIc.81643$Oq2.30187@attbi_s52>...
Hello,

Please see in-line:

"Alex Filonov" <af******@yahoo.com> wrote in message
news:33**************************@posting.google.c om...
> As for consistency (I suppose you mean read-only), it's implemented in
> ProgreSQL, another Open Source DB engine. BTW, other commercial RMBDS
> (DB2, MSSQL) don't have read-only consistency and sell pretty well at
that.

Please define 'read-only consistency' and elaborate a bit on why DB2 and MSSQL don't have it.


Read-only consistency is defined well enough in Oracle Concepts document.
In short, it means that result of any query reflects commited data in the
tables as of time when the query was submitted, without locking any

objects
in the database (readers don't block writers, writers don't block

readers).


Ah, that's what you mean. In this narrow sense, yes, you are right. A
more correct way would be to say that Oracle implements a variety of
multiversion concurrency control with 'read consistency' being just a part
of the mechanism.

DB2 and MSSQL naturally do not have this kind of 'read consistency' (in a
narrow sense) since they implement an entirely different concurrency model
which prevent neither from producing fully consistent results, read or
otherwise, in a proper isolation mode/level.


According to some information M$ is going to implement read-only
consistency (Oracle style) in the next version. As for correct concurrency
model, I remember one project, when data warehouse was build using MSSQL,
everything was almost OK, management was pleased immensely. Until they
started running reports. When management found out that reports practically
stopped online work, mood changed.

VC

Jul 20 '05 #26

P: n/a
VC
Pls. see below:

"Alex Filonov" <af******@yahoo.com> wrote in message
news:33**************************@posting.google.c om...
"VC" <bo*******@hotmail.com> wrote in message news:<KbZIc.81643$Oq2.30187@attbi_s52>...
Hello,

Please see in-line:

"Alex Filonov" <af******@yahoo.com> wrote in message
news:33**************************@posting.google.c om...
As for consistency (I suppose you mean read-only), it's implemented in
ProgreSQL, another Open Source DB engine. BTW, other commercial RMBDS
(DB2, MSSQL) don't have read-only consistency and sell pretty well at

that.

Please define 'read-only consistency' and elaborate a bit on why DB2 and MSSQL don't have it.


Read-only consistency is defined well enough in Oracle Concepts document.
In short, it means that result of any query reflects commited data in the
tables as of time when the query was submitted, without locking any

objects in the database (readers don't block writers, writers don't block readers).


Ah, that's what you mean. In this narrow sense, yes, you are right. A
more correct way would be to say that Oracle implements a variety of
multiversion concurrency control with 'read consistency' being just a part
of the mechanism.

DB2 and MSSQL naturally do not have this kind of 'read consistency' (in a
narrow sense) since they implement an entirely different concurrency model
which prevent neither from producing fully consistent results, read or
otherwise, in a proper isolation mode/level.
VC
Jul 20 '05 #27

P: n/a
VC

"Alex Filonov" <af******@yahoo.com> wrote in message
news:33*************************@posting.google.co m...
According to some information M$ is going to implement read-only
consistency (Oracle style) in the next version.
Yes, MS SQL Server is going to have multiversion concurrency control (the
latest Yukon beta actually already has it). It'll be exposed to the user as
SNAPSHOT isolation level.
As for correct concurrency
model,
A correct concurrency control/model ensures that all the permitted
transactions are serializable. In this sense, databases like DB2 or MSSQL
implement a correct concurrency model albeit at the expense of lower
concurrency in some circumstances. Funnily enough, none of the Oracle
isolation levels can make the same promise, i.e. ensure serializable
transaction histories, in any of its isolation levels. Usually, it's quite
easy to obtain correct results by augmenting an isolation level with
something like 'select for update', though..
I remember one project, when data warehouse was build using MSSQL,
everything was almost OK, management was pleased immensely. Until they
started running reports. When management found out that reports practically stopped online work, mood changed.


Well, there are several possible responses to this anecdote:

1. If the described system was a true data warehouse/DSS, then there
should not have been a problem at all since there should have been no OLTP
activity by definition.

2. On the other hand, if the implementation was a mixed OLTP/DSS project,
then judging by your story, the database architect was not qualified to
design a system like that. His/her being surprised that a locking
scheduler's reads block writes, and vice versa, is akin to a swimmer's being
amazed that water is wet. There are several well-known approaches to the
reporting problem such as replicating the main database to a reporting
database, transaction log shipping, scheduling reports off-hours, etc.

VC
Jul 20 '05 #28

P: n/a
VC wrote:
A correct concurrency control/model ensures that all the permitted
transactions are serializable. In this sense, databases like DB2 or MSSQL
implement a correct concurrency model albeit at the expense of lower
concurrency in some circumstances. Funnily enough, none of the Oracle
isolation levels can make the same promise, i.e. ensure serializable
transaction histories, in any of its isolation levels. Usually, it's quite
easy to obtain correct results by augmenting an isolation level with
something like 'select for update', though..


And if this is true why, exactly, would anyone care at the expense of
being able to extract an accurate answer from a database without
performing table locks on all resources?

Daniel Morgan

Jul 20 '05 #29

P: n/a
VC
Hello Daniel,

"Daniel Morgan" <da******@x.washington.edu> wrote in message
news:1089945278.134355@yasure...
VC wrote:
A correct concurrency control/model ensures that all the permitted
transactions are serializable. In this sense, databases like DB2 or MSSQL implement a correct concurrency model albeit at the expense of lower
concurrency in some circumstances. Funnily enough, none of the Oracle
isolation levels can make the same promise, i.e. ensure serializable
transaction histories, in any of its isolation levels. Usually, it's quite easy to obtain correct results by augmenting an isolation level with
something like 'select for update', though..
And if this is true why, exactly, would anyone care at the expense of
being able to extract an accurate answer from a database without
performing table locks on all resources?


I am not sure what specific part of my message the word *this* ('if this is
true') refers to, but assuming it's the last sentence then you surely know
that 'select for update' takes write (TX) lock on all the rows involed A
locking scheduler would take *read* row level locks in similar circumstances
automatically. If my interpretaion is incorrect, please elaborate.

VC
Daniel Morgan

Jul 20 '05 #30

P: n/a
"VC" <bo*******@hotmail.com> wrote in message news:<%ViJc.91742$XM6.50454@attbi_s53>...
Pls. see below:

"Alex Filonov" <af******@yahoo.com> wrote in message
news:33**************************@posting.google.c om...
"VC" <bo*******@hotmail.com> wrote in message news:<KbZIc.81643$Oq2.30187@attbi_s52>...
Hello,

Please see in-line:

"Alex Filonov" <af******@yahoo.com> wrote in message
news:33**************************@posting.google.c om...
> As for consistency (I suppose you mean read-only), it's implemented in
> ProgreSQL, another Open Source DB engine. BTW, other commercial RMBDS
> (DB2, MSSQL) don't have read-only consistency and sell pretty well at
that.

Please define 'read-only consistency' and elaborate a bit on why DB2 and MSSQL don't have it.


Read-only consistency is defined well enough in Oracle Concepts document.
In short, it means that result of any query reflects commited data in the
tables as of time when the query was submitted, without locking any

objects
in the database (readers don't block writers, writers don't block

readers).


Ah, that's what you mean. In this narrow sense, yes, you are right. A
more correct way would be to say that Oracle implements a variety of
multiversion concurrency control with 'read consistency' being just a part
of the mechanism.

DB2 and MSSQL naturally do not have this kind of 'read consistency' (in a
narrow sense) since they implement an entirely different concurrency model
which prevent neither from producing fully consistent results, read or
otherwise, in a proper isolation mode/level.


According to some information M$ is going to implement read-only
consistency (Oracle style) in the next version. As for correct concurrency
model, I remember one project, when data warehouse was build using MSSQL,
everything was almost OK, management was pleased immensely. Until they
started running reports. When management found out that reports practically
stopped online work, mood changed.

VC

Jul 20 '05 #31

P: n/a
"VC" <bo*******@hotmail.com> wrote in message news:<l9DJc.98700$XM6.25133@attbi_s53>...
"Alex Filonov" <af******@yahoo.com> wrote in message
news:33*************************@posting.google.co m...
According to some information M$ is going to implement read-only
consistency (Oracle style) in the next version.
Yes, MS SQL Server is going to have multiversion concurrency control (the
latest Yukon beta actually already has it). It'll be exposed to the user as
SNAPSHOT isolation level.
As for correct concurrency
model,


A correct concurrency control/model ensures that all the permitted
transactions are serializable. In this sense, databases like DB2 or MSSQL
implement a correct concurrency model albeit at the expense of lower
concurrency in some circumstances. Funnily enough, none of the Oracle
isolation levels can make the same promise, i.e. ensure serializable
transaction histories, in any of its isolation levels. Usually, it's quite
easy to obtain correct results by augmenting an isolation level with
something like 'select for update', though..


Hm, what about SERIALIZABLE isolation level in Oracle? I don't see that
it's any different from similar isolation level in MSSQL.
I remember one project, when data warehouse was build using MSSQL,
everything was almost OK, management was pleased immensely. Until they
started running reports. When management found out that reports

practically
stopped online work, mood changed.


Well, there are several possible responses to this anecdote:

1. If the described system was a true data warehouse/DSS, then there
should not have been a problem at all since there should have been no OLTP
activity by definition.


Well, this is an example of real life different from the theory. Happens all
the time.
2. On the other hand, if the implementation was a mixed OLTP/DSS project,
then judging by your story, the database architect was not qualified to
design a system like that. His/her being surprised that a locking
scheduler's reads block writes, and vice versa, is akin to a swimmer's being
amazed that water is wet. There are several well-known approaches to the
reporting problem such as replicating the main database to a reporting
database, transaction log shipping, scheduling reports off-hours, etc.

Yeah, right. Now, tell me where to find managers who understand what
kind of DB architects they really need. And who prefer architects
proposing more expensive, although correct, solutions. And, of course,
offline reporting (and all solutions you propose are actually variants of
it) is not always what customer wants.
VC

Jul 20 '05 #32

P: n/a
VC

"Alex Filonov" <af******@yahoo.com> wrote in message
news:33**************************@posting.google.c om...
"VC" <bo*******@hotmail.com> wrote in message news:<l9DJc.98700$XM6.25133@attbi_s53>...
"Alex Filonov" <af******@yahoo.com> wrote in message
news:33*************************@posting.google.co m...
As for correct concurrency
model,


A correct concurrency control/model ensures that all the permitted
transactions are serializable. In this sense, databases like DB2 or MSSQL implement a correct concurrency model albeit at the expense of lower
concurrency in some circumstances. Funnily enough, none of the Oracle
isolation levels can make the same promise, i.e. ensure serializable
transaction histories, in any of its isolation levels. Usually, it's quite easy to obtain correct results by augmenting an isolation level with
something like 'select for update', though..


Hm, what about SERIALIZABLE isolation level in Oracle? I don't see that
it's any different from similar isolation level in MSSQL.


Oracle does not have SERIALIZABLE despite their assurances to the contrary.
It's trivial to imagine a transaction history where Oracle's SERIALIZABLE
won't produce correct results. For starters, try 'insert into t1 select
max(ID)+1 from t1'. The issue with Oracle's serializable being not quite
what it's labeled was discussed extensively in this newsgroup a couple of
years ago. Unfortunately, I do not remeber the subject name -- something
to do with airline reservations.
2. On the other hand, if the implementation was a mixed OLTP/DSS project, then judging by your story, the database architect was not qualified to
design a system like that. His/her being surprised that a locking
scheduler's reads block writes, and vice versa, is akin to a swimmer's being amazed that water is wet. There are several well-known approaches to the
reporting problem such as replicating the main database to a reporting
database, transaction log shipping, scheduling reports off-hours, etc.


Yeah, right. Now, tell me where to find managers who understand what
kind of DB architects they really need. And who prefer architects
proposing more expensive, although correct, solutions.


Well, one can hardly blame the hammer if one wants to use it as a
screwdriver can one ? Oracle has quite a few pecularities of its own that
can jeopardize a project if those responsible for design/implementation have
no clue as to what they are doing.
And, of course,
offline reporting (and all solutions you propose are actually variants of
it) is not always what customer wants.
What's wrong with those solutions for long running reports, quick queries
not being a problem ? Besides, the situation is not very much different
from running a long report under Oracle where the results won't be actual
due to the very nature of the beast -- 'read consistency'.

There is no argument that a multiversioning scheduler provides higher
concurrency in many cases, after all that's its raison d'etre, but one
should not forget about trade-offs/pitfalls and think that alternative,
locking, approaches won't work.
VC

Jul 20 '05 #33

P: n/a
Jon,

check out www.ca.com for Ingres, its the same strength as Oracle but
will shortly be OpenSource.

Regards
Michael Newport

hey all,

I realize that this question might pop up from time to time, but I
haven't seen it a while and things might of changed, so -

Right now (July 2004) how does mysql stand up in comparison to oracle?
We are seriously considering migrating our multi-processor oracle
system to mysql to save on licensing costs, and would need several
features that mysql may or may not have:

- replication
- archive logging
- interoperability with oracle/database links with oracle
- PL/SQL type language/stored procedures
- roles
- oracle migration scripts/conversion
- embedded java API
- partitioning/tablespace assignment
- import/export tools
- equivalent oracle datatypes
- multi-processor support
- performance (relatively equivalent or better)

In addition, have any oracle DBAs out there gone through the
conversion process between mysql and oracle? If so, what were the
gotchas/catches that you went through? What are features that are
there that you like or feel are missing? I apologize in advance for
the cross-post, but I did want to get as wide a range of opinion as
possible..

Thanks much,

jon

Jul 20 '05 #34

P: n/a
VC

"Alex Filonov" <af******@yahoo.com> wrote in message
news:33*************************@posting.google.co m...
According to some information M$ is going to implement read-only
consistency (Oracle style) in the next version.
Yes, MS SQL Server is going to have multiversion concurrency control (the
latest Yukon beta actually already has it). It'll be exposed to the user as
SNAPSHOT isolation level.
As for correct concurrency
model,
A correct concurrency control/model ensures that all the permitted
transactions are serializable. In this sense, databases like DB2 or MSSQL
implement a correct concurrency model albeit at the expense of lower
concurrency in some circumstances. Funnily enough, none of the Oracle
isolation levels can make the same promise, i.e. ensure serializable
transaction histories, in any of its isolation levels. Usually, it's quite
easy to obtain correct results by augmenting an isolation level with
something like 'select for update', though..
I remember one project, when data warehouse was build using MSSQL,
everything was almost OK, management was pleased immensely. Until they
started running reports. When management found out that reports practically stopped online work, mood changed.


Well, there are several possible responses to this anecdote:

1. If the described system was a true data warehouse/DSS, then there
should not have been a problem at all since there should have been no OLTP
activity by definition.

2. On the other hand, if the implementation was a mixed OLTP/DSS project,
then judging by your story, the database architect was not qualified to
design a system like that. His/her being surprised that a locking
scheduler's reads block writes, and vice versa, is akin to a swimmer's being
amazed that water is wet. There are several well-known approaches to the
reporting problem such as replicating the main database to a reporting
database, transaction log shipping, scheduling reports off-hours, etc.

VC
Jul 20 '05 #35

P: n/a
VC wrote:
A correct concurrency control/model ensures that all the permitted
transactions are serializable. In this sense, databases like DB2 or MSSQL
implement a correct concurrency model albeit at the expense of lower
concurrency in some circumstances. Funnily enough, none of the Oracle
isolation levels can make the same promise, i.e. ensure serializable
transaction histories, in any of its isolation levels. Usually, it's quite
easy to obtain correct results by augmenting an isolation level with
something like 'select for update', though..


And if this is true why, exactly, would anyone care at the expense of
being able to extract an accurate answer from a database without
performing table locks on all resources?

Daniel Morgan

Jul 20 '05 #36

P: n/a
VC
Hello Daniel,

"Daniel Morgan" <da******@x.washington.edu> wrote in message
news:1089945278.134355@yasure...
VC wrote:
A correct concurrency control/model ensures that all the permitted
transactions are serializable. In this sense, databases like DB2 or MSSQL implement a correct concurrency model albeit at the expense of lower
concurrency in some circumstances. Funnily enough, none of the Oracle
isolation levels can make the same promise, i.e. ensure serializable
transaction histories, in any of its isolation levels. Usually, it's quite easy to obtain correct results by augmenting an isolation level with
something like 'select for update', though..
And if this is true why, exactly, would anyone care at the expense of
being able to extract an accurate answer from a database without
performing table locks on all resources?


I am not sure what specific part of my message the word *this* ('if this is
true') refers to, but assuming it's the last sentence then you surely know
that 'select for update' takes write (TX) lock on all the rows involed A
locking scheduler would take *read* row level locks in similar circumstances
automatically. If my interpretaion is incorrect, please elaborate.

VC
Daniel Morgan

Jul 20 '05 #37

P: n/a
"VC" <bo*******@hotmail.com> wrote in message news:<l9DJc.98700$XM6.25133@attbi_s53>...
"Alex Filonov" <af******@yahoo.com> wrote in message
news:33*************************@posting.google.co m...
According to some information M$ is going to implement read-only
consistency (Oracle style) in the next version.
Yes, MS SQL Server is going to have multiversion concurrency control (the
latest Yukon beta actually already has it). It'll be exposed to the user as
SNAPSHOT isolation level.
As for correct concurrency
model,


A correct concurrency control/model ensures that all the permitted
transactions are serializable. In this sense, databases like DB2 or MSSQL
implement a correct concurrency model albeit at the expense of lower
concurrency in some circumstances. Funnily enough, none of the Oracle
isolation levels can make the same promise, i.e. ensure serializable
transaction histories, in any of its isolation levels. Usually, it's quite
easy to obtain correct results by augmenting an isolation level with
something like 'select for update', though..


Hm, what about SERIALIZABLE isolation level in Oracle? I don't see that
it's any different from similar isolation level in MSSQL.
I remember one project, when data warehouse was build using MSSQL,
everything was almost OK, management was pleased immensely. Until they
started running reports. When management found out that reports

practically
stopped online work, mood changed.


Well, there are several possible responses to this anecdote:

1. If the described system was a true data warehouse/DSS, then there
should not have been a problem at all since there should have been no OLTP
activity by definition.


Well, this is an example of real life different from the theory. Happens all
the time.
2. On the other hand, if the implementation was a mixed OLTP/DSS project,
then judging by your story, the database architect was not qualified to
design a system like that. His/her being surprised that a locking
scheduler's reads block writes, and vice versa, is akin to a swimmer's being
amazed that water is wet. There are several well-known approaches to the
reporting problem such as replicating the main database to a reporting
database, transaction log shipping, scheduling reports off-hours, etc.

Yeah, right. Now, tell me where to find managers who understand what
kind of DB architects they really need. And who prefer architects
proposing more expensive, although correct, solutions. And, of course,
offline reporting (and all solutions you propose are actually variants of
it) is not always what customer wants.
VC

Jul 20 '05 #38

P: n/a
VC

"Alex Filonov" <af******@yahoo.com> wrote in message
news:33**************************@posting.google.c om...
"VC" <bo*******@hotmail.com> wrote in message news:<l9DJc.98700$XM6.25133@attbi_s53>...
"Alex Filonov" <af******@yahoo.com> wrote in message
news:33*************************@posting.google.co m...
As for correct concurrency
model,


A correct concurrency control/model ensures that all the permitted
transactions are serializable. In this sense, databases like DB2 or MSSQL implement a correct concurrency model albeit at the expense of lower
concurrency in some circumstances. Funnily enough, none of the Oracle
isolation levels can make the same promise, i.e. ensure serializable
transaction histories, in any of its isolation levels. Usually, it's quite easy to obtain correct results by augmenting an isolation level with
something like 'select for update', though..


Hm, what about SERIALIZABLE isolation level in Oracle? I don't see that
it's any different from similar isolation level in MSSQL.


Oracle does not have SERIALIZABLE despite their assurances to the contrary.
It's trivial to imagine a transaction history where Oracle's SERIALIZABLE
won't produce correct results. For starters, try 'insert into t1 select
max(ID)+1 from t1'. The issue with Oracle's serializable being not quite
what it's labeled was discussed extensively in this newsgroup a couple of
years ago. Unfortunately, I do not remeber the subject name -- something
to do with airline reservations.
2. On the other hand, if the implementation was a mixed OLTP/DSS project, then judging by your story, the database architect was not qualified to
design a system like that. His/her being surprised that a locking
scheduler's reads block writes, and vice versa, is akin to a swimmer's being amazed that water is wet. There are several well-known approaches to the
reporting problem such as replicating the main database to a reporting
database, transaction log shipping, scheduling reports off-hours, etc.


Yeah, right. Now, tell me where to find managers who understand what
kind of DB architects they really need. And who prefer architects
proposing more expensive, although correct, solutions.


Well, one can hardly blame the hammer if one wants to use it as a
screwdriver can one ? Oracle has quite a few pecularities of its own that
can jeopardize a project if those responsible for design/implementation have
no clue as to what they are doing.
And, of course,
offline reporting (and all solutions you propose are actually variants of
it) is not always what customer wants.
What's wrong with those solutions for long running reports, quick queries
not being a problem ? Besides, the situation is not very much different
from running a long report under Oracle where the results won't be actual
due to the very nature of the beast -- 'read consistency'.

There is no argument that a multiversioning scheduler provides higher
concurrency in many cases, after all that's its raison d'etre, but one
should not forget about trade-offs/pitfalls and think that alternative,
locking, approaches won't work.
VC

Jul 20 '05 #39

P: n/a
VC wrote:
Hello Daniel,

"Daniel Morgan" <da******@x.washington.edu> wrote in message
news:1089945278.134355@yasure...
VC wrote:

A correct concurrency control/model ensures that all the permitted
transactions are serializable. In this sense, databases like DB2 or
MSSQL
implement a correct concurrency model albeit at the expense of lower
concurrency in some circumstances. Funnily enough, none of the Oracle
isolation levels can make the same promise, i.e. ensure serializable
transaction histories, in any of its isolation levels. Usually, it's
quite
easy to obtain correct results by augmenting an isolation level with
something like 'select for update', though..


And if this is true why, exactly, would anyone care at the expense of
being able to extract an accurate answer from a database without
performing table locks on all resources?

I am not sure what specific part of my message the word *this* ('if this is
true') refers to, but assuming it's the last sentence then you surely know
that 'select for update' takes write (TX) lock on all the rows involed A
locking scheduler would take *read* row level locks in similar circumstances
automatically. If my interpretaion is incorrect, please elaborate.

VC


My point is that in all of the other databases to which you have
referred it is impossible to get a result set consistent to a
point-in-time without locking the resources (not at the row level but at
the table level).

Something I would think far more important than anything you brought up.

In Oracle this can be achieved without any locking.

Daniel Morgan

Jul 20 '05 #40

P: n/a
Jon,

check out www.ca.com for Ingres, its the same strength as Oracle but
will shortly be OpenSource.

Regards
Michael Newport

hey all,

I realize that this question might pop up from time to time, but I
haven't seen it a while and things might of changed, so -

Right now (July 2004) how does mysql stand up in comparison to oracle?
We are seriously considering migrating our multi-processor oracle
system to mysql to save on licensing costs, and would need several
features that mysql may or may not have:

- replication
- archive logging
- interoperability with oracle/database links with oracle
- PL/SQL type language/stored procedures
- roles
- oracle migration scripts/conversion
- embedded java API
- partitioning/tablespace assignment
- import/export tools
- equivalent oracle datatypes
- multi-processor support
- performance (relatively equivalent or better)

In addition, have any oracle DBAs out there gone through the
conversion process between mysql and oracle? If so, what were the
gotchas/catches that you went through? What are features that are
there that you like or feel are missing? I apologize in advance for
the cross-post, but I did want to get as wide a range of opinion as
possible..

Thanks much,

jon

Jul 20 '05 #41

P: n/a


michael newport wrote:
Jon,

check out www.ca.com for Ingres, its the same strength as Oracle but
will shortly be OpenSource.

Regards
Michael Newport


And by 'strength' you mean?

Daniel Morgan

Jul 20 '05 #42

P: n/a

"Daniel Morgan" <da******@x.washington.edu> wrote in message
news:1090027361.387590@yasure...


michael newport wrote:
Jon,

check out www.ca.com for Ingres, its the same strength as Oracle but
will shortly be OpenSource.

Regards
Michael Newport


And by 'strength' you mean?

Daniel Morgan

I think he means it is good at locking. It has a strong locking mechanism.
Last time I used Ingress (quite a few years ago) an insert into a table
would lock the whole table! Why? It had page level locks and inserting a
record into a table with a primary key locks the entire index which means
only 1 person at a time could insert records. You had to commit to release
the locks. So don't have long running transactions. Leads to bad
programming practices; developers putting the system into autocommit mode.
(yeach)
Jim
Jul 20 '05 #43

P: n/a
VC wrote:
Hello Daniel,

"Daniel Morgan" <da******@x.washington.edu> wrote in message
news:1089945278.134355@yasure...
VC wrote:

A correct concurrency control/model ensures that all the permitted
transactions are serializable. In this sense, databases like DB2 or
MSSQL
implement a correct concurrency model albeit at the expense of lower
concurrency in some circumstances. Funnily enough, none of the Oracle
isolation levels can make the same promise, i.e. ensure serializable
transaction histories, in any of its isolation levels. Usually, it's
quite
easy to obtain correct results by augmenting an isolation level with
something like 'select for update', though..


And if this is true why, exactly, would anyone care at the expense of
being able to extract an accurate answer from a database without
performing table locks on all resources?

I am not sure what specific part of my message the word *this* ('if this is
true') refers to, but assuming it's the last sentence then you surely know
that 'select for update' takes write (TX) lock on all the rows involed A
locking scheduler would take *read* row level locks in similar circumstances
automatically. If my interpretaion is incorrect, please elaborate.

VC


My point is that in all of the other databases to which you have
referred it is impossible to get a result set consistent to a
point-in-time without locking the resources (not at the row level but at
the table level).

Something I would think far more important than anything you brought up.

In Oracle this can be achieved without any locking.

Daniel Morgan

Jul 20 '05 #44

P: n/a


michael newport wrote:
Jon,

check out www.ca.com for Ingres, its the same strength as Oracle but
will shortly be OpenSource.

Regards
Michael Newport


And by 'strength' you mean?

Daniel Morgan

Jul 20 '05 #45

P: n/a

"Daniel Morgan" <da******@x.washington.edu> wrote in message
news:1090027361.387590@yasure...


michael newport wrote:
Jon,

check out www.ca.com for Ingres, its the same strength as Oracle but
will shortly be OpenSource.

Regards
Michael Newport


And by 'strength' you mean?

Daniel Morgan

I think he means it is good at locking. It has a strong locking mechanism.
Last time I used Ingress (quite a few years ago) an insert into a table
would lock the whole table! Why? It had page level locks and inserting a
record into a table with a primary key locks the entire index which means
only 1 person at a time could insert records. You had to commit to release
the locks. So don't have long running transactions. Leads to bad
programming practices; developers putting the system into autocommit mode.
(yeach)
Jim
Jul 20 '05 #46

P: n/a
John Hurley wrote:
Try a google search "mysql comparison oracle" or similar.

Obviously oracle has financial resources to devote to enhancements
that mysql doesn't but it's amazing to see how far along mysql has
evolved over the last several versions.


Still no views, though.

Steve
( Just been caught by that one! )
Jul 20 '05 #47

P: n/a
John Hurley wrote:
Try a google search "mysql comparison oracle" or similar.

Obviously oracle has financial resources to devote to enhancements
that mysql doesn't but it's amazing to see how far along mysql has
evolved over the last several versions.


Still no views, though.

Steve
( Just been caught by that one! )
Jul 20 '05 #48

P: n/a
VC
Please see below:

"Daniel Morgan" <da******@x.washington.edu> wrote in message
news:1090027247.885352@yasure...
VC wrote:
Hello Daniel,

"Daniel Morgan" <da******@x.washington.edu> wrote in message
news:1089945278.134355@yasure...
VC wrote:
A correct concurrency control/model ensures that all the permitted
transactions are serializable. In this sense, databases like DB2 or


MSSQL
implement a correct concurrency model albeit at the expense of lower
concurrency in some circumstances. Funnily enough, none of the Oracleisolation levels can make the same promise, i.e. ensure serializable
transaction histories, in any of its isolation levels. Usually, it's


quite
easy to obtain correct results by augmenting an isolation level with
something like 'select for update', though..

And if this is true why, exactly, would anyone care at the expense of
being able to extract an accurate answer from a database without
performing table locks on all resources?

I am not sure what specific part of my message the word *this* ('if this is true') refers to, but assuming it's the last sentence then you surely know that 'select for update' takes write (TX) lock on all the rows involed A locking scheduler would take *read* row level locks in similar circumstances automatically. If my interpretaion is incorrect, please elaborate.

VC


My point is that in all of the other databases to which you have
referred it is impossible to get a result set consistent to a
point-in-time without locking the resources (not at the row level but at
the table level).

Something I would think far more important than anything you brought up.


Assuming you are talking here about the locking database's SERIALIZABLE ,
no, it's not always necessary to lock the whole table(s) in order to obtain
a consistent result. Sometimes, yes, the whole table has to be locked,
but not always. I can give an example or two if you care.

On the other hand, Oracle's concurrency control makes solving some problems
harder than in a locking environment precisely because of Oracle locking
mecanism simplicity or some may say deficiency, e.g. absence of row-level
read locks, key-range locking, etc.

As I mentioned in my reply to another poster, in many situations Oracle
undoubtedly provides higher concurrency than locking database engines, after
all it was designed to do so although certain compromises have been made.

Regards.

VC
Jul 20 '05 #49

P: n/a
VC
Please see below:

"Daniel Morgan" <da******@x.washington.edu> wrote in message
news:1090027247.885352@yasure...
VC wrote:
Hello Daniel,

"Daniel Morgan" <da******@x.washington.edu> wrote in message
news:1089945278.134355@yasure...
VC wrote:
A correct concurrency control/model ensures that all the permitted
transactions are serializable. In this sense, databases like DB2 or


MSSQL
implement a correct concurrency model albeit at the expense of lower
concurrency in some circumstances. Funnily enough, none of the Oracleisolation levels can make the same promise, i.e. ensure serializable
transaction histories, in any of its isolation levels. Usually, it's


quite
easy to obtain correct results by augmenting an isolation level with
something like 'select for update', though..

And if this is true why, exactly, would anyone care at the expense of
being able to extract an accurate answer from a database without
performing table locks on all resources?

I am not sure what specific part of my message the word *this* ('if this is true') refers to, but assuming it's the last sentence then you surely know that 'select for update' takes write (TX) lock on all the rows involed A locking scheduler would take *read* row level locks in similar circumstances automatically. If my interpretaion is incorrect, please elaborate.

VC


My point is that in all of the other databases to which you have
referred it is impossible to get a result set consistent to a
point-in-time without locking the resources (not at the row level but at
the table level).

Something I would think far more important than anything you brought up.


Assuming you are talking here about the locking database's SERIALIZABLE ,
no, it's not always necessary to lock the whole table(s) in order to obtain
a consistent result. Sometimes, yes, the whole table has to be locked,
but not always. I can give an example or two if you care.

On the other hand, Oracle's concurrency control makes solving some problems
harder than in a locking environment precisely because of Oracle locking
mecanism simplicity or some may say deficiency, e.g. absence of row-level
read locks, key-range locking, etc.

As I mentioned in my reply to another poster, in many situations Oracle
undoubtedly provides higher concurrency than locking database engines, after
all it was designed to do so although certain compromises have been made.

Regards.

VC
Jul 20 '05 #50

133 Replies

This discussion thread is closed

Replies have been disabled for this discussion.