Hi Bill,

Yes, that covers all of my selfish questions, thanks.

The B-trees I'm used to tree divide in arbitrary places across the whole 
key, so doing partial-key queries is painful.

I can't find "Structured File System" "Transarc" usefully in Google.  Do 
you have a link handy?  If not, never mind.

Regards,
James.

can you guess? wrote:
> I'm going to combine three posts here because they all involve jcone:
> 
> First, as to my message heading:
> 
> The 'search forum' mechanism can't find his posts under the 'jcone' name (I 
> was curious, because they're interesting/strange, depending on how one looks 
> at them).  I've also noticed (once in his case, once in Louwtjie's) that the 
> 'last post' column of one thread may reflect a post made to a different 
> thread.
> 
> Second, in response to your "Indexing other than hash tables" post:
> 
> The only way you could get a file system like ZFS to perform indexed look-ups 
> for you would be to make each of your 'records' an entire file with the 
> appropriate look-up name, and ReiserFS may be the only current file system 
> that could handle this reasonably well
> 
> This is an outgrowth of the Unix mindset that files must only be byte-streams 
> rather than anything more powerful (such as the single- and multi-key indexed 
> files of traditional minicomputer and mainframe systems) - and that's 
> especially unfortunate in ZFS's case, because system-managed COW mechanisms 
> just happen to be a dynamite way to handle b-trees (you could do so at the 
> application level on top of ZFS via use of a sparse file plus a facility to 
> deallocate space in it explicitly, but you'd still need an entire separate 
> level of in-file space-allocation/deallocation mechanism).  B-trees are the 
> obvious solution to the kind of partial-key and/or key-range queries that you 
> described.
> 
> Finally, in response to your current post (which sounds more as if it had 
> come from a hardware engineer than from a database type):
> 
> All the facilities that you describe are traditionally handled by 
> transactions of one form or another, and only read-only transactions can 
> normally be non-blocking (because they simply capture a consistent 
> point-in-time database state and operate upon that, ignoring any subsequent 
> changes that may occur during their lifetimes).  Other less-popular but more 
> general non-blocking approaches exist which simply abort upon detecting 
> conflict rather than attempt to wait for the conflict to evaporate, which 
> tends not to scale very well because (unlike the case with non-blocking 
> low-level hardware synchronization) restarting a transaction when you don't 
> have to can very often result in a *lot* of redundant work being performed; 
> they include some multi-version approaches that implement more general 'time 
> domain addressing' than that just described for read-only transactions and 
> the rare implementations based upon 'optimistic' concurrency control that let 
> conflicts occur and then dec
ide
>   whether to abort someone when they attempt to commit.
> 
> ZFS supports transactions only for its internal use, and cannot feasibly 
> support arbitrarily complex transactions because its atomicity approach 
> depends upon gathering all transaction updates in RAM before writing them 
> back atomically to disk (yes, it could perhaps do so in stages, since the 
> entire new tree structure doesn't become visible until its root has been made 
> persistent, but that could arbitrarily delay other write activity in the 
> system).  While I think that supporting user-level transactions is a useful 
> file-system feature and a few file systems such as Transarc's Structured File 
> System have actually done so, ZFS would have to change significantly to do so 
> for anything other than *very* limited user-level transactions - hence I 
> wouldn't hold my breath waiting for such support in ZFS.
> 
> - bill
>  
>  
> This message posted from opensolaris.org
> _______________________________________________
> zfs-discuss mailing list
> zfs-discuss@opensolaris.org
> http://mail.opensolaris.org/mailman/listinfo/zfs-discuss
> 
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to