Return-Path: Delivered-To: apmail-jackrabbit-dev-archive@www.apache.org Received: (qmail 86746 invoked from network); 5 Apr 2007 09:01:16 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 5 Apr 2007 09:01:16 -0000 Received: (qmail 97474 invoked by uid 500); 5 Apr 2007 09:01:21 -0000 Delivered-To: apmail-jackrabbit-dev-archive@jackrabbit.apache.org Received: (qmail 97450 invoked by uid 500); 5 Apr 2007 09:01:20 -0000 Mailing-List: contact dev-help@jackrabbit.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@jackrabbit.apache.org Delivered-To: mailing list dev@jackrabbit.apache.org Received: (qmail 97441 invoked by uid 99); 5 Apr 2007 09:01:20 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 05 Apr 2007 02:01:20 -0700 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (herse.apache.org: domain of stefan.guggisberg@gmail.com designates 66.249.92.172 as permitted sender) Received: from [66.249.92.172] (HELO ug-out-1314.google.com) (66.249.92.172) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 05 Apr 2007 02:01:12 -0700 Received: by ug-out-1314.google.com with SMTP id p31so948588ugc for ; Thu, 05 Apr 2007 02:00:51 -0700 (PDT) DKIM-Signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=rlXKRoGH0uJOphXxhMn8mIgDRkbqgVRo+/UC84YBxa11Q4hQKwKsTYKDUxb8yeJvpC3anQRAeminSO7djt4rvhRZu0/5h6rNeU3e8F9OkE3V5tdDiGcNjk9XmTFnBwc6E3PMNumsXtfbqi03QiEEsLkmqmTvs+yb31WLmur3ZIs= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=HWu68C+NPqXi5QkIjTTEMEy+eyduGN/u/FMDiWW4Ht2BjGDIOcD7/KrwSDrIL4AaD4CDnVeCHWiAKrk5ey7mepY/yy8iwSCFNKj5FWtRvIr9W44DQl5wl/9/+fQxNn5yKcDFho7XH4SmwbLX80TqsoOdWJRwcrpWNAd6E4/7s8o= Received: by 10.82.167.5 with SMTP id p5mr2155319bue.1175763651585; Thu, 05 Apr 2007 02:00:51 -0700 (PDT) Received: by 10.82.158.7 with HTTP; Thu, 5 Apr 2007 02:00:51 -0700 (PDT) Message-ID: <90a8d1c00704050200g1a47201cxa5b57675c8a6f817@mail.gmail.com> Date: Thu, 5 Apr 2007 11:00:51 +0200 From: "Stefan Guggisberg" To: dev@jackrabbit.apache.org Subject: Re: Next Generation Persistence In-Reply-To: <510143ac0704011237n46548326p38d08b6b46c6fb50@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <510143ac0704011237n46548326p38d08b6b46c6fb50@mail.gmail.com> X-Virus-Checked: Checked by ClamAV on apache.org hi jukka nice draft! i like the approach (using MVCC in jackrabbit's core). while the draft might be a bit overenthousiastic wrt the benefits the proposed model is certainly worth a serious evaluation. i am pretty confident that the pro's will clearly outweigh the con's in the end. the best way to identify the issues of the proposed model-change would IMO be to start work on a prototype. IMO the major challenge will be read performance. cheers stefan On 4/1/07, Jukka Zitting wrote: > Hi, > > Based on some idle thinking I've written up a proposed model for next > gneration persistence in Jackrabbit. Instead of trying to explain the > whole idea in an email I've written a web page (with diagrams!) to > describe the model in more detail. You can find the model description > at http://jackrabbit.apache.org/dev/ngp.html (it's not linked in the > menu). > > To summarize, the model I'm proposing brings a heavily abstracted > persistence layer up as the central focus point of the entire > repository architecture. The persistence model I'm proposing has > implications all the way to things like clustering implementation, > node type management, and session handling. In fact it would > revolutionarize almost all parts of Jackrabbit core. ;-) > > On the other hand, instead of seeing the proposed model as a > revolution, it could be seen simply as a way to raise the prominence > of the ChangeLog class over the ItemState model. Currently ItemStates > are the central concept in Jackrabbit and the ChangeLog class is just > a way to group together a set of ItemState changes. In the model I'm > proposing the ChangeLog, or a revision, would instead become the > central concept that governs not only read and write operations but > also things like transactions and observation to a much greater degree > than it does today. > > There are a number of open issues with the proposal, especially how to > make it perform well and not use too much disk space, but I feel that > the model is interesting enough for serious consideration and perhaps > even early prototyping. I'm especially interested in hearing your > thoughts on how feasible you think such a model would be and what > potential pitfalls I may have missed. Any other comments and ideas are > also welcome. > > BR, > > Jukka Zitting >