Thread: Wikipedia's Isolation page

Wikipedia's Isolation page

From
"Kevin Grittner"
Date:
I'm not very happy about the skewed discussion on the Wikipedia
"Isolation (database systems)" page.  The whole thing is very much
skewed toward pre-MVCC techniques, and this section is outright
inaccurate as of PostgreSQL version 9.1:

http://en.wikipedia.org/wiki/Isolation_%28database_systems%29#SERIALIZABLE

I'm having a lot of trouble figuring out what to do about this.
Should I just do a minor tweak to that section with a reference or
two to PostgreSQL doc or wiki pages, or does it merit something more
fundamental?  Are any of the ace wordsmiths here eager to deal with
it instead of letting me hacking at it?

-Kevin

Re: Wikipedia's Isolation page

From
David Fetter
Date:
On Thu, Sep 22, 2011 at 03:57:50PM -0500, Kevin Grittner wrote:
> I'm not very happy about the skewed discussion on the Wikipedia
> "Isolation (database systems)" page.  The whole thing is very much
> skewed toward pre-MVCC techniques, and this section is outright
> inaccurate as of PostgreSQL version 9.1:
>
> http://en.wikipedia.org/wiki/Isolation_%28database_systems%29#SERIALIZABLE

Please fix :)

> I'm having a lot of trouble figuring out what to do about this.
> Should I just do a minor tweak to that section with a reference or
> two to PostgreSQL doc or wiki pages, or does it merit something more
> fundamental?

As in a pointer to a new wikipedia page on SSI?

Cheers,
David.
--
David Fetter <david@fetter.org> http://fetter.org/
Phone: +1 415 235 3778  AIM: dfetter666  Yahoo!: dfetter
Skype: davidfetter      XMPP: david.fetter@gmail.com
iCal: webcal://www.tripit.com/feed/ical/people/david74/tripit.ics

Remember to vote!
Consider donating to Postgres: http://www.postgresql.org/about/donate

Re: Wikipedia's Isolation page

From
Greg Smith
Date:
On 09/23/2011 11:23 AM, David Fetter wrote:
>> I'm having a lot of trouble figuring out what to do about this.
>> Should I just do a minor tweak to that section with a reference or
>> two to PostgreSQL doc or wiki pages, or does it merit something more
>> fundamental?
>>
> As in a pointer to a new wikipedia page on SSI?
>

The page Kevin has issues with already points to the section of a
Wikipedia page that addresses SSI:
http://en.wikipedia.org/wiki/Snapshot_isolation#Making_Snapshot_Isolation_Serializable

I think the right order of operations here is to make sure that's
absolutely correct; then return to
http://en.wikipedia.org/wiki/Isolation_%28database_systems%29#SERIALIZABLE
and just rewrite it to note there is a concrete solution available.
Maybe something like this:

When using non-lock based concurrency control, via an approach such as
[[http://en.wikipedia.org/wiki/Snapshot_isolation#Making_Snapshot_Isolation_Serializable|Serializable
snapshot isolation]], no locks are acquired.  If the system detects a
write collision among several concurrent transactions, only one of them
is allowed to commit. See snapshot isolation for more details on this topic.

I don't know what other issues Kevin is alluding to, besides this
reading as if there are no good solutions around--which the above text
should help with.

--
Greg Smith   2ndQuadrant US    greg@2ndQuadrant.com   Baltimore, MD
PostgreSQL Training, Services, and 24x7 Support  www.2ndQuadrant.us


Re: Wikipedia's Isolation page

From
"Kevin Grittner"
Date:
Greg Smith <greg@2ndQuadrant.com> wrote:

> I don't know what other issues Kevin is alluding to, besides this
> reading as if there are no good solutions around--which the above
> text should help with.

For me, that page reads as though it were written with the
assumption that transaction isolation is implemented through
"traditional" locks, with various mentions of MVCC bolted on here
and there in an awkward way, as an afterthought.  We can throw in
one more "yeah, but..." clause with a reference out, and that would
help; but the whole thing seems rather badly in need of a rewrite.

I think maybe David Fetter's suggestion is on the mark -- I should
probably put together a SerialziableSI page, and reference that from
the "Snapshot isolation" page and from the "Isolation (database
systems)" page.  Oh, and there's also the overlapping
"Serializability" page[1].  I still think a major reorganization of
the "Isolation (database systems)" page is needed, but that's likely
to require a lot more effort and be a more contentious sort of
change.

I'll probably do something this weekend along the lines of what Greg
is suggesting, then (when I find time) do what David is suggesting,
and then (when I feel really ambitious) try to tackle a rewrite of
the Isolation page.

Thanks for the suggestions.

-Kevin

[1] http://en.wikipedia.org/wiki/Serializability

Re: Wikipedia's Isolation page

From
Brendan Jurd
Date:
On 24 September 2011 06:45, Kevin Grittner <Kevin.Grittner@wicourts.gov> wrote:
> I'll probably do something this weekend along the lines of what Greg
> is suggesting, then (when I find time) do what David is suggesting,
> and then (when I feel really ambitious) try to tackle a rewrite of
> the Isolation page.
>

If you haven't already done so, it's probably worth dropping a note on
the Talk:Isolation (database systems) page about your intended
rewrite.  You might get a better sense for the contentiousness of it
that way.  You might find that actually, nobody really has a problem
with your changes.

From the looks of the page history, it hasn't been the site of any
edit wars, at least not recently.

Cheers,
BJ