<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.2900.3314" name=GENERATOR></HEAD>
<BODY 
style="WORD-WRAP: break-word; webkit-nbsp-mode: space; webkit-line-break: after-white-space">
<DIV dir=ltr align=left><SPAN class=921003804-26042008><FONT face=Arial 
color=#0000ff size=2>Hey XQuery transaction debaters:</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=921003804-26042008><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=921003804-26042008><FONT face=Arial 
color=#0000ff size=2>A recommended read on this topic:&nbsp; <A 
href="http://www-db.cs.wisc.edu/cidr/cidr2007/papers/cidr07p15.pdf">http://www-db.cs.wisc.edu/cidr/cidr2007/papers/cidr07p15.pdf</A></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=921003804-26042008><FONT face=Arial 
color=#0000ff size=2>The author, Pat Helland, is a old-time transaction and 
messaging expert.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=921003804-26042008><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=921003804-26042008><FONT face=Arial 
color=#0000ff size=2>I'm an old&nbsp;fan of transactions, but I agree with Dana 
- in practice distributed transactions are not popular;</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=921003804-26042008><FONT face=Arial 
color=#0000ff size=2>Pat's view (which is consistent with what I've heard and 
seen) is that&nbsp;folks who build scalable apps tend</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=921003804-26042008><FONT face=Arial 
color=#0000ff size=2>to (and need to!) base their apps on </FONT></SPAN><SPAN 
class=921003804-26042008><FONT face=Arial color=#0000ff size=2>business 
practices designed to handle non-transactionality rather</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=921003804-26042008><FONT face=Arial 
color=#0000ff size=2>than paying the (performance and hardware) costs that 
having distributed ACIDity would lead to.&nbsp; Hence</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=921003804-26042008><FONT face=Arial 
color=#0000ff size=2>business transaction models that involve compensation, 
middleware that provides reliable messaging,</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=921003804-26042008><FONT face=Arial 
color=#0000ff size=2>etc.&nbsp; (And this is even within enterprises, as opposed 
to across the web.)</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=921003804-26042008><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=921003804-26042008><FONT face=Arial 
color=#0000ff size=2>Cheers,</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=921003804-26042008><FONT face=Arial 
color=#0000ff size=2>Mike</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=921003804-26042008><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV><BR>
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B> talk-bounces@x-query.com 
[mailto:talk-bounces@x-query.com] <B>On Behalf Of </B>Daniela 
Florescu<BR><B>Sent:</B> Friday, April 25, 2008 9:16 PM<BR><B>To:</B> 
talk@x-query.com<BR><B>Subject:</B> Re: XQuery as a general data processing 
language WAS:[xquery-talk]XQuery and Web 2.0<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV>
<BLOCKQUOTE type="cite"><SPAN class=Apple-style-span 
  style="WORD-SPACING: 0px; FONT: 12px Helvetica; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0">
  <DIV>
  <DIV 
  style="FONT-SIZE: 12pt; MARGIN: 0px; FONT-FAMILY: tahoma, 'new york', times, serif">
  <DIV 
  style="FONT-SIZE: 12pt; MARGIN: 0px; FONT-FAMILY: tahoma, 'new york', times, serif">
  <DIV 
  style="FONT-SIZE: 12pt; MARGIN: 0px; FONT-FAMILY: 'times new roman', 'new york', times, serif">Concepts 
  such as commit, rollback, and two-phase commit are still in 
  play.&nbsp;</DIV></DIV></DIV></DIV></SPAN></BLOCKQUOTE>
