Talk:Optimistic concurrency control
This article has not yet been rated on Wikipedia's content assessment scale. It is of interest to the following WikiProjects: | |||||||||||
|
- Is a discussion of OCC history appropriate for this article? If so, it is as follows: OCC was developed by Robinson, and first presented by him at the 5th VLDB conference in Rio de Janeiro in 1979. A revised version of the paper (co-authored by his advisor Kung) was later published in ACM TODS 1981 (this is the paper usually cited, and the READ VALIDATION WRITE protocol appears to be lifted from this paper without attribution).
- There are two approaches to OCC: static and dynamic. As it stands, the article only covers the static approach. In the dynamic approach, conflicts are tracked as they occur; this was the approach used by Robinson in his Ph.D. thesis, which allowed a wide variety of CC methods to be implemented simply by changing the policy for handling conflicts, while guaranteeing serializability (references: Robinson, Design of Concurrency Controls for Transaction Processing Systems. Ph.D. Thesis, Report CMU-CS-82-114, Carnegie Mellon Univ., Pittsburgh PA, 1982, available via the ACM digital library and elsewhere; Robinson, Separating policy from correctness in concurrency control design. Software-Practice and Experience 14, 9, Sept. 1984, 827-844).
- In later work by Franaszek and Robinson, it was found (surprisingly at the time) that if conflicts among transactions are the only limitation on transaction throughput, then as the number of concurrent transactions n increases, and normalizing so that a transaction takes unit time, then as n increases throughput using dynamic locking goes to zero, whereas throughput using optimistic methods increases indefinitely as O(ln(n)); an intermediate case is strict priority scheduling (for example on conflicts younger transactions wait on older transactions, whereas older transactions cause younger transactions to be restarted), in which the throughput increases but is bounded above by 1/p where p is the pairwise probability of conflict (references: Franaszek and Robinson, Limitations of concurrency in transaction processing. ACM Trans. Database Systems 10, 1, March 1985, 1-28; Robinson, Some further analysis of the essential blocking recurrence. SIGMOD Record 20, 1, March 1991, 9-11).
Comments above submitted by John T. Robinson
Jtrbnsn 16:51, 24 January 2007 (UTC)
- I don't know if it's appropriate for this page, but it sure is appropriate on my homework paper! I hope Wikipedia is not the first place my classmates check or it's going to be one similar assignment. 24.89.245.62 (talk) 17:30, 18 November 2007 (UTC)
- Are you the same John T. Robinson of the paper? If you're concerned about propriety and looking for an unbiased opinion, I would certainly be happy for the article to contain references to or properly attributed excerpts of your work. I think 28 years and many, many references after peer-reviewed presentation it is fair to say it is appropriate for Wikipedia. -Slamb (talk) 21:04, 6 December 2007 (UTC)
- Propriety is a good word but not entirely accurate. But yeah, OK, if nobody else comes along to fix up the article I'll see what I can do (I was originally hoping somebody would take the info I provided above, and then add other relevant info/citations to produce a nice complete and unbiased article).
Jtrbnsn (talk) 04:44, 9 December 2007 (UTC)
- Propriety is a good word but not entirely accurate. But yeah, OK, if nobody else comes along to fix up the article I'll see what I can do (I was originally hoping somebody would take the info I provided above, and then add other relevant info/citations to produce a nice complete and unbiased article).
- The section "Phases of Optimistic concurrency control" suggests that this is The One True Way to do OCC, which is just not true. Consider the use of rowversion types in typical RDBMS systems. I recommend removing the section entirely. 98.160.111.192 (talk) 14:51, 15 June 2020 (UTC)
-Firebase Firestore also uses Optimistic Concurrency Control. It is not listed in the services and I'm kinda busy to add a source right now. It should be listed though. — Preceding unsigned comment added by Cyclone26 (talk • contribs) 17:24, 29 July 2023 (UTC)