Lists Home |
Date Index |
- To: Michael Kay <firstname.lastname@example.org>
- Subject: Re: [xml-dev] XML-enabled databases, XQuery APIs
- From: Peter Hunsberger <email@example.com>
- Date: Fri, 15 Apr 2005 13:03:13 -0500
- Cc: firstname.lastname@example.org
- Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=GpTuzkanojn2tVDfIXMV5dintG0xbqZ35XouLaLyVMGafpoOmb5IhOrKxjX7qDQJNhZFP1GcDKZgqNZ/9H+gi6ONSPO9Qg8RA3Xnggbl7KY2FdDmnruh8WE2WBqsz18KEK3akKuivC/Y1hXGu2SRsrDQyqgNSazIWe2+LXVPip4=
- In-reply-to: <425ffce1.6c2cfc88.09f7.02efSMTPIN_ADDED@mx.gmail.com>
- References: <email@example.com> <425ffce1.6c2cfc88.09f7.02efSMTPIN_ADDED@mx.gmail.com>
- Reply-to: Peter Hunsberger <firstname.lastname@example.org>
On 4/15/05, Michael Kay <email@example.com> wrote:
> > I think you're over generalizing more than a bit. Over the years I've
> > done a couple shredding implementations. In particular, I've
> > previously built a generalized approach on top of SQL server that
> > supported mixed content, sibling order and did not require a schema.
> > Adding comments and PI's to that would have been pretty much trivial.
> It's not difficult to do it. It's just difficult to do it in such a way that
> you can reassemble a shredded document of any size before the kettle has
If you do it right it's a flat query and reassembly is Order N. That
means you pay the cost on the update side which can on occasion become
very expensive. Inserts are still relatively painless, I haven't had a
need to do the analysis, but I'd guess around N log N. In our case
everything is an insert since old data is retained for audit purposes
and deactivating old records is trivial. At some point we'll have to
partition the data, but that's still a long way away.
Don't know what you mean by "any size", but in our current case we
have one screen that has about 9 documents some of which are several K
in size. All of this is assembled on the fly (and subsequently pumped
through a couple of Saxon transforms ;-). This screen takes a couple
seconds to go from request to being rendered on the browser. Pulling
the data out of the database and assembling it isn't the bottleneck,
rendering it in the browser is...