Re: oracle - mysql comparison
Dan wrote:[color=blue]
> "Daniel Morgan" <damorgan@x.was hington.edu> wrote in message
> news:1090378179 .508307@yasure. ..
>[color=green]
>>VC wrote:
>>
>>[color=darkred]
>>>As I've already mentioned several times, no one disputes the fact that[/color][/color]
>
> in
>[color=green][color=darkred]
>>>certain cases Oracle provides higher concurrency due to MVCC.[/color]
>>
>>Agreed.
>>
>>[color=darkred]
>>>I also said that there are several solutions to the reporting problem in
>>>locking databases, such as a replicated or stand-by database.[/color]
>>
>>Many believe this but it is patently false. What do you do about
>>transaction s that take place while you are replicating the database?
>>
>>You either lock the table while replicating or the replication is also
>>not consistent to a point-in-time. You can not have it both ways.
>>
>> There is
>>[color=darkred]
>>>another solution, namely triple mirroring of the OLTP database. SAN[/color][/color]
>
> vendor
>[color=green][color=darkred]
>>>harware can "split off" the third mirrored drive set creating almost
>>>instantaneou sly a clone of the original database (e.g. EMC BCV) at a[/color][/color]
>
> given
>[color=green][color=darkred]
>>>point in time. It's interesting to notice, that the same technique is
>>>widely used for Oracle databases as well in order to off-load the main
>>>instance. The clone is used both for reporting and backups.[/color]
>>
>>Almost instantly means ALMOST consistent to a point-in-time. But now you
>>are talking about data consistency by hardware intervention which is
>>just as valid if we were talking about 3x5 cards and a photocopier.
>>
>>[color=darkred]
>>>>Serialize to your hearts content ... you aren't going to do it without
>>>>a full table lock ...
>>>[/color][/color]
>[color=green][color=darkred]
>>>As I've demonstrated, only a subset of rows involved in the transaction[/color][/color]
>
> has
>[color=green][color=darkred]
>>>to be locked which naturally can be the whole table.[/color]
>>
>>Patently false. You can not lock rows that have not yet been inserted
>>while the transaction is taking place. And you have no means of keeping
>>them out of your result set except a full table lock.
>>[/color]
>
>
> Absolutely not true.
>
> There is a critical difference between the notion of 'serialized' and the
> term 'serializable'. Perhaps you could look it up? If not, Phil Bernstein,
> the guy that literally wrote the book on the subject is a real professor at
> the University of Washington. You might be able to catch a class...
>
> Once you understand the difference in terminology, then perhaps you'll
> understand why you don't need a full table lock to ensure a serializable
> schedule even when a concurrent transaction inserts a row (again! in
> contrast to serialized).
>
>[color=green]
>>Daniel Morgan
>>[/color]
>
> - Dan[/color]
No doubt you thought you understood what I intended. I did not once
mention serialized or serializable did I?
Daniel Morgan
Dan wrote:[color=blue]
> "Daniel Morgan" <damorgan@x.was hington.edu> wrote in message
> news:1090378179 .508307@yasure. ..
>[color=green]
>>VC wrote:
>>
>>[color=darkred]
>>>As I've already mentioned several times, no one disputes the fact that[/color][/color]
>
> in
>[color=green][color=darkred]
>>>certain cases Oracle provides higher concurrency due to MVCC.[/color]
>>
>>Agreed.
>>
>>[color=darkred]
>>>I also said that there are several solutions to the reporting problem in
>>>locking databases, such as a replicated or stand-by database.[/color]
>>
>>Many believe this but it is patently false. What do you do about
>>transaction s that take place while you are replicating the database?
>>
>>You either lock the table while replicating or the replication is also
>>not consistent to a point-in-time. You can not have it both ways.
>>
>> There is
>>[color=darkred]
>>>another solution, namely triple mirroring of the OLTP database. SAN[/color][/color]
>
> vendor
>[color=green][color=darkred]
>>>harware can "split off" the third mirrored drive set creating almost
>>>instantaneou sly a clone of the original database (e.g. EMC BCV) at a[/color][/color]
>
> given
>[color=green][color=darkred]
>>>point in time. It's interesting to notice, that the same technique is
>>>widely used for Oracle databases as well in order to off-load the main
>>>instance. The clone is used both for reporting and backups.[/color]
>>
>>Almost instantly means ALMOST consistent to a point-in-time. But now you
>>are talking about data consistency by hardware intervention which is
>>just as valid if we were talking about 3x5 cards and a photocopier.
>>
>>[color=darkred]
>>>>Serialize to your hearts content ... you aren't going to do it without
>>>>a full table lock ...
>>>[/color][/color]
>[color=green][color=darkred]
>>>As I've demonstrated, only a subset of rows involved in the transaction[/color][/color]
>
> has
>[color=green][color=darkred]
>>>to be locked which naturally can be the whole table.[/color]
>>
>>Patently false. You can not lock rows that have not yet been inserted
>>while the transaction is taking place. And you have no means of keeping
>>them out of your result set except a full table lock.
>>[/color]
>
>
> Absolutely not true.
>
> There is a critical difference between the notion of 'serialized' and the
> term 'serializable'. Perhaps you could look it up? If not, Phil Bernstein,
> the guy that literally wrote the book on the subject is a real professor at
> the University of Washington. You might be able to catch a class...
>
> Once you understand the difference in terminology, then perhaps you'll
> understand why you don't need a full table lock to ensure a serializable
> schedule even when a concurrent transaction inserts a row (again! in
> contrast to serialized).
>
>[color=green]
>>Daniel Morgan
>>[/color]
>
> - Dan[/color]
No doubt you thought you understood what I intended. I did not once
mention serialized or serializable did I?
Daniel Morgan
Comment