Обсуждение: Wikipedia's Isolation page
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
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
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
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
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