On 6/12/10 8:09 AM, Carl Brewer wrote:
On 11/06/2010 8:07 AM, George Georgalis wrote:...a glorious extension of the locate command, which has tools to generate commands to manupalate the filesystem (local/remote) and transfer over various protocols/auth. For the purpose of archiving and indexing media across multiple devices.Sounds a tiny bit like "Pick"
Wow! Now there's something I'd *never* have expected to see in a NetBSD mailing list. :)
But it is true: a NF^2 (non first normal form) system would probably be much faster for optimizing reads of this kind of data; the kind that's in a UFS-like file system.
Each directory record would contain a list of record identifiers for the contents. And each node (of any form) could have a pointer back to it's parent.
This could be done using a key=>value type storage system (bdb or some variant for example) where you have the list of children and the parent as delimited fields in the value? Possibly other meta-data could be stored in the database too.
Use the inode as the key, a field for the name, one for the list of children's keys and one for the parent key. Then an index on the name field to make lookups by name fast. I think that's how one would do it in one of the "modern" Pick-type systems.
Louis