9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: "Francisco J Ballesteros" <nemo@lsub.org>
To: "Fans of the OS Plan 9 from Bell Labs" <9fans@9fans.net>
Subject: Re: [9fans] dbfs and web framework for plan 9 (was: web-based plan 9?)
Date: Sun, 23 Nov 2008 23:26:14 +0100	[thread overview]
Message-ID: <8ccc8ba40811231426i7e83a9ffled87c4519ab36a57@mail.gmail.com> (raw)
In-Reply-To: <20081123220653.GA25062@nibiru.local>

Well, Plan 9 has web forums, see http://lsub.org/magic/group as an example
It uses a directory per web group, with a file per article (and replies to it).
Several skeleton html files are used and a DYNAMIC tag is replaced with
contents using a C program.

We use rm to remove articles, etc. etc.
Also, because we use the real FS to keep the data, we don't need a synthetic
file system program to implement any interface whatsoever (unless you count the
web as such thing).

IIRC, this thing is in sources, in contrib/nemo within the planb distrib.

On Sun, Nov 23, 2008 at 11:06 PM, Enrico Weigelt <weigelt@metux.de> wrote:
> * Giacomo Tesio <giacomo@tesio.it> wrote:
>
> Hi,
>
>> The scope is to be able to query the db towards a filesystem, with no need
>> to use different libraries for different db backend... each application
>> would use a filesystem, while each rdbms would have it's own filesystem (all
>> with the same structure, obviously)
>
> That's a really good idea. But there's still one problem to solve:
> filesystem hierachies and relational algebra are fundamentally
> different concepts. So, if you don't want to just the fs as some
> universal sql-transport, data has to be modeled differently.
>
> Actually, in many webapps, the real underlying models are neither
> relational nor hierachic, but most times just happen to be
> modelled relatiolally, because rdmbs'es are the tool of choice
> for most people.
>
> So what we have to do here is to get back to the original problems
> to solve and think about how they could fit into an hierachy
> instead of relation.
>
> Simple example: a web-forum.
>
> Just look at how things were done in "good old" usenet times:
> boards/newsgroups are directories, postings are files. Maybe split
> off a single posting into several files, eg. to access single header
> lines or body parts (attachments, etc) separately. Now we're almost
> at mailfs ;)
>
> Okay, we've got some more data, eg. profile information, maybe all
> the other "web-2.0" stuff (user galleries, friend relations, etc),
> but IMHO this all easily fits in hierachies if we start thinking
> afresh with a blank paper.
>
> With hierachies we can do a lot of other fine things here, eg.
> server side threading (= postings ordered in a mail thread) or
> various kind of filtering/ordering - the client doesn't have to
> this all on its own anymore. Using symlinks (w/ 9P2k) might make
> it even more efficient. If we know certain objects/files won't
> be changed, caching can be come almost trivial, and the average
> traffic of some "web-2.0" application drops down to a very small
> percentage ...
>
> That's all possible, if we just can imagine it :)
>
>> Both are really important.
>>
>> When a product change its code (aka pk) for business' reasons, I need have
>> it changed automatically in any place its referred in the database.
>> Or if a dumb employee try to delete a product category (supposing he's
>> allowed) I have to be sure that the remaining data don't loose meaning.
>
> That's exactly what constraints, rules in SQL etc are for.
> Maybe some similar ruling system for filesystems would be fine :)
> (any suggestions ?)
>
>> Application should HANDLE data.
>> But datas are a rapresentation of a reality which have a meaning!
>> A relational database don't have to know how datas are collected or used.
>> But it has to keep meaningfull the rappresentation.
>
> Right. But the database has to know rules which data has to comply,
> so a wide range of errors becomes impossible, mathematically provable.
>
> Imagine a forum where each posting belongs into a board and is assiocated
> with the author. If the constraints are defined properly, the database
> won't ever allow postings w/o valid board or author. You could also define
> some rule which automatically removes all postings when the board gets
> deleted, at the same point of time. (of course, we're talking about real
> databases, cardfiles like mysql don't count here)
>
>> I need to be able to atomically save related tuples in different tables,
>> since (for example) those different tables could be simply modelling ONE
>> real entity (say an order or a family).
>
> CREATE RULE .. AS ON INSERT TO ...
>
>
> Again, a rule system for filesystems would be really cool :)
>
> cu
> --
> ----------------------------------------------------------------------
>  Enrico Weigelt, metux IT service -- http://www.metux.de/
>
>  cellphone: +49 174 7066481   email: info@metux.de   skype: nekrad666
> ----------------------------------------------------------------------
>  Embedded-Linux / Portierung / Opensource-QM / Verteilte Systeme
> ----------------------------------------------------------------------
>
>



  reply	other threads:[~2008-11-23 22:26 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-23 18:58 Giacomo Tesio
2008-11-23 22:06 ` Enrico Weigelt
2008-11-23 22:26   ` Francisco J Ballesteros [this message]
2008-11-23 22:50     ` Enrico Weigelt
2008-11-24  9:27   ` Giacomo Tesio
2008-11-24  9:30     ` Giacomo Tesio
2008-11-24 10:58   ` [9fans] dbfs and web framework for plan 9 matt
2008-11-24 14:13     ` Giacomo Tesio

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=8ccc8ba40811231426i7e83a9ffled87c4519ab36a57@mail.gmail.com \
    --to=nemo@lsub.org \
    --cc=9fans@9fans.net \
    /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).