linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Hans Reiser <reiser@namesys.com>
To: "Theodore Ts'o" <tytso@mit.edu>
Cc: Erik Andersen <andersen@codepoet.org>, linux-kernel@vger.kernel.org
Subject: Re: Things that Longhorn seems to be doing right
Date: Fri, 31 Oct 2003 10:40:03 +0300	[thread overview]
Message-ID: <3FA211D3.2020008@namesys.com> (raw)
In-Reply-To: <20031030203146.GA10653@thunk.org>

Theodore Ts'o wrote:

>On Thu, Oct 30, 2003 at 10:23:49PM +0300, Hans Reiser wrote:
>  
>
>>>Your assumption here is that the only thing that people search and
>>>index on is semi-structed data.
>>>
>>>      
>>>
>>No, my assumption is that structured data is a special case of 
>>semi-structured data, and should be modeled that way.
>>    
>>
>
>There are much more powerful ways of handling structured data (as
>opposed to generalized text searches). 
>
Special cases of general theorems are not more powerful than the general 
theorems, they are simply special cases.   You can design a language 
that has the power of both relational algebra and boolean algebra.

> What WinFS is specifically
>addressing is searching and selected based on structured data.  
>
>  
>
>>>In addition, even for text-based files, in the future, files will very
>>>likely not be straight ASCII, but some kind of rich text based format
>>>with formatting, unicode, etc.
>>>
>>>      
>>>
>>Formatting does not make text table structured.
>>    
>>
>
>No, but it means that doing searches on formatted text is very
>difficult,
>
When you say formatted text, do you mean fonts and stuff, or do you mean 
object storage models.  Object storage models should generally be 
replaced with files and directories. 

Are you saying that auto-indexers should not parse the formatted text, 
index the document, and allow users to find the document, with the 
auto-indexer running in user space, but the indexes being traversed by 
the filesystem namespace resolver?  The kernel does not need to 
understand how to parse a document, it just needs to support queries 
that use the indexes created by an auto-indexer that does understand it.


> and should be done in userspace, not kernel space.
>
>  
>
>>You are missing my argument.  I am saying that the indexes and name 
>>space belong in the kernel, not that the auto-indexer belongs in the kernel.
>>    
>>
>
>Searching and name spaces are different things.  Fundamentally I
>disagree with your belief that they are the same thing (and yes I've
>read your whitepaper on the namesys web page).  You can do much, much
>more powerful select statements than makes sense to do via the
>directory abstraction.  (Think about arbitrary select statements,
>possibly with subselect statements.  That's what Microsoft is
>promising in WinFS.  Do you really want to support an opendir system
>call where its argument is an arbitrary SQL select statement?
>
No, I hate SQL.  I want to allow people to use Reiser6 queries to find 
things.;-)

>  I
>didn't think so.)
>
>There is a very, very big difference between a pathname, which is
>guaranteed to be refer to a single unique file, such as might be used
>in a Makefile.  This is what most people consider a real namespace.
>  
>
You mean, it is what most people consider a primary key.  Or at least I 
hope you mean that, because the whole point of all those articles (in 
what, the 80's was it? ) that strove to coin the name "namespace" was 
that filesystems and databases and search engines and so on are all 
namespaces. and they strove to imply that unifying them was possible and 
desirable.

>When addressing people, a passport number, or a driver's license
>number, or a social security number, are all examples of a namespace.
>Each one of these is guaranteed to return either no result, or a
>single specific person.  
>
>In contrast, consider searching for someone who is male, between 30
>and 40, is named Tom, and lived in Libertyville, Illinois sometime
>between 1960 and 1970, and is married to someone named Mary who was
>born in California.  This might return several people, and most people
>would **NOT** consider the space of all queries about people to be a
>"name space". 
>
Oh god, did you read the literature?

> Searches are not names.  They do not uniquely identify
>people or objects, which is a fundamental requirement of a name.
>  
>
You mean like Theodore?  Are you saying that Theodore is not a name 
because it does not uniquely identify you?

>We can create a filesystem with a directory indexed by social security
>number, and another directory with hard links that indexes people's
>records by driver's ID.  That makes sense.  But putting in sufficient
>indexes so that the above query of looking for somone named Tom who is
>married to someone named Mary (and this is an example where an query
>optimizer would be needed) is simple, pure insanity.
>  
>
I bet it will be less code than balanced trees were.

>  
>
>>uh, all the time, if there is a namespace that lets him.  How often do 
>>you use google?  How often do you memorize the primary key of an object 
>>in a relational database, and use only that versus how often do you do a 
>>richer query?
>>    
>>
>
>I use google dozens of times a day.  I type commands to bash hundreds
>of times a day.  Does that mean that bash command line parsing should
>be in the kernel?  Of course not!
>
>The bottom line is that for something that happens dozens or even
>hundreds of times a day, that's an argument that it *shouldn't* be
>done in the kernel.  Compare and contrast that with handling incoming
>network packets, which can happen millions of times per hour.
>  
>
Actually the relevant measure is, not how often do you use it, but how 
often would it context switch if it was not in the kernel.  Users rarely 
use the networking code directly.

Naming is used by programs a lot.  Enhace naming, and the programs will 
used enhanced naming a lot.

-- 
Hans



  reply	other threads:[~2003-10-31  7:40 UTC|newest]

Thread overview: 83+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-10-29  8:50 Things that Longhorn seems to be doing right Hans Reiser
2003-10-29 22:42 ` Erik Andersen
2003-10-29 23:03   ` Hans Reiser
2003-10-29 22:25     ` Dax Kelson
2003-10-30  0:20       ` Joseph Pingenot
2003-10-30  0:54         ` Neil Brown
2003-10-30  1:34           ` Joseph Pingenot
2003-10-30  2:54             ` Bernd Eckenfels
2003-10-30  2:58               ` Arnaldo Carvalho de Melo
2003-10-30  3:16               ` Joseph Pingenot
2003-10-30  5:28                 ` Jeff Garzik
2003-10-30  5:56                   ` Valdis.Kletnieks
2003-10-30  3:16             ` Neil Brown
2003-10-30  3:39               ` Joseph Pingenot
2003-10-30 10:27             ` Thorsten Körner
2003-10-30 21:28             ` jlnance
2003-10-30 22:29               ` Måns Rullgård
2003-10-31  2:03                 ` Daniel B.
2003-10-31  1:04               ` Clemens Schwaighofer
2003-10-30  2:09         ` Alex Belits
2003-10-30  3:12           ` Joseph Pingenot
2003-10-30  4:21             ` Scott Robert Ladd
2003-10-31 16:42               ` Timothy Miller
2003-10-31 19:15                 ` Hans Reiser
2003-10-30  9:52             ` Ingo Oeser
2003-10-30  4:06           ` Scott Robert Ladd
2003-10-30  1:52   ` Theodore Ts'o
2003-10-30  2:03     ` Joseph Pingenot
2003-10-30  9:23       ` Ingo Oeser
2003-10-30  3:57     ` Scott Robert Ladd
2003-10-30  4:08       ` Larry McVoy
2003-10-30 13:46       ` Jesse Pollard
2003-10-31  4:50       ` Stephen Satchell
2003-10-30  7:33     ` Diego Calleja García
2003-10-30  8:43       ` Giuliano Pochini
2003-10-30  8:05     ` Hans Reiser
2003-10-30  8:17       ` Wichert Akkerman
2003-10-30 11:59         ` Hans Reiser
2003-10-30  9:14       ` Giuliano Pochini
2003-10-30  9:55         ` Hans Reiser
2003-10-30 17:48       ` Theodore Ts'o
2003-10-30 19:23         ` Hans Reiser
2003-10-30 20:31           ` Theodore Ts'o
2003-10-31  7:40             ` Hans Reiser [this message]
2003-10-31 19:30               ` Theodore Ts'o
2003-10-31 20:47                 ` Hans Reiser
2003-10-31 13:59                   ` Herman
2003-10-31 21:23                     ` Richard B. Johnson
2003-11-01 18:30                       ` Hans Reiser
2003-10-31 21:08                   ` David S. Miller
2003-11-02 21:42                     ` Hans Reiser
2003-11-03 12:42                 ` Nikita Danilov
2003-11-03 16:58                   ` Timothy Miller
2003-11-04  8:13                     ` Hans Reiser
2003-11-05 13:51                       ` Ingo Oeser
2003-11-05  2:07                         ` Hans Reiser
2003-10-31 11:01         ` Kenneth Johansson
2003-10-31 13:52           ` Jesse Pollard
2003-10-30 11:21     ` Felipe Alfaro Solana
2003-10-30  7:25 ` Christian Axelsson
2003-10-30  8:10   ` Hans Reiser
     [not found] ` <200311011731.10052.ioe-lkml@rameria.de>
     [not found]   ` <3FA3FF46.7010309@namesys.com>
2003-11-03 10:55     ` Ingo Oeser
2003-11-04  8:10       ` Hans Reiser
     [not found] <LUlv.31e.5@gated-at.bofh.it>
     [not found] ` <M7iG.41B.7@gated-at.bofh.it>
     [not found]   ` <MagC.82U.7@gated-at.bofh.it>
     [not found]     ` <Maqe.8l3.9@gated-at.bofh.it>
2003-10-30 11:10       ` Ihar 'Philips' Filipau
2003-10-30 17:23         ` Alex Belits
2003-10-31  1:46           ` Daniel B.
2003-10-31  1:57             ` Philippe Troin
     [not found]     ` <Mcig.2uf.1@gated-at.bofh.it>
     [not found]       ` <Mcs2.2FJ.5@gated-at.bofh.it>
2003-10-30 12:04         ` Ihar 'Philips' Filipau
     [not found]     ` <Mg2B.7wf.9@gated-at.bofh.it>
     [not found]       ` <Mh8n.BT.9@gated-at.bofh.it>
     [not found]         ` <MhLf.1pF.9@gated-at.bofh.it>
2003-10-30 12:16           ` Ihar 'Philips' Filipau
2003-11-02 13:11 Brian Beattie
2003-11-02 17:15 ` Valdis.Kletnieks
2003-11-03 19:35   ` Brian Beattie
2003-11-03 20:17     ` Richard B. Johnson
2003-11-03 20:23       ` Valdis.Kletnieks
2003-11-03 20:54         ` Richard B. Johnson
2003-11-03 21:01           ` Valdis.Kletnieks
2003-11-03 22:06             ` Måns Rullgård
2003-11-04  8:47           ` Michael Clark
2003-11-04 12:47             ` Richard B. Johnson
2003-11-04 14:02           ` Brian Beattie
2003-11-03 20:55         ` Roland Dreier
2003-11-04  0:35     ` Daniel B.
2003-11-04 14:05       ` Brian Beattie

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3FA211D3.2020008@namesys.com \
    --to=reiser@namesys.com \
    --cc=andersen@codepoet.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tytso@mit.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).