public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Implementing SQL on files
@ 2004-02-14 15:36 Anuradha Ratnaweera
  2004-02-14 16:04 ` Måns Rullgård
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Anuradha Ratnaweera @ 2004-02-14 15:36 UTC (permalink / raw)
  To: LKML


Hi all,

I am starting to write some code to add a feature which I think would be
very useful, and like to get comments and suggessions from LKML.  Please
ignore this mail if it sounds like nonsense ;-)

Also, if this is already happenning somewhere, please enlighten me.

Short version: This feature will add a "table" file type and SQL
executioin premitives to the kernel, and also relevent userspace
programs.

Still reading?  Ok, here are the glory details:

Longer version
--------------

Both the two popular open source database systems, Postgres and Mysql
are going through the filesystem layer to manage databases, as opposed
to some commercial counterparts that talk to the block IO layer
directly.  Also, most databases implement user management seperate from
the UNIX user database.  And the database is seperate from the rest of
the filesystem.

The feature I am planning to implenet will overcome these limitations by
implementing a "table" filetype, and the primitive SQL operations in the
kernel.

Parsing SQL, optimizing etc. will happen at the user space.

But here comes the interesting part. I am planning to do this without
breaking VFS and traditional UNIX syscalls.  To clarify, consider this 
table:

Name                Version
----                -------
David Weinehall     2.0
Alan Cox            2.2
Marcelo Tosatti     2.4

Using the userspace tools, one can create a "table" file (say
maintainers), and insert the data to that file.  Each file (or may be
filesystem) has two characters (or strings) associated with them: field
seperator and record seperator.  Say, colon and newline.  If I cat the
file:

% cat maintainers
David Weinehall:2.0
Alan Cox:2.2
Marcelo Tosatti:2.4
%

Now, if I want to add something to the table, either I can use the
relevenet userspace tools, but the following also will work.

% echo 'Linus Torvalds:2.6' > maintainers
%

Even if one uses vi to edit the file instead of a simple echo, it won't
get that complicated.

The nice thing about this is that now we don't need a seperate
authentication mechanism.  Also, the database no longer needs to be a
seperate entity (it need not exist at first place!).

As far as I can see, the best way to implement this is as a ReiserFS 4
module.

Like to hear some comments and suggessions.

Thanks for reading all the way here ;-)

	Anuradha

-- 

http://www.linux.lk/~anuradha/



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2004-02-16  4:27 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-02-14 15:36 Implementing SQL on files Anuradha Ratnaweera
2004-02-14 16:04 ` Måns Rullgård
2004-02-14 16:21 ` Jon Smirl
2004-02-15  5:39 ` Hans Reiser
2004-02-16  4:27   ` Anuradha Ratnaweera

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox