From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <8ccc8ba40811231426i7e83a9ffled87c4519ab36a57@mail.gmail.com> Date: Sun, 23 Nov 2008 23:26:14 +0100 From: "Francisco J Ballesteros" To: "Fans of the OS Plan 9 from Bell Labs" <9fans@9fans.net> In-Reply-To: <20081123220653.GA25062@nibiru.local> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <20081123220653.GA25062@nibiru.local> Subject: Re: [9fans] dbfs and web framework for plan 9 (was: web-based plan 9?) Topicbox-Message-UUID: 5120017e-ead4-11e9-9d60-3106f5b1d025 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 wrote: > * Giacomo Tesio 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 > ---------------------------------------------------------------------- > >