<DIV><BR></DIV>
<DIV>Ken,</DIV>
<DIV><BR></DIV>No, two phase commit isn't in play anymore, and hasn't been for a 
long time (if it has ever been</DIV>
<DIV>more then a research toy).</DIV>
<DIV><BR></DIV>
<DIV>( It's nick name is the "unavailability protocol", given by the same people 
who actually</DIV>
<DIV>created and who worked on it for many, many years :-)</DIV>
<DIV><BR></DIV>
<DIV>I can only wish good luck to the people who try to build scalable solutions 
based on WS-Transactions.</DIV>
<DIV><BR></DIV>
<DIV>Distributed transaction across the Web don't scale, or they are too 
expensive to implement.</DIV>
<DIV>My guess is that all those new and&nbsp;fancy semi-structured Web databases 
that we will see from Google,</DIV>
<DIV>&nbsp;Amazon, etc, will never have &nbsp;ACID transactions&nbsp;in the 
traditional sense, simply because they cannot make</DIV>
<DIV>&nbsp;it scale at the level of the Web.&nbsp;</DIV>
<DIV><BR></DIV>
<DIV>Who wants locks on data (XML or not) distributed and replicated the Web 
!!????</DIV>
<DIV><BR></DIV>
<DIV>Hence &nbsp;the "almost consistency" of Amazon.</DIV>
<DIV><BR></DIV>
<DIV>I don't claim we have an answer yet. I just said that we should try to look 
for one,</DIV>
<DIV>and that importing the good old traditional transactions as such (without 
thinking) doesn't sound smart to me.</DIV>
<DIV><BR></DIV>
<DIV>The problem of data (in)consistency models is relatively orthogonal to the 
data model</DIV>
<DIV>(Java objects, SQL tuples or XML nodes). I simply think that, unlike the 
SQL community, the XML community is free</DIV>
<DIV>to rethink those issues properly for the new Web context, because we don't 
have the legacy.&nbsp;</DIV>
<DIV><BR></DIV>
<DIV>Best regards</DIV>
<DIV>Dana</DIV>
<DIV><BR></DIV>
<DIV><BR></DIV>
<DIV><BR></DIV>
<DIV><BR></DIV>
<DIV><BR></DIV>
<DIV><BR></DIV>
<DIV><BR></DIV>
<DIV><BR></DIV>
<DIV><BR></DIV>
<DIV><BR></DIV>
<DIV><BR></DIV>
<DIV><BR></DIV>
<DIV><BR>
<BLOCKQUOTE type="cite"><SPAN class=Apple-style-span 
  style="WORD-SPACING: 0px; FONT: 12px Helvetica; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0">
  <DIV>
  <DIV 
  style="FONT-SIZE: 12pt; MARGIN: 0px; FONT-FAMILY: tahoma, 'new york', times, serif">
  <DIV 
  style="FONT-SIZE: 12pt; MARGIN: 0px; FONT-FAMILY: tahoma, 'new york', times, serif">
  <DIV 
  style="FONT-SIZE: 12pt; MARGIN: 0px; FONT-FAMILY: 'times new roman', 'new york', times, serif"><BR><BR><BR><BR><BR><BR><BR>On 
  Apr 25, 2008, at 2:21 PM, Ken North wrote:<BR><BR>&gt; Dana Florescu 
  wrote:<BR>&gt;&gt;&gt; I don't think XQuery should be a general programming 
  language,&nbsp;<SPAN class=Apple-converted-space>&nbsp;</SPAN><BR>&gt;&gt;&gt; 
  like in<BR>&gt;&gt;&gt; implementing a network protocol in for 
  example.<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt; But I think it is a great language 
  for general data processing. It<BR>&gt;&gt;&gt; does the job very 
  well.<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt; If your program involves primarily data 
  extraction, filtering,<BR>&gt;&gt;&gt; transformation, creation of new pieces 
  of information<BR>&gt;<BR>&gt; There's a lot of innovation in developing 
  toolkits and frameworks&nbsp;<SPAN 
  class=Apple-converted-space>&nbsp;</SPAN><BR>&gt; for building<BR>&gt; rich 
  Internet applications and desktop applications. One&nbsp;<SPAN 
  class=Apple-converted-space>&nbsp;</SPAN><BR>&gt; characteristic of 
  the<BR>&gt; better frameworks is database support. Software such as Google 
  Gears&nbsp;<SPAN class=Apple-converted-space>&nbsp;</SPAN><BR>&gt; and 
  Adobe<BR>&gt; AIR include an SQL engine and APIs for SQL access. The 2.0 
  database&nbsp;<SPAN class=Apple-converted-space>&nbsp;</SPAN><BR>&gt; API 
  for<BR>&gt; Google Gears is following the HTML 5 Storage API 
  (SQL).<BR>&gt;<BR>&gt; There are a number of web and mobile development 
  toolsets that embed&nbsp;<SPAN 
  class=Apple-converted-space>&nbsp;</SPAN><BR>&gt; an SQL<BR>&gt; engine, even 
  though over-the-wire exchanges might involve XML and/or&nbsp;<SPAN 
  class=Apple-converted-space>&nbsp;</SPAN><BR>&gt; JSON.&nbsp; The<BR>&gt; 
  obvious question is what about XQuery?<BR>&gt;<BR>&gt; The answer lies in part 
  with CRUD operations and transaction&nbsp;<SPAN 
  class=Apple-converted-space>&nbsp;</SPAN><BR>&gt; semantics. The SQL<BR>&gt; 
  transaction model is based on standards and concepts, such as&nbsp;<SPAN 
  class=Apple-converted-space>&nbsp;</SPAN><BR>&gt; isolation levels,<BR>&gt; 
  that are well-understood. So there's nothing revolutionary if 
  you're&nbsp;<SPAN class=Apple-converted-space>&nbsp;</SPAN><BR>&gt; an HTML 
  5<BR>&gt; developer coding with an SQLTransaction object, or a Gears 
  developer&nbsp;<SPAN class=Apple-converted-space>&nbsp;</SPAN><BR>&gt; looking 
  to<BR>&gt; use a transaction queue.<BR>&gt;<BR>&gt; But assume you want to use 
  an XML database engine and XQuery with&nbsp;<SPAN 
  class=Apple-converted-space>&nbsp;</SPAN><BR>&gt; your favorite<BR>&gt; Web 
  2.0 framework, instead of building on its SQL solution. You&nbsp;<SPAN 
  class=Apple-converted-space>&nbsp;</SPAN><BR>&gt; don't have a<BR>&gt; plug 
  replacement because:<BR>&gt;<BR>&gt; 1. There's no standard for transactions 
  with native XML databases&nbsp;<SPAN 
  class=Apple-converted-space>&nbsp;</SPAN><BR>&gt; (either<BR>&gt; behavior or 
  syntax).<BR>&gt;<BR>&gt; 2. Since XQuery Update became a candidate 
  recommendation only this&nbsp;<SPAN 
  class=Apple-converted-space>&nbsp;</SPAN><BR>&gt; year, we've<BR>&gt; had an 
  extended period of XML database and XQuery products&nbsp;<SPAN 
  class=Apple-converted-space>&nbsp;</SPAN><BR>&gt; implementing their<BR>&gt; 
  own extensions for CRUD operations.<BR>&gt;<BR>&gt; 3. XQuery and transactions 
  are rarely discussed in the same&nbsp;<SPAN 
  class=Apple-converted-space>&nbsp;</SPAN><BR>&gt; sentence, except in<BR>&gt; 
  the 2005 XQuery Update Requirements 
  doc.<BR>&gt;<BR>&gt;<BR>&gt;<BR>&gt;<BR>&gt;<BR>&gt;<BR>&gt;<BR>&gt; 
  _______________________________________________<BR>&gt;<SPAN 
  class=Apple-converted-space>&nbsp;</SPAN><A href="mailto:talk@x-query.com" 
  ymailto="mailto:talk@x-query.com">talk@x-query.com</A><BR>&gt;<SPAN 
  class=Apple-converted-space>&nbsp;</SPAN><A 
  href="http://x-query.com/mailman/listinfo/talk" 
  target=_blank>http://x-query.com/mailman/listinfo/talk</A><BR><BR>_______________________________________________<BR><A 
  href="mailto:talk@x-query.com" 
  ymailto="mailto:talk@x-query.com">talk@x-query.com</A><BR><A 
  href="http://x-query.com/mailman/listinfo/talk" 
  target=_blank>http://x-query.com/mailman/listinfo/talk</A><BR></DIV><BR></DIV></DIV></DIV></SPAN><BR 
  class=Apple-interchange-newline></BLOCKQUOTE></DIV><BR></BODY></HTML>