Slashdot Mirror


MySQL FS

xcyber writes "Developer, Database Admin and user, MySQL is developing an mysql filesystem for Linux to mount database on Linux as a fs. This is still in development stage and the development team would like to receive comment on this. So please let us know. " "Because you can" dammit. Thats just plain awesome.

198 comments

  1. Re:SQL? by smileyy · · Score: 2

    Amongst all these other examples, it's probably worth noting that SQL is a declarative language. Basically, it allows you to express the results -- without worrying about the procedure used to generate the results.

    --
    pooptruck
  2. Re:Liquid file system by William+Tanksley · · Score: 2

    You're absolutely right that a prototype could be built using current file systems, but said prototype would be SLOW and eat a LOT of space. It's better to use appropriate data structures and algorithms.

    And yes, file systems are databases; they're merely inflexible databases using ANCIENT technology. Not all databases are created equal.

    -Billy

  3. sweet! by Phexro · · Score: 4

    phexro!pyramid:~$ SELECT * from pr0n WHERE sex='f' AND species='goat';
    --

    1. Re:sweet! by Fervent · · Score: 2
      Since I haven't used SQL in a few years, what command would make !(this SQL command) [e.g., no goats, please]?

      -
      -Be a man. Insult me without using an AC.

      --

      - I don't care if they globalize against free speech. All my best free thoughts are done in my head.

    2. Re:sweet! by Nightpaw · · Score: 1

      Wait, what? I don't understand... You don't want to see goat porn? What else is there?

    3. Re:sweet! by jonnythan · · Score: 2

      Isn't it amazing how much more you post to slashdot and stuff right after you break up with a girl?

      Just went through it to. Good Luck ;)

    4. Re:sweet! by smooc · · Score: 1

      here you go:

      SELECT * from pr0n WHERE sex='f' AND species 'goat';

      (imagine species='et' and action='phone home')

      -Bolke

      --
      - In Memoriam: Jeroen de Bruin (1972-2004), bye bro
  4. Re:One step further by William+Tanksley · · Score: 3

    Nice. However, first things first: any replacement for the current system has to start by doing all the things the current system does, at least as simply. This is the main reason I think 'cd' is a good command to include.

    It's BAD to try for too much with the first release. If you'd like an 'object system', by all means prototype one using conventional directories; you'll decide quickly that it's little different from modern Unix (remember ioctl!). In other words, an overly complex solution.

    We need a true file system, one in which ioctl isn't needed. See the latest plan9 OS for details.

    -Billy

  5. Oracle File System by eric2hill · · Score: 3

    A while back (a year maybe?) Oracle announced their iFS product. Dubbed the Internet file system, it gave file system, IMAP, POP, FTP, and web access to the database through a common software. I haven't had the chance to work with it, and it still may not even be available, but to be able to store files in the database and enforce integrity, it's extremely easy to track revisioning, maintain lists, and perform searches and reports. It seems like wonderful technology that should be a part of every OS, but I'm curious as to performance. Has anyone had any experience with iFS?

    --
    LOAD "SIG",8,1
    LOADING...
    READY.
    RUN
    1. Re:Oracle File System by Raving+Lunatic · · Score: 1

      Apparently, iFS gives a nice tree-structured filesystem that can be directly accessed via SQL, and you can then use oracle's media-specific procedures to do content-analysis in your queries (on the filesystem). For example, select all gifs under /images where brightness > 0.5 or something like that.

    2. Re:Oracle File System by JordanH · · Score: 1
      It's still available and it seems like a really good idea, although I have to admit that I haven't worked with it either.

      One BIG problem I've seen in a lot of applications I've been involved with is that you always develop some dependence on files that aren't part of the database. Imported files, configuration files, HTML, XML, etc. etc. You can throw them into the database as BLOBs, but then you have to write queries and update procedures just to do something where fopen() would really do it for you.

      If you store those files in the database, then voila, all your application backup worries are handled as part of the database backup. You've automatically got journalling, too. It's seems like a really nice and clean solution.



      ---

    3. Re:Oracle File System by ChannelX · · Score: 1

      iFS just finally became available recently. We just got our 8i R3 cds in yesterday for NT. Havent had a chance to fool with it as of yet.

      --
      My blog: http://jkratz.dyndns.org/~jason/blog/
  6. Re:*holds up sign* by angel'o'sphere · · Score: 1

    Sorry for my bad formatting :-)

    Well, the story about this topic was at /.
    and the flames I gotr are still at /.
    Look it up for your own.
    My point was: 90% of the people running linux do not care about GPL, OSD etc. they like free as beer software especialy if its stable and the source is included.

    You can forgett my addition, I only liked to show the attitude several people expressed.

    a'o's

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  7. Re:That's the dumbest thing I've heard all day! by TeknoHog · · Score: 1

    A filesystem is also an interface to a flat file. /dev/hda1 is a file with a fixed size and FS is a method of organizing different files inside it.

    --

    --
    Escher was the first MC and Giger invented the HR department.
  8. Re:People are missing the point. by drudd · · Score: 2

    You can almost always access BLOBS (or equivilent fields) from different languages and environments, the problem is that they're all different. DBI, JDBC, ODBC, etc... each one has it's own gotchas. Being able to access these fields as a part of a filesystem gives it the ultimate portability. Even shell scripts can quickly and easily access the database!

    Doug

    --
    Venn ist das nurnstuck git und Slotermeyer? Ya! Beigerhund das oder die Flipperwaldt gersput!
  9. Re:This might stimulate nerds and developers by KenCrandall · · Score: 1

    The part I found to be emminently cool was to think of things the OTHER way around -- don't just think of seeing your DB as files, think of seeing your files as a DB.

    Imagine if you could move a bunch of Word200 documents (they ARE XML files, mind you -- you just need an OLE stream decoder a la wv to decode them) into a DBFS directory and provide the DTD for that datatype in a way that you could make SQL calls against the files (records) using the DTD as a table definition.

    You could then move files TRANSPARENTLY in and out of the DB, using the DBFS and automatically index against them.

    A few years ago, I was responsible for getting a bunch of documents on a website to be searched and sorted. I had directory upon directory full of procedure and process documents. One day, I found a program called Xerox DocuShare, (written in Python, BTW) and it used some features that were very similar to this idea.

    Cheers,
    Ken Crandall

  10. Re:Just because you can ... by bencc99 · · Score: 1

    The latest releases of MySQL *DO* support transactions...

  11. Re:People are missing the point. by mikehoskins · · Score: 1
    Absolutely! Thanks for doing a great job at making my point.

    All one has to do is program for a dynamic, RDBMS-driven website, storing (and retrieving) images on-the-fly to see what I mean, adding your point, above. Of course, websites aren't the only place this is an issue.

    The "ultimate portability" and "Even shell scripts" points are really good.

    AS/400, Palm-OS, Be-OS, Reiser-FS, etc., all do something like this now, as has been pointed out.

    Of course, this now has to be implemented.

    I think they said they'd never land a man on the moon, or something like that. Then, there was this group at NASA.

  12. Re:This project should help MySQL by daniell · · Score: 2
    The additional consideration for this line of thinking is:
    • Does MySQL have the same directed and well defined core of development that linux development had and has?[think kernel here]
    • Is the current base of MySQL well written enough, with enough source infrastructure to survive eventual restructuring during concurrent feature enhancement?
    • Is there, as there was with linux, little competition in similar projects offering a similar feature set that might attract more followers or be a better candidate than MySQL for development attention?
    I'm not saying that MySQL lacks any of these. But there are tons of opensourced projects that just needed a bit of getting better that never did because they never really were good enough on a source level. Linux is a lucky case, but take heart, if there hadn't been linux, you still could have run the most fo the gnu system on BSD thanks to GCC.

    Lastly, I'm largly unaware of any linux-only apps that actually make or break a user's choice to use linux vs. any other unix. I think what really makes or breaks the choice is price-point and percieved momentum. pauvre pauvre netBSD.

    -Daniel

  13. Re:People are missing the point. by MCZapf · · Score: 1
    Have any of you (fs!=db) nay-sayers ever tried to store/retrieve GIFs and JPEGs in a relational database for a web site -- an often daunting, but often necessary task?

    Well, no. It was too daunting for me. But, I'd like to.

    I recently started making a database where I could keep track of all my photos - a "photo database," if you will. (It's here, if you are curious.) I didn't store the photos in the database - primarily because there isn't enough room on the database server. I numbered all the images by hand and serve them from my personal computer - using MySQL and PHP on the database server to access them.

    Anyway, I want to organize my photos into groups - and maybe even subgroups. And I want the groups to be able to overlap. I haven't done this yet, because I don't have the time to (re)impliment a file system inside the database! However, a "dbfs" seems to be exactly what I need for this task. It's close to what I envisioned.

  14. Re:This might stimulate nerds and developers by Masem · · Score: 2
    Not necessary: I'd assume that when you get to the level below the field level in the dir structure, things would behave like links to items. That is, if I have items '325', '326', etc under Employee_ID, and items 'Smith, A.', 'Anderson, N.', etc, those would point to the same set of unique objects, specifically the data base records. So Mr. HR guy comes along, and if he knows that Smith gets a $100,000 raise, he doesn't have to know he's employee #326, just that he's an Employee, findable under a standard OS find function.

    --
    "Pinky, you've left the lens cap of your mind on again." - P&TB
    "I can see my house from here!" - ST:
  15. Good idea... by Peartree · · Score: 1

    I like! I like! Theoretically, you could get faster data access since it would write like a raw device like oracle or MSSql

  16. Re:Be OS by Suppafly · · Score: 1

    ..and that is why beos is just awesome.

  17. Re:MysqlFS by bataras · · Score: 1
    Oracle has been doing this for years.

    I've recently been evaluating high end NAS/SAN (network attached storage arrays / storage area networks). The rep from netapp (makes high end NFS based devices) said Oracle is using their devices as the backing for their new E(whatever) service to compete with MS .NET. ... AND in the process, Oracle has forgone using their raw block access methods for, you guessed it, NFS-based Oracle database (to connect to netapp's netfilers) powering their own site. He said Oracle found they could map to netapp's high performance custom NFS file system and start to free up a huge engineering group devoted to optimized raw block access architectures. Sounds pretty f'd to me. And not surprising to hear from netapp, given their whole universe seems to revolve around NAS (NFS) as opposed to SAN (fiber). Anyone out there actually running Oracle on an array via NFS ?

  18. Re:easy & dangerous. Like sirens? by _xeno_ · · Score: 1
    Presumably, they just return a failed value. There doesn't seem to be any standard error codes for that type of error, but there's no reason another error code could not be used. Also, don't think exceptions, really - exceptions are cool in Java (I'm guessing that's what you use mostly :) ) but most other languages don't really use them. (I like exceptions better than error return codes, personally. But I have to live with error return codes... *sigh*)

    How about:

    char buf[] = "foo,bar,bally";
    if (write(fd, buf, sizeof(buf))
    if (errno==EINVALDATA) {
    fprintf(STDERR, "Invalid data\n");
    }
    }

    The standard error codes (as specified by man 2 write: EBADF, EINVAL, EFAULT, EPIPE, EAGAIN, EINTR, ENOSPC, and EIO) don't really cover that scenario, but any non-zero value from write indicates an error.

    My question is how to form a path to a row/column (and are you forming paths to rows or columns?) - would it be something like /db_name/table_name/column_name/value or /db_name/table_name/columns_primary_key?

    --
    You are in a maze of twisty little relative jumps, all alike.
  19. Good idea by debrain · · Score: 2
    I think this is a brilliant idea. It opens up the database to a whole slew of standard commands, but in particular it makes sure the database has a sensible way of being accessed.

    As well, this would be fantastic for configurations (in particular the complex ones of Gnome and KDE) since large amounts of data could be elegantly compartmentalized in a standard way. I find this nifty with the growing complexity of filestructures in these config sets, they would be open to editing and updating through the standard filesystem method, or through a standard SQL query system.

    1. Re:Good idea by QuMa · · Score: 1

      filesystem forks? I'm rambling, I mean resource forks of course...

    2. Re:Good idea by moocher · · Score: 1

      Hmmm, this would be just like decending into
      /proc/sys and changing things by doing stuff like:
      echo foo > hostname
      It would indeed be nice if arbitrary XML files
      could be manipulated the same way.

    3. Re:Good idea by siwtsds · · Score: 1

      I really like this idea.

      But what i really would like to do is to be able to mount all kinds of "container" files.
      TAR, ZIP, RPM, compound documents, ...

      And the really great thing would be to do it transparently (e.g. without an explicit mount)
      >cat something.tar.gz/readme

      I have been looking into this, but i didn't get very far.

    4. Re:Good idea by QuMa · · Score: 1

      Deja vu! :-)

      This is basicly just an implementation of filesystem forks. There's been a lot of discussion about this on the linux-kernel mailinglist. Basicly, maybe someday, but don't expect it soon in linux...

    5. Re:Good idea by QuMa · · Score: 1

      Actually, for real gzipping (and not via the 'c' file attribute) you'd need a little more than resource forks. But it would help..

    6. Re:Good idea by Masem · · Score: 2
      XML.

      Seriously. The average config file is an heirarchical structure as opposed to a table structure. This makes it ideal to use XML.

      I think that making config files usable by XML, one could write custom configuration apps that would work with any program. Example: mythical "gappconf" would simply need the rc file as well as some DTD description of the tags for that program, and it would present the standard tree widget with descriptions of what options you can change, what restrictions you have, etc.

      Now, extending your idea above, I would think it's also possible, but beyond my ability, to write a fs that fakes a directory structure based on an XML file, so that you can decend into directories via your favorite shell and change specific options that you want.

      --
      "Pinky, you've left the lens cap of your mind on again." - P&TB
      "I can see my house from here!" - ST:
    7. Re:Good idea by theMAGE · · Score: 1

      Why not store a XML document as a directory?

      If you have a reasonably fast filesystem.

      That would be really cool!

  20. Re:People are missing the point. by mikehoskins · · Score: 1
    You're only partly right.

    You still cannot provide anything universal or that can be done by an end-user. Only having fs access to a db allows for this. First of all, name one universal BLOB that works exactly the same for all db's that support BLOBs (there aren't any). Name one standard SQL command that does all this. Name one standard piece of source code that works in all languages, all the time, for all OSes. Name one totally standard API/interface/protocol/whatever. None of the above can be done.

    Unfortunately, BLOBs are not universal. Nothing works exactly the same way everywhere, all the time. And, let's just assume that you'll be using one DB on one OS all the time in one programming language, just to make things as easy as you claim it is. Things still aren't clean, since you will have to include code repeatedly in all your apps. Possibly, you may have to change your code if your tables change. Assuming you do everything the "right way" and use an interface such as ODBC, JDBC, or DBI/DBD, and assuming you write good OOP that is generic, you still cannot take that code everywhere to all apps all the time, even in the same programming language/OS. There will always be porting, adaptations, and recoding to get this to work everywhere with all your apps. In fact, everything needs to be planned so that all apps that will be using your code should follow the same conventions all the time.

    To avoid this mess and to make life easier for end-users, we could mount the DB as a file system. This gives apps, APIs, libraries, OSes, end-users, etc. the ability to query, read, write, and modify data, even if the platform doesn't even support SQL! By mounting the DB as an FS, you give (nearly) all apps the ability to work on your data (where db data==files), just by being able to open and close files! This is the ULTIMATE layer of abstraction, making access truly UNIVERSAL. (Security restrictions/permissions still should apply, of course.)

    There is absolutely NOTHING universal about what you suggest. Nor do all BLOBs work, even in theory, as you suggest. Nor do end-users benefit. Nor do all apps automagically get access to your data just because you wrote something in language a for database b for OS c to support program d.

    Oracle 8i's IFS, Informix's data blades, MySQL-FS, PGFS, etc. all have been written by the db experts to address these deficiencies. Why do they disagree with most of the people on this post?

    It's because they're right.

  21. Read "Distributed Systems" by Sape Mullender by mibailey · · Score: 2

    Section 14.2.2 Has a discussion of File Systems versus Databases written by M. Satyanarayanan (of AFS and CODA fame). He says that although file systems and databases have much in common, there are several areas in which they differ conceptually including encapsulation, naming, and the ratio of search time to usage time. Basically file systems are appropriate when there is high temporaly locality, while databases are used in situations where there is little locality and concurrent read and write sharing of data at a fine grain level are required.

  22. Re:*holds up sign* by Enahs · · Score: 1

    trollalicious.

    Nothing about flickering, though.

    --
    Stating on Slashdot that I like cheese since 1997.
  23. Re:More like BeOS's filesystem? by Suppafly · · Score: 1

    Beos Specs.. scroll down.. basically (as anyone thats used beos knows) file information is basically stored in file attributes. ie: Email is just a text document with a sender,recipient,date,etc attribute with the body as the info in the txt document. This is really usefull for mp3's every bit of an id3 tag can be given its own attribute and then you can search based on the attributes and such..

  24. MysqlFS by cazz · · Score: 2

    All of the high end RMDBS use raw file system access. By not using a "regular" file system, you gain a huge performance jumps. If MySQL is doing its own locking and recovery, then the overhead from the file system is wasteful.

    Oracle has been doing this for years.

    This is just another important step that MySQL needs hurdle before it is concidered for high end applications.

    --
    -b
    1. Re:MysqlFS by Erasmus+Darwin · · Score: 2
      All of the high end RMDBS use raw file system access. By not using a "regular" file system, you gain a huge performance jumps.

      Which actually has nothing to with the posted article. This article is about creating a virtual filesystem that serves as an interface to the contents of an existing MySQL database (kind of like the /proc filesystem). It doesn't mention anything about creating a special filesystem for MySQL to store its internal data in a more efficient form.

    2. Re:MysqlFS by chegosaurus · · Score: 1

      > All of the high end RMDBS use raw file system
      > access.

      Not really. There's no filesystem at all - the database accesses the raw disk device. As I see it that's the exact opposite of this application. What you mean is a way for a db to store data in such a way that it cannot be accessed at all like a normal OS filesystem. What they mean is a way to access data stored by a db in such a way that it is just like a normal OS filesystem.

      > By not using a "regular" file system,
      > you gain a huge performance jumps.

      You can get significant (10% - 20%?) performance increases in certain circumstances - i.e. if your application is *really* doing a lot of i/o. Much of the time you won't notice a great deal of improvement and you'll just end up complicating things like backup and disaster recovery.

      > This is just another important step that MySQL
      > needs hurdle before it is concidered for high
      > end applications.

      I really don't think MySQL will *ever* be considered a high end application database. It's pretty nifty for your little dynamic website, but it's never going to be data warehousing.

  25. So, basically... by xee · · Score: 1

    All it does is let you use filesystem calls to access the database. I mean, MySQL uses files that are managed by the Host System's filesystem. So, basically, all it's providing you with is another API that can access the database. That is nice, but I wouldn't necessarily expect anyone to use this for actual data storage. It would seem to me that to use this for the same purposes as a filesystem, it would only add overhead to the process, and provide limited - if any - added data storage benefits.


    -------

    --
    Oh shit! I forgot to click "Post Anonymously"...
    1. Re:So, basically... by Xannor · · Score: 1

      Actually I can think of one good benefit.

      You could use Postfix Maildir support and "force" storage of users email in a MySQL file system. Then you could provide a php front end and your users have "instant" web mail w/o a whole lot of fancy coding..

      Kinda like a poor-mans web email upgrade for those w/o a lot of time.

      --
      I sig therefore I am...
  26. Re:Is MySQL ready for that? by ServaL · · Score: 1

    They even have no foreign key support, no subqueries... In my opinion they have some better things to do than this (although it might be usefull).

  27. Can you imagine ... by BorgDrone · · Score: 1

    Select * from /dev/hda1 where filetype="mp3" AND artist="moby" and bpm>120

    that would be SO cool :)
    ---

  28. Re:That's the dumbest thing I've heard all day! by mikehoskins · · Score: 1
    Absolutely!

    And, I'm sure somebody out there probably thinks the whole directory structure is too relational, or db-like, already. Give me a break!

    Yes, a file system puts flat files inside a flat file; drives are more logically mapped anymore than they are physically mapped; RAID, LVM, and partitioning in general divvy that up into pieces; databases put relational data into a bunch of indexed flat files; BLOBs are nothing more than flat files stored in databases.

    So, what is a drive or a partition or a file or a database? The lines are already so blurry you can't tell the difference, anymore, and you wouldn't want to, unless you want to go backward!

  29. Re:How would this work? by fReNeTiK · · Score: 1

    Hey, that's MySQL we're talking about here. Why do you even care about relational integrity?

    --
    I strongly believe that trying to be clever is detrimental to your health. -- Linus Torvalds
  30. Like the concept, implementation needs work by Skippy+The+Great · · Score: 1
    Actually working along those lines with a hierarchial system for arranging TCL variables. Check dat shit out:

    http://www.etoyoc.com/odie

    --
    Don't Panic
  31. PalmOS by Spankophile · · Score: 2

    This sounds vaguely similar to how PalmOS apps work.

    THe entire filesystem is based around the idea of a database, where memory chunks are accessed based on the name of the app, etc....

  32. Re:Isn't this what Reiser FS is for? by gimpboy · · Score: 2

    Warning: I'm human. Sometimes stuff I post here is wrong. Use your head. Question authority

    this must be one of those times. without some way of querying your file system (except for ls) then you loose the relational aspect of the database. then you just have a filesystem that stores metadata for fast recovery. this is good from a fs point of veiw, but it does nothing to help you find the files you are looking for. it provides no relations between files, and does not store file descriptions (that are useful to a human).

    eg. this is an image file that can be catagorized under political, humor, bill clinton, letch, etc.

    use LaTeX? want an online reference manager that

    --
    -- john
  33. Mute? by Aunt+Mable · · Score: 1
    ...but then I could still type. You'd hate that ;)

    OK.. but which is it? You first say if you were to measure it to the "micro second, some difference might be noticed". Then three sentences later you say there is "no difference". You seem confused, and you were right the first time.

    There is a difference (however minute) and it's due to BeOS not actually having the ability to create fields at the FS level. It's trivial to create file examples that show off the flaws in their method and to make peformance suffer. There are filesystems that do it better, through better architecture. Realise this and you'll see my point - that BeOS can improve it's so-called meta FS.

    ps. I've used BeOS for several years now on PPC and x86, programmed for it, and you're probably using some of my apps (here's a hint - Doublin). Oh, and there's much more anger and arrogance without fact or links or proof than anything I'm putting out, believe me.

    -- Eat your greens or I'll hit you!

    --

    -- Eat your greens or I'll hit you!

  34. Is this a prototype for mapping DBs into the FS? by angel'o'sphere · · Score: 1

    In my opinion it would make more sence to define a general mapping of (R|OO|XML)DBMs into the filesystem.

    If mySQL is only a prototype for that this is fine! However if this is ment as an improvement for mySQL I doubt it is the right step currently, as there are a lot of more demanding features like locking, cashing and general peformance in multiuser environments.

    And of course it would make sence to be able to describe table mappings from existing standard unix configuration files like /etc/passwd into a meta level (the description) to examine/querry normal file content with SQL.

    e.g.: select user, shell from /etc/passwd where shell != /usr/bin/sh

    or better: echo "why don't you use bash?" | mail `select user, "," from /etc/passwd where shell != "/usr/bin/bash"`

    Regards,
    angel'o'sphere

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  35. Re:Liquid file system by Khelder · · Score: 2
    A system like this has been implemented at Xerox PARC. It's called Placeless Documents. It seems to have ended, but there's a follow-on project called Harland that provides an attribute-based storage mechanism for Java (and is available "for trial use", whatever that means).

    I've seen presentations about Placeless Documents and it's really cool.

  36. Re:People are missing the point. by mikehoskins · · Score: 1
    Q: What is are BLOBs?

    A: Flat files stored in a database!

    Q: What is a database?

    A: Data stored in indexed flat files!

    Q: What is an index?

    A: More data stored in flat files, or a database of metadata that relates to the order of data!

    Q: What is a file system -- Unix/Linux?

    A: Flat files stored in a database (that's why it's called a file system) -- with at least one flat file, such as /dev/hda1!

    Q: What is a hard drive (present day terms).

    A: A device that logically maps data on a physical medium, or a database of sectors!

    Q: What is version control, such as CVS?

    A: A database of changes to flat files.

    Q: Why don't (many) people get this?

    A: Maybe they haven't been a DBA, haven't taken a class about modern operating systems, haven't developed a dynamically-generated website with images, haven't been a frustrated programmer dealing with dynamic and static data simultaneously, don't organize data well, haven't read about new FS'es (such as Reiser-FS), haven't used asset management software, think there really is a distinction between filesystems and db's, store all data in flat files, etc.

  37. Re:More like BeOS's filesystem? by Aunt+Mable · · Score: 1
    There's no way to actually define a new field at the FS level.
    Sure there is. Preferences->Filetypes allows you to add new attributes to a particular filetype, as well as define new filetypes. It's up to the associated applications to do anything meaningful with the new field or fields, but you can pretty much do what you want.
    Wow... you mean you can do that from a high-level interface - that must be in the filesystem. BING BONG you're wrong!

    The BeOS filesystem has a meta field along with conventional name/date/etc., fields for the FS. I'm not talking about high-level constructs that abstract and hide what's actually taking place - I talking about the FS and how it saves data. It has to parse the meta field. It can't actually add fields to the FS - although it acts that way.

    Congratulations on the +4 though - good work.

    -- Eat your greens or I'll hit you!

    --

    -- Eat your greens or I'll hit you!

  38. SQL? by Beowulf_Boy · · Score: 1

    Could someone do me a favor, and explain exactly what an SQL is?
    I'm kind of confused at this point, and haven't been able to figure it out from readers' comments.
    Thanks

    1. Re:SQL? by Anonymous Coward · · Score: 1

      "A standard way of getting data into and out of DBs."

      To clarify that- It's one language that works with many different databases. The reason is so that one application or one programmer can switch databases without learning an entirely new system or throwing away tons of work. Theoretically, you could write a whole application with one SQL database behind it, move your data to another SQL database, change one text connection string, and have a fully working application. In reality, it's not quite that nice, but still good for programmers that go from one project to another.

    2. Re:SQL? by esobofh · · Score: 1

      an oddity to note.. if you make alot of sql queries or use the structured language.. you find it quite logical and useful.. it starts to cross over into your every day english uncontrollably and you find yourself structuring any query in the same manner.. select 'donut' in table 'box' where glaze='chocolate'; or is this just me?? it's like a disease...:)

      ----------------------------

      --

      ----------------------------
      Esobofh - Currently drinking fresh mango juice.
    3. Re:SQL? by Nafai7 · · Score: 2

      SQL is a series of codes used to database interaction.

      SELECT Age, Height, Name FROM MyAddressBook WHERE Age<18

      The above statement will return the fields Age, Height, and Name from the table "MyAddressBook" and limit the values to only those whose age is less than 18.

      There is also ways using SQL to insert data, create tables, and lots and lots of other stuff.

    4. Re:SQL? by prizog · · Score: 2

      "Structured Query Language". A standard way of getting data into and out of DBs.

      Example: "select answer from whizbang where
      qid = 22 and sid = 1"

      whizbang is a table (imagine a spreadsheet that's accessed row-by-row). The query grabs the answer column from the whizbang table, but only in rows where the value in the qid column is 22, and the value in the sid column is 1.

    5. Re:SQL? by Thax · · Score: 1

      SQL stands for Structured Query Language. Its basically a standard way of querying databases. MySQL is a database that supports a large set of the SQL commands. For more information, take a look at their webpage

    6. Re:SQL? by jovlinger · · Score: 1

      When I was a kid, still programming applesoft basic, I remember reading about the first documented case of a computer related psychological disorder.

      This kid (not me, eh?) apparently got so obsessed with programming that he spoke only in basic ("10 get out of bed. 20 get dressed").

      A casual google search didn't turn up any links tho. Anyone care to supplement?

    7. Re:SQL? by giberti · · Score: 1

      SQL = Structured Query Language
      RDBMS = Relational Database Managment System

      Its a query language used to talk to RDBMS systems... an example might be:

      select firstName, lastName, email from SPAMTABLE order by lastName

      isn't that simple. You can even use this in Micro$oft Access... but it tries to build querys for you by default.

      --

      AF-Design, web development.
  39. A DB FS? by jd · · Score: 2

    Hmmm. Interesting concept. Not sure what the use would be. 'where' would be easy to implement in SQL, though.

    --
    It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    1. Re:A DB FS? by Roofus · · Score: 1


      An interesting concept? I thought that Oracle already does this....

  40. Re:Liquid file system by Blackjax · · Score: 1

    That sounds similar to the inherent capabilities of the BeOS filesystem.

  41. Re:easy & dangerous. Like sirens? by _xeno_ · · Score: 1

    WTF? The was closed on preview! Grr, I hate Slash.

    --
    You are in a maze of twisty little relative jumps, all alike.
  42. Re:Isn't this what Reiser FS is for? by Communomancer · · Score: 1

    Dude, he didn't say that he didn't want _any_ way to query a file system. He just said that some might not want a full-blown SQL interface to a file system.

    --
    "UNIX" is never having to say you're sorry.
  43. Like the AS/400! by kroymen · · Score: 2

    This is a great idea if it's implemented well. The AS/400 is an example of a system that was entirely implemented around the idea of a full-featured DB implemented as a filesystem.
    ...and since it still has one of the best uptime records in the industry, and transaction processing times that consistently rank in the best-of-the-best lists, it's a good platform to imitate. Too often it's overlooked because of the green-screen terminals, but at its core, the AS/400 is easily one of the most advanced implementations of computer technology available to the general public.

  44. Re:Other low-level data storage systems out there? by costas · · Score: 2

    Well, SQL wont work --I just don't need (or want) the slow down from interpreting and abstracting SQL commands --and yes, I want *all* the speed I can get.

    I am looking for something way lower level. ReiserFS isn't a bad solution, I just dont believe that their plugin API is mature enough to base another project on top of --or am I wrong?

  45. Re:Never use a gift horse to do a man's job by mfkap · · Score: 1

    I don't understand how you can say this without knowing the benefits of this venture. I have not seen very many cases (although there are some) where someone takes a good working program, and decides they are going to spend a huge amount of time and effort working on something that is detremental to the project. I don't think that companies like Oracle would go ahead and pursue a "brain-dead" project just for kicks. Perhaps vast leaps to judgement should be withheld until a somewhat informed decision can be made.

    mfkap

  46. NOT A TROLL READ!!!! by Vermifax · · Score: 1
    This is not a troll, SQL does not stand for Structured query language. This is widely missunderstood

    http://foldoc.efnet.org/cgi-bin/foldoc.cgi?SQL

    quote "According to Allen G. Taylor, SQL does *not* stand for "Structured Query Language". That, like "SEQUEL" (and its pronunciation /see'kw*l/), was just another unofficial name for a precursor of SQL. "

    Vermifax

    --

    Vermifax

    Logout
  47. Re:This might stimulate nerds and developers by rho · · Score: 2

    Good point -- didn't think about being able to use the "Find" function of an OS.

    However, how is this better than a dedicated web app for HR flacks?

    Find your favorite non-computer-literate person and see if they even KNOW that there's a "Find Files and Folders" in their Start menu? (I'm assuming a Windows-centric office here)

    Like I said, I think it's cool and potentially useful, but probably not as useful for non-nerds

    --
    Potato chips are a by-yourself food.
  48. Re:Liquid file system by William+Tanksley · · Score: 2

    I'm not sure what you mean when you say 'staticly' or 'dynamicly'. I suspect, however, that you're assuming that the foundation of a fluid file system is a set of files, directories, and links. It's not. It's almost certainly a relational database, one optimised for the task of getting a set of items (objects, files, whatever) which are categorised under a given set of categories.

    I also don't know what you mean by 'number of possible categories'. I think you're mistaking 'categories' for 'sets of categories'. In my example, "/etc/wtanksle" is a set of two categories; "etc" is a category. I could see some reason to cache the results of category queries; that's an optimization concern, and not my specialty. I don't see any reason to try to precache all possible queries, as you seem to imply.

    Its speed will be almost irrelevant; I predict that it'll be about as fast as the current system, but even if it's hundreds of times slower it'll still be fast enough, since caching is trivial and looking up a file based on a full filespec is almost never done.

    -Billy

  49. Re:This project should help MySQL by angel'o'sphere · · Score: 1
    When I installed my first linux kernel there where no "intriguing" linux apps.
    And still up to today I do not use any.
    License issues never where a reason for me to use linux.
    Most peaople who currently use linux, especialy those who pay 50$ for a CD distribution realy do not care about the license.
    They care about:
    • its better like certain competitors

      • its cheaper than certain other competitors

      • you can it install company wide for no extra charge (well the only licensing issue)
        The only reason for me was: its UNIX and it is free in terms of beer, and it runs on 486 architecture and the gnu file utils ran on it as well as RCS.
        Regards,
        angel'o'sphere

        BTW: once there was a hughe rant about Troll Tech releasing a new version of QT, and for linux also one under GPL. Troll Tech wrote somewhere: "... we did not emulate the slow and flickery refresh of GTK(or was it gnome?) ..."
        This led to a hughe contovery ... I wrote: well why don't you take it honest and improve GTK not to be slow and flickery? I was flamed it would not flicker ....
        Only what I can say you geeks, you must have very expensive machines :-) I installed GIMP lately on a 200 MHz Pentium.
        IT FLICKERS. ITS SLOW. Like hell.
        If its a good application I do not know as i found the user interface VERY confusing.
    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  50. Re:Is MySQL ready for that? by blamario · · Score: 1

    At the moment the proposed filesystem is read-only, and that menas locking is not an issue. Besides, the primary purpose of the proposal seems is to provide more convenient interface for very simple databases. So it will fit perfectly with MySQL, making it even more simple to use and also even more feature-poor. In my opinion it's a better interface to MySQL than its existing brain-dead subset of SQL.

  51. the Woods Hypertree by xcyber · · Score: 1

    Are you the party soliciting feedback for the MySQL File system?
    If so, I have an interesting file structure scheme that may help you notationally translate tables to files and directories in a logical fashion.
    I call it "the Woods Hypertree" In it you have two seperate delimeters for two different parent/child relationships.
    One relationship is hierarchial, like a standard file system: B is a subordinate of A
    The second denotes a structural relationship, like a set: B is a component of A
    There's more info, and a C and TCL implementation on my website: http://www.etoyoc.com/odie
    Thanks if I tagged the right person, Sorry if not, and could you please forward it to the right folks.
    Sean Woods
    Senior Network Engineer
    The Franklin Insitute Science Museum
    swoods@fi.edu

    --
    xcyber """"""Complexity for the sake of complexity is not a solution, neither is simplicity for the sake of simplicity
  52. Try Google. by FatSean · · Score: 1

    Or ask your mommy.

    --
    Blar.
  53. iFS - Still available by rhinoX · · Score: 1

    I attended an Oracle conference earlier this year, and saw a presentation of their iFS. Let me tell you, I had been thinking of something along the lines of it for quite some time and it was very cool. While I'm not so sure I would want to use Oracle (expense, size, etc.), they have put quite a bit of work into this and it ROCKS.

    All access to files is accomplished through a middleware "plugin" which exports the data out in different formats. (FTP, SMB, etc) All your data is stored in tables in the DB. Every file can keep revisions of itself, and every file can have arbitrary attributes attached to it. It is also quite fast for BLOBs and CLOBs (the demo streamed a 100mb MPEG from the FS via SMB).

    It was a little shakey still at the point, but I would imagine that they have worked out a lot of those bugs in the last 4 months. If I remember correctly, they will ship it with 9i or something.

    --
    The copper bosses killed you, Joe. 'I never died', said he.
  54. Re:This project should help MySQL by mr · · Score: 2

    Would the kernel be anywhere near where it is today if people hadn't gotten others interested by writing intriguing, linux-only apps? Probably not.

    Your analysis is wrong.

    Most anything shipped on linux distro is nothing more than a Unix program PORTED.

    Unless GCC, X and others are 'linux only' apps.

    --
    If it was said on slashdot, it MUST be true!
  55. Re:Just because you can ... by witz · · Score: 1

    Aren't all file systems truly just databases? FAT is just a table of file pointers and physical locations, isn't it?
    Oracle is doing (or has already done?) this with an implementation of their database server.
    Heck, I think that MS should run NTFS (and probably Active Directory) off SQL in some way.
    Makes sense.

  56. FYI: by sabre · · Score: 1
    For anyone interested, the enabling technology that makes this work is kORBit. The Corba ORB for the linux kernel (which was mentioned previously on slashdot).

    I'd like to encourage people to think more along the lines of "what if" than the "that's ridiculous" attitude... :)

    -Chris

  57. Re:More like BeOS's filesystem? by Aunt+Mable · · Score: 1
    No. I believe BeOS just has a meta attribute at the FS level filled with supposed attributes. There's no way to actually define a new field at the FS level (although it is transparent to applications - so aside from speed it doesn't really matter).

    Early version of BeOS did use a database FS for the entire system but they dropped it by R4 (I think that's the right version) because of performance issues.

    -- Eat your greens or I'll hit you!

    --

    -- Eat your greens or I'll hit you!

  58. Re:Please explain by MaufTarkie · · Score: 1

    Please explain what commit and rollback are.

    Commit is what you do to a felon. Rollback is what your car does when you forget to turn the wheels and pull the handbrake on your car on a hill. Rollbacks can lead to commits if your car accidently hurts someone.

    In a transactional database, they do what they sound like. Commit "commits" data to the table and "rollback" throws away your changes. Saved my bacon a few times. And possibly my job.

    --
    Without you I'm one step closer to happiness without violence.
  59. reiserfs is intended to be a database fs by MenTaLguY · · Score: 3

    Much of the ultimate point of ReiserFS is the marriage of databases and filesystems (filesystems are really just a limited sort of database anyway). This is the reason for the all the commercial funding; there are people out there who really want this.

    See Hans Reiser's White Paper for information on where he's going with this.

    For what it's worth, database filesystems are not a new thing at all. Hans is just planning on accomplishing this in a way that completely preserves the Unix file metaphor and related concepts.

    --

    DNA just wants to be free...
  60. Re:Just because you can ... by bencc99 · · Score: 1

    the 3.23.xx releases of MySQL do support commit and rollback. What's more interesting is the ease with which you can run MySQL db's over multiple servers - this could make a great foundation for a simple, fast distributed filesystem...

  61. Never use a gift horse to do a man's job by laertes · · Score: 2
    This seems like a horrible idea. The idea of both a filesystem and a database is to store data in a (hopefully) secure, long term fashion. However, to call their aproaches radically different is understatement bordering on absurdity.

    A database is about data. The data is partitioned into tables and columns, with a large number of additional constraints (unique, primary key, foreign key and check clauses, for example) to limit the values of the data. Additionaly, the data is strongly typed. In order to access this data, SQL supports very high level commands, like SELECT, INSERT, UPDATE and DELETE.

    The power of a database is most basically in its very high level nature. You, as the user/programmer, do not care where the data is, who else is using it, how it is stored, or what the old values where. The database management system takes care of all of that. Other powerful features of databases include indexes, joins, subselects, real NULLs, aggregate(set) functions, and GROUP BYs (sub-setting).

    Now, contrast this with the low level file/directory structure. In this, you have a hierarchy of directories, each of which contains one or more files. A file is nothing more that a stream of bytes, and the only constraint they have is that they be uniquely named within their directory. Also, a single file can be in more that one directory.

    In order to use a file, the programmer must know where the file is, possibly who else is using it (with lock files, for example), what format the data is stored in and, if they want to be able to undo their actions, the old values. The advantages to files are the plethora of tools for manipulating them (at least in the case of text), and lower startup cost (eg. it takes less time to make a stupid file format than a SQL schema).

    This project is therefore brain-dead as an application development platform. 'But,' I can hear the reply, 'it's useful for users who want to change the data in the database.' Reply: every database accepts SQL, which modifies the data. Some SQL API's I've seen only take two lines of code to retreive some data. And SQL won't shit on your data if you accidentally type it in in the wrong format, it'll conplain, but your data will be safe and secure.

    This is quite possibly the worst idea I've ever heard. Worse than Linux as an Internet Explorer plugin, worse than Napster as a family tree generator, worse than Quake III as a spreadsheet, and even worse than Apache as a VMS shell.

    Not that I have anything personal against it.

    --

    Yes, I'm still a junky. Are you still a bitch?
    1. Re:Never use a gift horse to do a man's job by laertes · · Score: 1
      I would just like to comment on the differences between this project (MySQL fs) and Oracle's product (iFS). All of the information is based on the best source of information I have, namely the Oracle iFS product documentation and MySQL fs website.

      MySQL fs is a method of accessing data in SQL tables via the UNIX filesystem mechanism. Tables are directories, rows are numbered sub-directories within table directories and columns are named files within row subdirectories. More complex functions, like aggregate functions, are accessed through hidden files, or files whose names begin with a dot. In my oppinion, this is a kludge. Some operations are even more of a kludge. Some simple things in MySQL, like doing a join, or selecting a particular column for the entire table. In addition to being difficult, that are lacking SQL support features like indexes (although this could change.)

      Oracle's iFS is a fileserver that just happens to be powered by Oracle's database. It runs (IIRC) NFS, SMB, LDAP and Novell's filesharing system. All of the clients, regardless of protocol, would see the same files. This is a blackbox system, the user does not need to understand the table structures involved in providing the file services. In fact, if users did have access to the tables, they would have access to data they do not have permission to access. For this reason, the iFS SQL backend is only made available to administrators. Since the nature of the service is hidden, the system could be exchanged for more a conventional solution, like a Linux server running equivalent servers.

      So, your implication that I am making a foolhardy judgement is questionable. I may be making a rushed judgement, but not because of the reasons you gave; Oracle is making no comperable product. I hope you can see that a network filesystem powered by a RDBMS is different from a SQL client masquerading as a filesystem.

      Just as a post-script, I do use Oracle professionally, but at work I use the more conventional linux atalk, samba and nfsd solution, but I have investigated iFS.

      --

      Yes, I'm still a junky. Are you still a bitch?
  62. Sounds like ClearCase by shreak · · Score: 1

    I've used a system that sounds a lot like this. It's called "ClearCase" and it's a configuration management system.

    It manages files in a big database and tags them with "versions". To modify a file, you check it out and to save it to the database you check it in. Nothing particularly innovative here. The cool part is how you "see" the files you care about.

    First you create a "view". You can have as many of these as you want. Each view is configured to select files based on a set of rules. The rules are simple, like LATEST (most receintly checked in) or VERSION 5 or DATE(1/16/2001). The rules can be applied to all files in the system or specific files or directories.

    What this means is that you can have multiple open views and list a specific directory in each of them and receive a different listing for each view simultaniously. The performance is very good across a LAN (the file system is server based)

    You are able to attach other metadata to each file or version of a file. Attributes can be created and values assigned.

    The configuration language is not SQL and is not designed to be very dynamic. But it is extremely usefull for development project management.

  63. Re:Other low-level data storage systems out there? by SubtleNuance · · Score: 1

    See Praedictus' ERDB product - it is not free (libre or gratis)... it is a 'relational database' that resides in memory (the entire DB is in RAM at all times) it is very fast. I presently have a DB used for Statistical Process Control in a production facility. So far im very pleased with its stability and the support from the developers...

    They publish a C API for interaction w/ the 'DB'...

    I know you said 'Open Source' - but I thought Id bring this to your attention...

  64. Re:Liquid file system by Elbows · · Score: 2

    This sounds really cool, but it seems there could be some problems with implementation. If you build category listings dynamically, this drastically slows down tasks like a simple directory listing (or even locating a file by name), because you start having to do searches. Of course you can speed this up wi/ good indexing, but you still have to pull those indices off the disk and do a fair amount of processing.

    You might be able to build some of the categories statically, but if your fs is truly fluid, then the number of possible categories is gonna be too huge to build and maintain statically. Maybe it needs to be a little less liquid, or maybe you can find a way to indentify commonly accessed files/categories and build that stuff statically, then do everything else dynamically.

    I also think this needs to integrate with rather than replacing a traditional fs. I doubt this method will ever be as efficient in terms of looking up, creating, and deleting files as a traditional fs, so it would be bad for system stuff like /bin, /temp, etc. OTOH, it would be great for home directories where the user is mostly storing documents and a relatively minor performance hit isn't noticeable.

  65. Re:This might stimulate nerds and developers by wkearney99 · · Score: 1

    Ken, you can do a lot of this right now using the Exchange 2000 server. You'll be able to do a lot more of it with the upcoming Sharepoint server (beta Tahoe). It's wicked cool. Beats the stuffing out of DocuShare.

  66. Re:More like BeOS's filesystem? by Alderete · · Score: 2

    Early version of BeOS did use a database FS for the entire system but they dropped it by R4 (I think that's the right version) because of performance issues.

    The early versions of BeOS used a separate database (not very complex) and filesystem, which wound up being very difficult to work with, so eventually they merged the two. The "database" aspects of the BeOS filesystem are more of being able to add (relatively) arbitrary data to particular filetypes, and do searching based on those criteria. It isn't a formal database in any sense of the word.

    Versions of BeOS prior to the Preview Release had a file system and a separate database. Because it was difficult to keep the data in the two separate systems consistant, it was decided that they should merge. This happened in Preview Release 1, and BFS remains relatively unchanged today.

    At the time there was a lot of enthusiasm for the merged design to be a database-based file system, but after a lot of research, Dominic Giampaolo, the engineer doing the design and coding, determined that wasn't going to work. The reason is it becomes too difficult to filter out the files you aren't interested in. There is a lot of organizational value in a hierarchical, structured, traditional file system.

    The design for BFS that was implemented is best described as an "attribute-adorned file system," with a query engine that can search against the attributes, and some indexing to make common queries fast. There's a fairly simple query language (along with simple GUI tools), but it's not as complex or capable as SQL (nor would you really want it to be). You can execute those queries from the command line if you want, which can be pretty useful when piped to another program (much as find is in Unix, but simpler to work with).

  67. Re:Why are we being punished with these boring by HazMathew · · Score: 1

    You... are very twisted, as is the creator of that website. When will people grow up and stop pasting that SHIT, its not funny.

  68. Re:People are missing the point. by Eivind · · Score: 1
    Yes. Sure. Hugely hard. You need to escape on the order of three characters if I remember correctly from last time I did it. Something like:

    ascii 0 => \0
    ascii ' => \'
    ascii \ => \\

    Then you just insert the damn thing into the blob-field like any other data:
    insert into pictures values ('bill', 150,60,'actual-jpg-file-here')

    So sure. Big deal. If you think this is complicated and/or hard you should find some /even/ easier job.

  69. Re:More like BeOS's filesystem? by popular · · Score: 1
    A database is a data set with at least primitive concepts of tables, fields, and records, which could even be delimited text files, and the ability to index and query are added bonuses.

    NTFS5 is a real database, though it may not be a real management system.

    --

  70. Macs have had this for years by Ukab+the+Great · · Score: 1

    It's called the desktop database. It allows one to do cool things such as change the icon for a single program document (no messy MIME/extensions), store comments on files, and all other sorts of GUI goodness. And it makes searches really fast. Of course, it's probably a little crufty (being over 16 years old. I think it's a flat database), but I think it's definately time linux had a feature such as this.

  71. Re:Liquid file system by Hard_Code · · Score: 4

    Damn, you...both of you stole *my* idea! ;)

    For a long time now I've been thinking about filesystem-as-database concept. We've passed the point where computing is about optimizing hardware resources. It is now about optimizing *user* and *information* resources. If your hardware is blazingly fast, but you are lost in a sea of irrelevant information, you can't do anything. I think that's where the database/meta-filesystem comes in.

    With all this rich content around, we should not be searching for files based on some arbitrary linear categorical name. We should be searching on *attributes*. We should be searching on *association*. E.g., "List all files relating to my work that I have store on my home computer", "Now, of those, show me all files that pertain to status reports". Or "List all data I have on the artists and bands in my music collection". etc.

    This is where plain, flat, hierarchical file systems fail. We need basically a data "repository", and various ways of obtaining information from that repository, based on attributes, categories, mime types, relation to *other* files, etc.

    --

    It's 10 PM. Do you know if you're un-American?
  72. Re:More like BeOS's filesystem? by witz · · Score: 1

    NTFS 5.0 already does this as well, with alternate data streams and native property sets (COM object attributes like author or title, or even custom properties).
    The fact that it can be indexed so both content AND properties are searchable sounds a lot like a database to me.

  73. Isn't this what Reiser FS is for? by Bruce+Perens · · Score: 4
    Reiser FS is for building a database as a filesystem. See namesys.org .

    Bruce

    1. Re:Isn't this what Reiser FS is for? by cduffy · · Score: 2

      The reiserfs folks are working on both a plugin API and additional hooks to add access to its DB features (which have been designed into the low-level stuff for quite some time).

    2. Re:Isn't this what Reiser FS is for? by PureFiction · · Score: 3

      Except there is no SQL interface to reiserFS ;)

    3. Re:Isn't this what Reiser FS is for? by Bruce+Perens · · Score: 1
      You can manipulate tuples with a shell program. I once wrote a list-processing library in shell. OK, not the best way, but SQL is not the only way to extract a relation.

      Bruce

    4. Re:Isn't this what Reiser FS is for? by Bruce+Perens · · Score: 1

      Yes, but some would consider that an advantage :-)

    5. Re:Isn't this what Reiser FS is for? by Bruce+Perens · · Score: 2

      Yes, you don't have to tell me that :-) .

  74. Liquid file system by William+Tanksley · · Score: 5
    This is exciting on a number of levels, even if the specific database being used isn't my choice; I've been looking for a suitable base for some of my ideas regarding a "fluid file system" (someone else generated a good writeup, calling their ideas a liquid file system, but my name is better :-).

    In my vision, 'documents' would be categorised, and the categories could be viewed in a manner very similar to how we now view directories, except that a file is in more than one folder at a time. A file which is named /etc/wtanksle/ppp.conf could also be referred to as /wtanksle/etc/ppp.conf, or if it's unambiguous, /etc/ppp.conf. /dev/removable gives the list of all removable devices; /dev/scsi gives the SCSI devices (including the removable ones).

    The potential uses are many -- I think it would make a lot of common computer tasks a lot easier.

    Oh well -- anyhow. :-)

    -Billy

    1. Re:Liquid file system by gimpboy · · Score: 3

      i've been working on something sort of similar. i upload a file into the database (currently storing the files on a normal partition) and the file has associated with it a file type, description, md5 hash, and a couple other things. now when ever i want a picture of clinton. i do a select where file type is image and description has the word clinton in it. right now i only have a php interface, but i have a friend who's going to do a perl/console interface.

      the cool thing is that i can stream the data via apache to whatever application i want. so i'm going to upload all of my mp3's and build file lists based on the primary keys of the files. then i can stream the data to mpg123/xmms. it works really well, and since i store the md5sum i can prevent myself from storing exact copies of a file.

      i'm useing postgres right now. if they had the ability to mount raw partitions, and get over the 8k limit (this ones coming soon) that would be great. it would make backups easier. now i just have to dump the database and then backup the db dumb and the /files directory to tape.



      use LaTeX? want an online reference manager that

      --
      -- john
    2. Re:Liquid file system by matt-fu · · Score: 1

      I hate to be a naysayer about such a cool idea, but none of what you are talking about is a new concept. People have been talking about ideas like this for years, it just (evidently) hasn't been all that feasable or useful.

    3. Re:Liquid file system by Elwood+P+Dowd · · Score: 1

      Um, aren't filesystems all databases? So "filesystem-as-database" is essentially meaningless?

      Anyway, we already have most of what you're talking about. Just use a filesystem with unlimited attributes, like BeFS. Then index and search. I'm not sure what you think is so special about this idea.
      --

      --

      There are no trails. There are no trees out here.
    4. Re:Liquid file system by alvi · · Score: 1
      Damn, you...both of you stole *my* idea! ;)

      ...which you stole from me! ;)

      Seriously, I was thinking along similar lines as well. As you point out, hierarchical file systems have some serious disadvantages.

      You list some examples from a user's point of view, however, on a system (or programmer's) level, the benefits are obvious as well:

      If we think about all these nifty tools like autoconf which do a great deal of work finding the right libraries (with version number) on your system, wouldn't that be the perfect job for a DB? (The current situation with different installation hierarchies is a nightmare.) Same for the dynamic linker which uses whatever matches and comes first in $LD_LIBRARY: There should be a better way.

      Or the $PATH variable in which the shell looks for the given executable. That's not a very elegant solution... using the order of the PATH to determine which program to execute when the filenames clash, that's atrocious.

      Another example are configuration files, startup scripts and the like: While the place of such files follow some conventions, this is not clean enough.

      However, we should not forget that too much centralizing can bite back. Window's registry was conceptually a nice idea, but the real world shows many examples where it was an embarrasing failure.

    5. Re:Liquid file system by brad3378 · · Score: 1

      Sounds like the perfect file system to negate the problems with linux distributions forking their file systems.

      For instance, if a particular program you need to use requires a file in the /foobar/example1/ directory in Redhat, and the /fubar/example2/ directory in SuSE, it might be easier to code.

      --

  75. Consistency by Undaar · · Score: 1

    By creating the whole FS around the DB could make the whole thing a lot more consistent. If you know that the FS will be used for DB only, why not choose file management methods that fit. This would enable you to have records as your basic file unit as a built-in structure. Sounds like a great idea to me.

    --
    ~ "When I'm of that age I'm just going to live up a tree."
  76. Re:Be OS by Rude+Turnip · · Score: 1

    Instead of doing it manually, use RipEnc to rip the CD and fill in all the attributes (and ID3 tags, too), based upon a query to FreeDDB.

  77. This project should help MySQL by Galvatron · · Score: 3
    The licensing issues are, for many people, the MOST important. Just because this won't be very good at first doesn't mean it won't improve, and most likely the more popular this project gets, the more work will get done on MySQL.

    Take the linux kernel. Would the kernel be anywhere near where it is today if people hadn't gotten others interested by writing intriguing, linux-only apps? Probably not. Perhaps one day MySQL will evolve to the point where this will be useful, perhaps due to developers attracted by this project.

    --
    "The question of whether a computer can think is no more interesting than that of whether a submarine can swim" -EWD
    1. Re:This project should help MySQL by Bruce+Perens · · Score: 2
      Well, he's a bit confused but not too far off. The kernel would have been a heck of a lot less interesting if there hadn't already been the GNU system to run on top of it.

      Thanks

      Bruce

    2. Re:This project should help MySQL by mr · · Score: 1

      A kernel in and of itself is rather boring yes.

      But 'GNU system'? Its Unix userspace tools, no matter what Lineo says in press releases....Linux is a unix-like OS. RedHat used many hunks of BSD code....hardly a "GNU system."

      A GNU system is HURD. And, well, few seem modivated to work on a true GNU system. If there WAS interest in HURD, there would be more movement than there has been since 1997.

      --
      If it was said on slashdot, it MUST be true!
  78. Good Idea by Palin · · Score: 1

    Exposing the Table Structure as directories and data as files (or some mix of that) would be really nice. Really Really Nice...

    Esp. If you can use things like find, grep, sed and all on them :-)

    --
    Palin...
  79. Re:Be OS by BoySetsFire · · Score: 1

    while it isn't a true database, it has the most practicle features. yes, new attributes can be added, but it takes a couple command line manipulations, which takes like a minute, then bang!, new, fully searchable attributes.

    --
    "One man's "magic" is another man's engineering."-- Robert A. Heinlein
  80. This might stimulate nerds and developers by rho · · Score: 2

    The everyday user won't exactly go nuts over it, though.

    The site gives the example "imagine marketroids browsing through the directories to directly access columns and entries" (or words to that effect)

    No way. Hey, don't get me wrong, I LIKE that idea, and it gives me a pretty cool idea for a couple of projects that I'm working on, but think carefully about it: any sufficiently useful database for a large company is also sufficiently large that a directory tree is absolutely the slowest and most confusing way to access data held within a database.

    For example, let's look at two examples:

    • input SQL directly: "update employees set salary = '100000' where employee_id = '325'"
    • browse directory tree: "okay, double-click on "Databases", double-click on "Human-Resources", double-click on "Employees", scroll down until you see "325", double click on "325", then double-click on "Salary". Change the number to "100000"

    It's not bad, but it's not as good. Plus, with good programmers (and good communication between programmers and management), the SQL is so abstracted out, it makes no difference. It gets condensed to a list of names and a checkbox next to the names. Those that get "checked" get a raise to $100,000.

    To be truly useful to non-programmers (or non-analytical thinkers, if you will), the MySQL-FS would have to abstract out so much of the Database, you're back to a filesystem and a set of scripts to update a MySQL database.

    It's cool, but it's not for your regular joe. Beyond a couple of levels, the average computer user gets lost in a heirarchal filesystem -- assuming they don't fill it up with "Untitled Folders" and such.

    --
    Potato chips are a by-yourself food.
    1. Re:This might stimulate nerds and developers by rho · · Score: 2

      and POW! You've got the religion!

      Currently, programmers are about as far removed from the computers they work on as a chimpanzee is from a spider monkey. An end user is an armadillo.

      People DON'T think in terms of files and folders -- that's a hold over from filing cabinets where it is the only method to wrangle and organize physical documents. People think in terms of tasks and projects.

      If you're working on a project and you remember something you did 2 years ago that you can re-use (or at least build from), you don't say, "It's in that tape we backed up to in the 'Projects for Harold' folder". You say "Didn't we do something similar for Harold a few years ago? Something to do with sand and apricots, I think"

      You pull up Harold's info, look through the list of projects done for him, and find one described as "Peachs and Beaches" -- bingo, you've found it.

      --
      Potato chips are a by-yourself food.
  81. Exchange does this now by wkearney99 · · Score: 1

    The Exchange 2000 server does this now. Out of the box it support sharing the entire server tree of folders and mailboxes as network mountable drive volumes. You can directly read/write/delete to any of the folders (or items) in the Exchange server. Provided you have permissions, of course.

    This is because NT supports Installable File Systems. The Exchange server links into this and thus allows anything that can access files to see the data. It's based on WebDAV.

  82. whats the point? by Sanity · · Score: 2
    Why does everyone associated with SQL suddenly think that the more things that use that bloated, outdated language, the better? What is the point of this? It is just adding a very thick, slow, and unnescessary layer to something where it is normally essential that it works as quickly as possible.

    --

  83. SQL vs Relations by Bruce+Perens · · Score: 1
    SQL is not the only way to extract a relation. There is room for improvement there. I don't particularly like SQL as a language. That's all I was trying to say.

    Thanks

    Bruce

  84. Re:Other low-level data storage systems out there? by cduffy · · Score: 2

    You can compile your SQL statements at the beginning of your program, so that they aren't reinterpreted later. Thus, unless load time is essentual to you, you may be better off with an existing database.

    Regarding the ReiserFS plugin API, you're probably right. However, you don't necessarily need plugins if your project is simple enough. That is to say, if all you're doing is associating a set of data with a key, you make a file (named by the key) and put the data in. Need multiple keys? Use symlinks.

    If your project is of some size, lightweight file support will likely be done before you are (it certainly will if you throw Reiser some money -- he funds his team that way).

    Really, though, I think SQL is almost certainly your best option. The hashing and cacheing done by most modern databases more than makes up for whatever speed is lost to SQL support -- and once again, that speed loss is a load-time thing only if you write your app correctly.

  85. Turn the unix philosophy on its ear... by Nugget94M · · Score: 2

    Unix: "Everything is a file" Linux: "Everything is a file except for the files, which are records."

  86. AS/400 AS/400 AS/400.... by BulletValentine · · Score: 1

    Go mySQL, go! Having said that, such a filesystem/operating system exists in OS/400, the native operating system for the IBM AS/400 (now known as the i-series e-server400 or some such crap). It's probably the most bad-ass box ever made that's hardly known (user satisfaction and loyalty are so high that IBM doesnt' seem to feel the need to market it much at all). Hundreds of thousands are in use at businesses around the world, wherever reliability, scalability and heavy database work (DB2) are in need (e.g. Las Vegas, hotel chains, reservation systems, financial systems, etc.). It's been around since approximately 1988, with the IBM System34, System36 mainframes its precursor. It's constantly updated to meet the demands of a technologically changing world. It's got one of the fastest implementations of Java around. It can potentially be one of the most secure boxes around. It's even going to be running Linux (and will be able to do so in many, many partitions on a single box). I fondly remember when I went from a 32-bit CISC-model AS/400 to a 64-bit RISC-model, well before any other major systems were offering a 64-bit world -- ALL WITHOUT ANY CHANGES TO THE ORIGINAL SOFTWARE RUNNING ON THE BOX! I know there's other AS/400 users who read Slashdot (I've even talked to a few). We often chuckle about stuff like this. Sometimes we just gotta release.... :-)

  87. Re:More like BeOS's filesystem? by Aunt+Mable · · Score: 1
    No, he responded to teach us about meta filesystems as if that had anything with my point. He did not provide any proof. The closest he got (before he went offtopic to so kindly teach us about meta filesystems in the mp3 example) was to say: "BeOS doesn't have one big clump of data that is partitioned; it has a lot of little bits of data."

    Wow.. i'm convinced. Certainly much evidence be had there!

    Furthermore, he says you can define your own fields in the FS was from an option in a menu (this far too high-level). The fact remains that the filesystem doesn't have defineable fields, though it pretends to.

    What's the difference if it acts like it does and is transparent to the applications? Easy. In simple situations (such as putting an mp3s ID3 in the FS) this has little of a performance hit. But if you were to put 100 meta attributes in the FS and store various sized chunks of data the performance degrades very quickly.

    You just cannot read the meta as fast as the other types - oh gee, and I wonder why?

    I mean it's an interesting hack but that's all it is. Genuinely adding fields to a filesystem would be impressive and as fast as any other FS request and.. well, it's been done. But not by BeOS.

    -- Eat your greens or I'll hit you!

    --

    -- Eat your greens or I'll hit you!

  88. More like Pick (was:More like BeOS's filesystem?) by RoscoHead · · Score: 1

    Or D3 or whatever it's called now...

    --

    Why is there only one Monopolies commission?
  89. Re:People are missing the point. by steelhawk · · Score: 1

    I don't really understand what you mean when you talk about how hard it is to handle BLOB fields...

    Now I have actually never done this with _MySQL_... but I have written a bunch of perl scripts (running on Linux machines) accessing Microsoft SQL Servers (using DBD::Sybase with FreeTDS libraries if you're interested) and it's really easy to insert or select data from BLOB fields (or IMAGE fields or whatever Micros~1 feels like calling them).

    I can't really see why this would be any harder with MySQL (which I also work with, but on other projects, where we currently do not need to store "non-text data", or whatever the contents of a blob field should be called)...


    --

    --
    Ner lbh sebz gur HFN? Gura lbh'ir whfg ivbyngrq gur QZPN!
  90. Re:Other low-level data storage systems out there? by costas · · Score: 2

    Hmm... yes, Reiser maybe a way to go. Some benchmarks are in order. But, alas, SQL-based DBs are still too slow for what I am planning. SQL commands/queries etc. maybe interpreted to some intermiadate language/bytecode, *but* the real slowdown comes from the abstraction layers needed to support SQL queries and the like.

    Again, for a normal application you're absolutely right. But if you want to push/crunch a few GBs around in a coupla minutes, every little slowdown counts :-)... That's why most high-end datamining applications don't use RDBMSs...

  91. Re:Other low-level data storage systems out there? by costas · · Score: 2

    Well, I am glad you're happy, but just about anything implementing a b-tree or skip-list implementation exclusively in RAM will get blazing speeds. The problem of course is, what happens when your application's needs exceed practical RAM sizes (say 7-8GBs these days)?

    I think a well-balanced solution with cache and FS-level access (ReiserFS maybe, in a coupla years from now) will do better. Although, I am really more impressed with SGI's XFS.

  92. To see how this works, check out IBM AS/400 by Loge · · Score: 3

    The AS/400 uses a relational database as a universal data store for all system, application, and user data resources. The database is protected with very fine-grained access privileges and managed with well-defined administrative tools, which dramatically boosts security (since there is only one global security mechanism to manage all system and application resources).

    This approach also simplifies development, which helps to make the AS/400 such a powerful application engine.

  93. Re:Other low-level data storage systems out there? by costas · · Score: 2

    No, not quite that low-level :-)... B/B* tree implementation and the ability to handle well over 2GB of data comfortably (speed wise) is also a must --say around the neighborhood of ~1TB. Multi-user capabilities are also good, and ACID would be cool, but not a must.

  94. Not always. by Pinback · · Score: 1

    It is far from a given, that all big commercial databases run without filesystems.
    The Oracle DBAs here have learned the hard way the value of having something like Veritas filesystem under there databases.
    Even on AIX, the Sybase DBAs prefer to run over LVM.
    Its a different world when databases approach 1TB.

  95. Re:Other low-level data storage systems out there? by cduffy · · Score: 2

    The abstraction layers on *your* end or that of the database? The former don't need to exist (one word: "inline") and the latter have been optimized very, very heavily.

    Not all SQL-based databases are alike. If you have the hardware budget for a {SMP,clustering,mainframe} system, a good RDBMS will take advantage of it -- something which might not be said of solutions optimized to perform well on lower-end hardware.

    So, yes -- do your benchmarks, on hardware comparable to what you'll be using for your actual production system. And don't count SQL-based DBs out yet; I would be entirely unsurprised if the overhead which makes them flexible is more than made up for by the heavy optimizations done elsewhere.

  96. Re:Filesystem interfaces by steelhawk · · Score: 1

    And... as for the thing with "cat 'SELECT blah FROM blahtable' >/mnt/mysql/queries/testquery"... first of all I don't understand your use of the cat command... but whatever...

    Here's what I've been doing now and then for a long time:

    "echo 'SELECT blah FROM blahtable' | mysql blahdatabase -p >/mnt/mysql/queries/testquery"...
    (Isn't that about what your thing is supposed to do?)


    --

    --
    Ner lbh sebz gur HFN? Gura lbh'ir whfg ivbyngrq gur QZPN!
  97. They're "duals" of one another by Christopher+B.+Brown · · Score: 2
    In some senses. But they're not exactly isomorphic.
    • ReiserFS provides a way that you should be able to efficiently build a DB hierarchically as a set of directories and files, where files are the "leaf nodes" that contain field data, and where you might use symbolic links to represent secondary indices.

      It would provide pretty "weak typing" of a sort of TCLish style where "everything is a string, sort-of."

    • In contrast, MySQL provides a way of representing "structured data," with "strongly typed fields." And the filesystem view provides a convenient way of looking at that data.
    In effect the ReiserFS approach is to provide a way of building "weakly-typed" hierarchical databases; MySQLFS provides a way of putting a conveniently-browsable hierarchy on top of a strongly-typed relational database.

    There are probably a lot of useful applications out there that wouldn't care much about the distinctions. That probably parallels the way that a lot of applications out there don't really care that MySQL does not satisfy the ACID properties or offer triggers, foreign keys, or other such things.

    It also might be regarded as parallelling the way that Lisp-like languages have "strongly-typed data" with dynamic typing, which is a bit the way ReiserFS might be used, whilst "MySQLFS" looks a bit more like the "static strong typing" of ML/Haskell. Which is a rather weaker analogy...

    In any case, the distinctions between ReiserFS-as-DB and MySQLFS are fairly strong. MySQLFS looks a lot, by the way, like the NameSpace concept in Casbah.

    --
    If you're not part of the solution, you're part of the precipitate.
  98. easy & dangerous. Like sirens? by Drake42 · · Score: 1

    Ok, ease of use I totally buy. It would be cool to open a file and have it stored in the DB.

    BUT: The dangers seem really really high. What about foreign keys? If I'm just blasting out a byte stream who is checking the constraints and triggers? If I do something illegal, there's no way to let my program know?

    try{
    db.println("foo,bar,bally");
    }
    catch(DBFSInvalidColumnException){}

    ??? How do you do that in C or shell script?

    As for people worried about performance, don't get so excited. Performance is vital when tools are going to be built on top of other tools, but if you're building software specifically for people who are tools (i.e. marketdroids that are unwilling to manipulate a DB directly) then they can pay a cost in performance in exchange for the addded simplicity of interface.

  99. Zope file system by Doc+Hopper · · Score: 3
    One advantage of Zope is easy access to the database via FTP. Although this isn't a true "UNIX file system", it can demonstrate the value of using a DB filesystem -- you FTP files up, and with built-in versioning you can view any number of versions via the Zope interface.
    I believe that is one of the goals of ReiserFS as well -- that database vendors use file systems to store data instead of having to use raw disk partitions, or deal with file system overhead plus database overhead...

    Matt Barnson

  100. it seems people are looking at this the wrong way by bensej · · Score: 1

    I am a relatively ignorant user of linux, I only know what I need to know to do the job at hand. But the way I see it this would seem to be a good way to centralise and standardise configurations. By allowing programs to access their configurations via sql calls and the user to change them through the fs then it allows for easier setups. Not to mention writing third party configuration utilities would be a lot easier it would seem. I may be way off the mark here but I see it as a boon to the administrator if the programmers choose to take advantage of it.

  101. How would this work? by PureFiction · · Score: 2

    Lets see...

    goober:$ cd /mnt/sqldb
    goober:$ ls
    USER_ID FIRST_NAME LAST_NAME TIMESTAMP
    goober:$ mkdir AGE
    goober:$ echo "Oh crap, there goes my schema!"
    "Oh crap, there goes my schema!"
    goober:$ cd USER_ID
    goober:$ ls
    11023 11025 11044 11055 11092
    goober:$ rm 11023
    goober:$ echo "Wow! I hope that wasnt relational!"
    "Wow! I hope that wasnt relational!"
    goober:$ exit

    Seriously, what type of integrity checking will be enforced in this filesystem?

    I am betting that you either have robust integrity, which would give a completely counterintuitive file system, or lax integrity which would open the doors for all sorts of mischevious errors and data corruption.

    1. Re:How would this work? by Sloppy · · Score: 1

      They'll probably just make it a read-only filesystem, planning to get around to writes later. Then, when they start thinking about writes, they'll say, "oh shit" and back off.


      ---
      --
      As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
    2. Re:How would this work? by runswithd6s · · Score: 2

      Open your mind a little further. You're only envisioning the first steps. Certainly being able to transist the database like a filesystem is an extremely powerful interface. Data integrity could be preserved by interacting with the shell the user is in while (s)he is trying to manipulate data. For example:

      goober:$ cd USER_ID
      goober:$ ls
      11023 11025 11044 11055 11092
      goober:$ rm 11023
      Removing USER_ID 11023 will also remove the data for this user in the FIRST_NAME, LAST_NAME, TIMESTAMP, and AGE fields. Do you really want to do this? (Y/n) Yes
      goober:$

      Get the picture? ;-) Essentially, the interface will have to understand how to translate a row into a hierarchical representation. Getting a useful and easy-to-understand interface this way may not be the easiest thing to do. Add the difficulty of resolving foreign key dependencies and such a CLI would get quite confusing. An interesting spin on this would be to bind canned queries to directory names. Still, it has a very limited scope. Complex queries would be difficult to attain through such a CLI.

      --
      assert(expired(knowledge)); /* core dump */
  102. Obligatory goatsex link about "hole power" by Anonymous Coward · · Score: 1
    Well the indexing does have a little to do with it but hole power dosen't account for much and there's no reason why a FS can't implement this. Oracle has a similar project going. Having a DB as a filesystem is just way cool. The speaker from Oracle (at LinuxExpo 2000 Toronto) said that writing files to a dbfs(?) is slower, but retrieval is mich quicker.

    The real strength of something like this would be in a corporate environment, where having a dbfs would simplify file management a great deal.

  103. Re:Other low-level data storage systems out there? by Abcd1234 · · Score: 2

    Umm... Berkeley DB and your favorite C compiler? ;)

  104. Integrity of data in a database filesystem. by lamester · · Score: 2

    This database filesystem might have a real advantage in terms of keeping the database records in a consistent state. Remember that in Unix files have arbitrary data. So a journal filesystem tends to keep the meta-data in a consistent state. They don't do much about the application data written into the files. However if mySQLfs had knowledge of the records being written, presumably it could do a lot of the cool stuff done in main frame OS's to ensure integrity. I don't know the VFS interfaces though, so I'm not sure if this is implementable under the current linux framework.

  105. Not to be confused with MSSQL by acomj · · Score: 1

    SQL is a standart language used to get information from ANY kind of database that supports it.

    It allows you to get information from any database using a standart language. (Although many vendors like to tag on "Special" commands that make life easy if your using THEIR database product...)

    Don't be confused by Microsofts "SQL Server" product which is basically Sybase's database with MS additions. Although even it can use SQL.

    Now if only Oracle would release and ODBC driver for linux......

  106. well, wasn't that just lovely by tewwetruggur · · Score: 2
    I do regret that the post this is attached to happened.

    This is what happens when you discover that your co-worker has been posting crap as cyb0rq_m0nk3y, and then they feel that it would be funny to post their inane rant on my computer while in the restroom.

    Makes us (the tewwetruggur contingency) look by far dumber than normal.

    again, my apologies.

    --
    Hi! This is the Sig, blatantly attached to the end of this comment.
  107. Re:Be OS by BoySetsFire · · Score: 1

    i just got used to doing it by hand, back on Be 4.

    --
    "One man's "magic" is another man's engineering."-- Robert A. Heinlein
  108. Re:A real world use for this by rho · · Score: 2

    I've never been thrilled with the performance of storing LOBs in any kind of DB -- Oracle, PostgreSQL, or MySQL. The plain-old filesystem tends to do it better and faster. I usually store the path to an object in the DB instead.

    That being said, I have used the LOB stoage in Postgres to implement a versioning system for in-house work (and it worked well enough to prove to me that it's do-able, but not well enough to actually use). The concept is sound, but the implementation needs some work.

    However, using a DB's LOB is a helluva lot better than using CVS for binary objects. CVS seems afflicted with unseemly memory bloat when checking in/out large binary objects...

    --
    Potato chips are a by-yourself food.
  109. More like BeOS's filesystem? by Trinition · · Score: 2

    Would this MySQL-based file system be more like BeOS's file system, where files can have arbitrary attributes at the FS level, and you can query based on them?

    1. Re:More like BeOS's filesystem? by Shadowlion · · Score: 1

      Many people view "databases" as the actual method of storing the data as well as the management system.

      I'm not saying NTFS5 isn't a real database. In the view of many, however, NTFS5 is a rudimentary database at best because it doesn't have any sort of decent management system.

      Don't be so defensive!

      --

    2. Re:More like BeOS's filesystem? by Shadowlion · · Score: 5

      No. I believe BeOS just has a meta attribute at the FS level filled with supposed attributes.

      BeOS doesn't have one big clump of data that is partitioned; it has a lot of little bits of data. There is nothing "supposed" about the attributes.

      For instance, an "MP3" datatype might have fields for Artist, Title, Album, Year, and Comments. You could then search for any song with the word "Land," performed by a group with "Men" in their name, on any album between the years 1982-1988, with the phrase "sounds like crap" in the comment field.

      There's no way to actually define a new field at the FS level.

      Sure there is. Preferences->Filetypes allows you to add new attributes to a particular filetype, as well as define new filetypes. It's up to the associated applications to do anything meaningful with the new field or fields, but you can pretty much do what you want.

      On the command line, I don't think you can manipulate a global filetype. However, for individual files, you can add your own attributes, delete existing ones, and so on.

      Early version of BeOS did use a database FS for the entire system but they dropped it by R4 (I think that's the right version) because of performance issues.

      The early versions of BeOS used a separate database (not very complex) and filesystem, which wound up being very difficult to work with, so eventually they merged the two. The "database" aspects of the BeOS filesystem are more of being able to add (relatively) arbitrary data to particular filetypes, and do searching based on those criteria. It isn't a formal database in any sense of the word.


      --

    3. Re:More like BeOS's filesystem? by Shadowlion · · Score: 1

      The fact that it can be indexed so both content AND properties are searchable sounds a lot like a database to me.

      It's a rudimentary database, and not what people mean when they compare it to a "real" database. A real database is a lot more advanced, and offers a lot more features, than just searching.
      --

    4. Re:More like BeOS's filesystem? by Shadowlion · · Score: 1

      I should really learn not to post to Slashdot anymore.

      Instead of productive conversation, you get arrogant, condescending assholes who feel that they must be right at all costs, civility and politeness be damned.

      I'd response, Aunt Mable, but you've already demonstrated that you aren't worth any more of my time.

      --

    5. Re:More like BeOS's filesystem? by Aunt+Mable · · Score: 1
      Forceful argument. Well done old chap!

      -- Eat your greens or I'll hit you!

      --

      -- Eat your greens or I'll hit you!

    6. Re:More like BeOS's filesystem? by Suppafly · · Score: 1

      yeh but mysql as a filesystem hardly predates beos' filesystem. if mysql as a filesystem was around before beos i hardly doubt it would be slashdot news now. do your homework before you start thread crapping

    7. Re:More like BeOS's filesystem? by Drone-X · · Score: 2
      Would this MySQL-based file system be more like BeOS's file system, where files can have arbitrary attributes at the FS level, and you can query based on them?

      No, the MySQL filesystem will only provide the means to access regular databases as if they were filesystems.

      I imagine that in the root of the mount point there will be a directory tables/ with a list of tables in it. This is not like the BeOS's filesystem that stores files in a table.

      Nontheless (sp.) this is pretty cool, if a stable version of this thing is released (which is probably not for the near feauture) I imagine using this to make backups to a CVS server (like the article suggested).

  110. What about metadata by Bruce+Perens · · Score: 2
    I suppose that file-associated metadata, or simply a file containing metadata, could take care of typing.

    Thanks

    Bruce

  111. Registry ? by Mar_Garina · · Score: 1

    I was really happy to hear that, that's a very nice idea. But now I read here some comment which made me think that maybe some programs will start to save their configuration on this file system , just like windoze damned registry.

    I really hope it won't happen, text file configuration files is da best imo.

    For "real" db proposess it can be just great.

  112. That's the dumbest thing I've heard all day! by svinto · · Score: 1

    MySQL is basically an sql-interface to a flat file. A filesystem on top of a flat file? Gimme a break...

  113. Is MySQL ready for that? by Trinition · · Score: 5

    No offense to MySQL, but is it ready for such a task? Last I heard, MySQL didn't have record-level-locking except in some experimental forks. Are there any features lacking from MySQL that might make another database more appropriate (ignoring for the moment the license of them).

    1. Re:Is MySQL ready for that? by steelhawk · · Score: 1

      I just don't understand what you mean when you talk about the license problem with MySQL?...

      I thought open source geeks liked the GPL?

      People are always ranting about cool software not being GPLed... now MySQL is, but people still complain about the license...?!

      (http://www.mysql.com/information/index.html if you want to verify that MySQL really is released under the GPL)
      --

      --
      Ner lbh sebz gur HFN? Gura lbh'ir whfg ivbyngrq gur QZPN!
    2. Re:Is MySQL ready for that? by scotteparte · · Score: 1
      There was a recent /. article on this: MySQL is implementing record-level locks on the next release, slated for spring '01. Still, I have to agree with the other people here - MySQL sucks ass, and the only reason to do this is the /. coolness factor.

      Seriously, I understand their "FK's would make us slow" bit, but come on - subqueries are pretty nice to have.

    3. Re:Is MySQL ready for that? by Sandburd · · Score: 1

      >In my opinion they have some better things to do than this (although it might be usefull).

      I agree, and do they already fixed the problems with db's getting corrupt ? I don't want such a thing hapening to my filesystem.

      On the other you could also consider if this is something we really want. Cause a dbms is for, as far as i understood, managing large amounts of data. You could see a file as a large amount of data but my guess you going to use a system for something it wasn't designed for. Maybe could be handy for people that want to look in the db but don't want to type whole SQL-queries, but for anything else, in my opnion, it isn't useful.

  114. oracle & ms are going in the same direction. by Thalinor · · Score: 1

    see IFS for an overview of oracles IFS.

    or look at MS Vaporware Presentation to learn about ms plans in this area (powerpoint presentation unfortunately..)

    the idea has definitely merit, and as others have pointed out, the possibilities are quite intriguing..

  115. *holds up sign* by Enahs · · Score: 2

    "Please do not feed the trolls."

    Hell, I will anyway. WTF are you talking about??? GTK *flickers*? Since when? I used to have GTK apps on an old 40MHz 486 (and it was a DLC machine at that...a Cyrix 486 that plugged into a 386 mobo) and I didn't see said flickers *unless the app was poorly written, was doing animation, and didn't double-buffer.*

    Bah, Troll Tech wrote somewhere? The PR department wrote an official release that said something along the lines of "we did not emulate the slow and flickery refresh of GTK(or was it gnome?)" Bullshit. Show me the link. Why would Troll Tech have a position on GNOME, anyway? They don't compete with GNOME in any way. They write a toolkit. I've seen some poorly-written QT programs that display flicker like all hell, and I've seen some GTK apps with decent animation. I've also seen well-written QT apps that display no flickering, and bad GTK apps that do. It depends on the app, I suppose.

    --
    Stating on Slashdot that I like cheese since 1997.
  116. One step further by Travis+Fisher · · Score: 2
    Think of the file system as a database, yes, but think of the files not as records but as objects in the sense of object-oriented programming. A file is an instance of a particular class of object [*]. Associated with that class are various methods (e.g. associated with an HTML file are methods to view this with netscape, or edit it in my favorite raw text editor, or edit it with my favorite HTML composer, etc.; associated to an executable file is the execution of it.). There is a hierarchy of classes with inheritance (the class of HTML files is a subclass of PLAINTEXT files).

    [*] really the class has other data structures besides the actual file data: e.g. file name, a field for comments about the file, etc., which may vary from class to class

    There are also a variety of classes which serve as containers. The most obvious are what traditionally are directories or desktops. Another container class is "query", which has typical database search methods associated. These can be saved, copied, etc.

    Imagine this: your command line should not be associated with a particular directory location, but rather a particular query. On the command line you most frequently use "cq" ("change query"), "rq" ("restrict query"), and "eq" ("expand query"). So to view the penguin image I know lurks somewhere on my drive, the sequence would be something like

    % cq type=image
    5037 files selected
    % rq *pengiun*
    2 files selected
    % ls
    pengiun_57.jpg
    pengiun.gif
    % ./penguin.gif
    No default action for type "gif"; performing default action for type "image": opening penguin.gif with gimp...

    (And, of course, there are obvious database sorts of features that any sensible graphical file explorer should have...)

    To summarize:
    (1) YES!!! Regardless of how exactly the system implements it, the filesystem should be interfaced as a database.
    (2) Furthermore, don't view files just as RECORDS -- view them as active OBJECTS that are instances within a hierarchical class structure.

    Finally, I think a lot of this can be done just with user interface, without having it explicitly in the filesystem. In fact, things have definately been moving this direction, at least for graphical file explorers. Has anyone added this sort of thing to a command shell?

  117. Au Contraire by Christopher+B.+Brown · · Score: 2
    The fact that MySQL doesn't have all those funky "relational features" like foreign keys, triggers, rules, and stored procedures means that this sort of "view" is just about perfect.

    All those complications that MySQL eschews are the sorts of things that would muss up the idea of viewing "database as FS hierarchy."

    And as for the "locking" and "transactional" issues, the point is not terribly different. Filesystems generally don't provide ACID properties; neither does MySQL; that fits together well.

    Mind you, it's quite possible that there's a much bigger controversy concerning stability; based on the MySQLFS web page, it appears that they're passing a CORBA IOR into the kernel. What can that possibly mean other than that they're assuming the presence of the "kORBit" implementation in the kernel? The flaming that surrounded "Why don't we try putting an ORB in the Linux kernel?" was much more vigorous than any flaming about MySQL lacking some ACID features! :-).

    --
    If you're not part of the solution, you're part of the precipitate.
  118. Speed? by [egal] · · Score: 1

    I always thought a DB's indexing technique is the hole power of it. Mounting a DB as a fs just don't seem useful (in a speed concerning way) to me.
    --

    --
    42 cows on a 42km road on their way to 42.org :-)
  119. /proc for SQL by PatJensen · · Score: 1

    This posting is a bit incorrect. On the web site, if you examine further this software will allow you to mount the database and get performance information (like /proc). Not use a database as a filesystem. This is probably useful if you were writing software to analyze database performance or to get statistics.

  120. Re:Other low-level data storage systems out there? by cduffy · · Score: 2

    First off, if you want something with serious DB features but without using SQL, you'd do well to just write a wrapper which adds/looks up entries in an SQL database but can be accessed without SQL. I don't know of anything like this existing right now simply because people who want serious database features (or who are writing a serious database) use SQL.

    Well, almost.

    You can also use ReiserFS -- particularly in a little while, after it impliments lightweight files (thus reducing the amount of overhead for eath record). Yup, ReiserFS has low-level support for relational storage, and lots of Other Cool Stuff. I understand that Squid has accelerated support for it; I've also seen a system for indexing newsgroup articles that uses Reiserfs as its backend. Roughly put, this is possible because of reiserfs's blazing speed when working with small files; it also has a plugin API (in-progress?) and Assorted Other Good Stuff.

  121. Be OS by BoySetsFire · · Score: 2

    the Be OS has had a database-like, journaling filesystem since it's very first release. it's the best of both a database, and a file system. I don't know what i would do without it. it makes sorting my thousands upon thousands of mp3s a snap. Add a CD the the collection, fill in the attributes for genre, album, year of release, and so on, and I have a fuly searchable collection.

    --
    "One man's "magic" is another man's engineering."-- Robert A. Heinlein
  122. Hmm..corbafs? by AndroSyn · · Score: 1

    I assume that since this is using a corba interface one could just as easily mount a postgresql database or anything else that is exportable via corba.

    Somehow this all reminds me of how Plan9 does things, where *everything* is a file, that includes TCP connections etc, etc...

    Now what would be more useful is using corba as a replacement for NFS and SUN RPC. Now that might be of interest...

  123. Re:Just because you can ... by MarkCC · · Score: 2


    Well, but maybe you should.

    Sure - a DB accessed as a filesystem doesn't present the full power of the DB through the filesystem API. And sure, a DB filesystem doesn't necessarily have the same performance characteristics as a standard filesystem.

    But there are some very significant applications where a DB presented as a filesystem makes brilliant sense. Here's two simple ones off the top of my head.

    Configuration management. Systems like CVS go to great trouble to get transactional behavior, so that you can't lose code if the program crashes in the middle of an update. If you're using a DBFS, you've got transactionality and rollback for free.

    Micro-applications. There are a lot of simple applications which really need transactionality/rollback facilities, but which can't (either for portability or for size reasons) make use of a complete transactional database facility. Write it to access files, and let the database take care of transactions.

    I don't have anything to do with this project, but I think it's a great idea, because I'm doing almost the same thing with DB2. (Why DB2? Because I work for IBM Research..) I'm building an SCM system, and I don't want the higher layers of my system to need to understand the database or the particular table layout that I'm using. So they access it as a filesystem; downbelow, it's a rock-solid database.

    Of course, all of the above assumes transactionality - which is not yet fully supported by MySQL. So I'd be a little paranoid before using this, to make certain that they're using the transactional tables!

    -Mark

  124. A real world use for this by sphix42 · · Score: 2

    Many people like to store binaries in the mysql databases, such as images. This would really help improve their ability to code this.

    As PHP is used in conjunction with MySQL a lot, the functions like move_uploaded_file could be used to store blobs in the database rather than an insert into a blob field making your code much easier to read, but, of course, making the server setup a lot more complicated.

    Without row level locking, however, you will face bottlenecks if you try to do anything besides a mostly read-only file system.

  125. 0.o Someone is bugging my car by IRNI · · Score: 1

    On the way home yesterday I commented to my friend we should use PHP and MySQL and maybe a TK interface for drag and drop to develop an encrypted filesystem.. for storage only. So that it was password protected and such. You could put files into it and store them in BLOBS. You get the point. Anyway it is really funny to look here today and see something very similar. They're coming to take me away haha!

    IRNI
    IRNI
    SexCow Airlines

  126. Other low-level data storage systems out there? by costas · · Score: 2

    Let me go OT for just a second here: does anybody out there know of any open-source systems out there that can do large-scale data storage *without* SQL? I am thinking of a simple C/C++ API that you can use to retrieve and write data from/to tables/fields, nothing much fancier than that. So far, my best be seems to be ColdStore. Any other pointers?

  127. Re:easy & dangerous. Like sirens? by Pinball+Wizard · · Score: 2
    I have long wanted a database to be integral to the OS. However the way I have thought of it would be instead of using the filesystem, you would have a table. The record names would be something like "FileName", "Owner", "LastModified", "Text", etc.

    This would be great for text based files and spreadsheets. The possibilities for searching and updating your files would be greatly enhanced by having them maintained by a database.

    I don't think a database would be appropriate for graphics or music files(other than storing pointers to those files, but certainly any text based file would be ideal.

    Given my thoughts on how a database enabled filesystem would work, I don't think very many joins or triggers would be necessary. Most things could be handled by single tables.

    Besides, there is the matter that mySQL doesn't support foreign keys or triggers anyway, and last I checked those features weren't on the to do list. :)

    --

    No, Thursday's out. How about never - is never good for you?

  128. Re:Please explain by (void*) · · Score: 2

    Not just that, but for a robust DB, the commit and rollback operations are atomic. It either happens or it doesn't. No half-way measures. So if your disk crashes during a commit operation, you are guaranteed that either the operation went through or not. No mangling of the data.

  129. What I would like to by jjr · · Score: 1

    Is where MySQL will use the raw hard drive/partition instead of one with a file system on it

  130. Just because you can ... by Anonymous Coward · · Score: 1
    Doesn't mean you should!

    I mean, it's an interesting idea, but if you need an FS, use an FS, and if you need a DB, use a DB. Mixing and matching, so you're accessing your DB with code that expects an FS, is a recipe for disaster. Especially when you're using a database like MySQL without commit or rollback (which database experts wouldn't even call a database, but there you go).

    Still, reminds me somewhat of the DOOM FS I wrote many years ago (for another OS entirely) which accessed the WAD file using standard OS calls. That was cool ;)

  131. Re:brb... by lorian69 · · Score: 1

    Eeeew, it wasn't really THAT exciting...

  132. PostgreSQL filesystem by Ray+Dassen · · Score: 2
    There used to be a PostgreSQL filesystem (see this Linux Journal article).

    Can someone compare this to the MySQL filesystem, or perhaps point me to a place where pgfs can still be downloaded?

    1. Re:PostgreSQL filesystem by mikehoskins · · Score: 1

      It SHOULD be at http://ww.wv.com/ but I cannot get to that site. I want to know the same thing.

  133. Database Driven Filesystem.... Finally! by wdebruij · · Score: 1

    I've been writing about something like this since about 9 months ago and like to give a big thumbs up to the MySQL team! Go to http://atoms.htmlplanet.com for finding out why using a database as filesystem could be the next hype in ITword!!

  134. Database independance by Carl+Drougge · · Score: 2

    While this doesn't really seem very useful to me (SQL is after all good at what it does..), it seems silly to make it for just one database. It's easier to use common APIs (ODBC?), or at least something custommade but generic, and try to keep the SQL generic too (nothing fancy is needed for this sort of thing anyway) from the start. It's soo much harder to change after the fact. (Not that they said anything about this, but I assume that means it's as MySQL-specific as it can be..)

  135. Wow by re-Verse · · Score: 1

    This is fantastic. I suppose it makes the previous article, on Msql, even Less important (not to take anything away from the minisql people).

    The real highlights from the artice are these:
    -Currently any new product which needs access to some data over network supports some protocols and possibily some way to access filesystems over the net. Data in MySQL table can be accessed in such systems even when MySQL is not ported to named platform.
    -Backup and version control - ordinary filesystems can be backed up using any backup software. This data can be compared using diff and revision controled with cvs.
    -Much shorter programming. People use database sometime for holding very simple data like current date or site name. This is single record, single column table which changes rarely.


    Most people that have had to use mySql from time to time, can see instantly where one or all of these features come in to play instantly. I'm excited.

  136. Re:Filesystem interfaces by pergamon · · Score: 1

    well, yeah.

    s/cat/echo/ in my comment.

    no, what i was saying was that you would "create a file" on the filesystem called "textquery". the SQL filesystem would then replace that with a directory of files representing records. or something. there are lots of different ways to do the details...

  137. Been done before? by Jacco+de+Leeuw · · Score: 1
    I'm quite sure I've seen this before.
    Perhaps it's on the list of free available databases?

    Jacco
    ---
    # cd /var/log

    --
    -------
    Warning: Slashdot may contain traces of nuts.
  138. Re:People are missing the point. by steelhawk · · Score: 1

    Ehm?

    Well.. it should always be possible to do it using the same SQL command... (in some cases some manual fiddleing with the data may be required though)

    INSERT INTO sometable (blobfield) VALUES(<sumfin>)

    Where <sumfin> is somewhat database dependant, but usually the interfaces takes care of whatever difference may be...

    So... if your point is to be valid you should be against accessing ANY kind of database field using one of these interfaces... not?
    ('Cus accessing BLOB fields is really no more different from interface to interface than accessing any other kind of field!)


    --

    --
    Ner lbh sebz gur HFN? Gura lbh'ir whfg ivbyngrq gur QZPN!
  139. Re:People are missing the point. by steelhawk · · Score: 1

    I have stored and retrieved data from BLOB fields... so I know that you can just "INSERT INTO sometable (blobfield) VALUES()" to insert data into a BLOB... ( can be somewhat different depending on database and interface, but this is always the (imho easiest) way to handle blob data...)

    With this in mind it should be very easy to write a script that'll retrieve images from a database using just a SELECT... (db would be like "id (counter / primary key),imagedata (blob),mimetype (varchar(x)" and the script could be accessed as sumfin like getimage.pl?id=56, just making sure the correct mimetype is sent and then pumping out the image data...)...

    I still don't see what is SO hard about BLOBs... they're really just as easy to handle as any other kind of field...
    (please take a look at my other, fairly similar, comment at: /comments.pl?sid=01/01/16/1855253&cid=278 too)

    --

    --
    Ner lbh sebz gur HFN? Gura lbh'ir whfg ivbyngrq gur QZPN!
  140. Did you read the article? by flimflam · · Score: 1

    I'm probably being trolled here, but I must ask you, did you even read the article? They're not talking about replacing the file system with a database, or eliminating SQL access to the database. The idea actually is kind of interesting to me (it remains to be seen exactly how practical it is in real life). One of the cool things is that it would provide access to data to applications that only know the file system.

    Honestly, I don't really know what you're complaining about.

    --
    -- It only takes 20 minutes for a liberal to become a conservative thanks to our new outpatient surgical procedure!
  141. Re:People are missing the point. by kaisyain · · Score: 2

    If a filesystem is a database is a filesystem and getting BLOBs out of a database is so hard, why don't you just store the pathname in the database and the image in the filesystem? I'm having a hard time envisioning storing images in a database as being "often necessary". But what do I know? :-)

  142. file systems will make way for object systems by droleary · · Score: 1

    I think its wrong to treat this direction of information storage as having anything to do with a file system. I prefer to call it an object system, as that paves the way for management of things other than files. I'm working on implementing something along these lines myself called a Meta Object Manager (MOM).

    It takes a different view than you're saying (although it's very much in line with what you're thinking) by simply, for file objects, assigning them methods and attributes which can be used to organize them. It does this at the object level, not with categories or classes or any other hierarchical restrictions. To reference an object, you specify the attributes necessary to bring it in focus (an object system "change focus" as opposed to a file system "change directory").

    The command line implementation (working on the GUI now) has come pretty far, and you can access the same object with /etc/wtanksle/ppp.conf and /wtanksle/etc/ppp.conf or even just ppp.conf, if that focus resolves to one object. In the future, getting a list of all configuration files on your system could as simple as "cf conf; ls". Once the abstraction of a file system to an object system is made, though, I don't see any going back.

  143. Filesystem interfaces by pergamon · · Score: 2

    You can give just about anything a filesystem interface, its just a matter of how good the implementation is and how useful it is.

    There have already been even FTP and HTTP filesystems for several operating systems if memory serves, and I know there have been a couple other odd ones for BeOS. I nearly did a database FS for Be a few years ago myself.

    Speaking of which, this would be much easier to implement (filesystems are simple to write) and more useful IMHO (because there are already standard APIs to query filesystems and support any number of attributes for files at the OS-Filesystem level) to do for BeOS.

    I'm sure it can be done for linux too, but I have doubts as to the usefulness of it under any OS, much less one where you don't have the luxury of being able to utilize existing attribute support.

    It might give some shortcuts for reading, but writing will likely be very complicated. I don't see a good way to do anything along the lines of joins either. The idea of using "." files/directories will help provide some of that I suppose. Permissions will also be a problem, though I guess you could just go by login name.

    A good reason to have filesystem interfaces to complex resources (like FTP, HTTP, databases, etc) is that it is easy to access things on a filesystem from within just about every programming language on every platform. However, by forcing the normal interfaces to those resources down into what can be done to a filesystem some things also become very complicated. To do those more complicated things will either mean complicated interfaces or programs that give the filesystem information through some other means (ioctl?) or perhaps writing commands to a file within that filesystem ("cat 'SELECT blah FROM blahtable' > /mnt/mysql/queries/testquery" and then looking in /mnt/mysql/queries/testquery/ for the result set, for example).

    In short, I'm sure it'll be very fun to implement and be an interesting toy which may even have some uses...

  144. People are missing the point. by mikehoskins · · Score: 4
    Did you ever hear about BLOBs? Imagine being able to load and unload BLOBs (Binary Large OBjects) in a database in an easier fashion, or, at least, in two different ways.

    Imagine a dynamic web site that uses this! You could simply copy files (especially graphics files) to/from a table easily and look them up via SQL queries! My goodness, the usefulness is extreme, people.

    Have any of you (fs!=db) nay-sayers ever tried to store/retrieve GIFs and JPEGs in a relational database for a web site -- an often daunting, but often necessary task? There are whole article on my to store/retrieve pics as BLOBs via MySQL/PHP on PHPBuilder.com: http://www.phpbuilder.com/columns/florian19991014. php3 and (sorta) http://www.phpbuilder.com/columns/bealers20000904. php3

    So, for those of you who can't get over this idea, try doing sites that store images in databases sometime. An idea like this (one being done by the big RDBMs -- and I work for one of those) is a BOON for websites. It also has many other applications.

    A layer of abstraction is often a good thing for filesystems, and it's where things are headed. IMHO, I think db's could provide BETTER security and make things more distributed, rather than current filesystems. Imagine whole new networked filesystems that are distributed databases. Open your mind. Think about it hard before brushing it aside.

    Besides a db is an fs is a db. It depends on how you look at it, your definition, etc. Is a filesystem relational? Does a db use local storage, often RAW storage. The true computer definition of the two is not all that different. And, SQL is not the only query language out there. Haven't you heard of CLI, which uses commands like cat, ls, echo, rm, mv to handle data? What about those relationships called directories?

    I say, what's the real issue? Raw speed? Oh, wah! Grow up and join the enterprise! Oops, I guess the AS/400 must not be a viable platform; they've been doing this HOW LONG?!?!?

    Q: When are we Linux/Open Source people going to get enterprise-level file and storage management?A: When we get to the point that we implement at least a JFS (if not a full-fledged logged filesystem, good logical volume management, real uninterruptible power, truly fault-tolerant hardware/software clustering, better security, and fully distributed storage management that backups and versions data automagically.

    On a lighter note, MySQL now implements a filesystem. :-)

    1. Re:People are missing the point. by drudd · · Score: 1

      Correct, I didn't mean to imply that this only benefits accessing BLOB fields, but I would note that accessing integers and strings is far more common, and is usually better supported in database libraries.

      Doug

      --
      Venn ist das nurnstuck git und Slotermeyer? Ya! Beigerhund das oder die Flipperwaldt gersput!
  145. Oracle is already doing this by debaere · · Score: 1

    Oracle has a similar project going. Having a DB as a filesystem is just way cool. The speaker from Oracle (at LinuxExpo 2000 Toronto) said that writing files to a dbfs(?) is slower, but retrieval is mich quicker.

    The real strength of something like this would be in a corporate environment, where having a dbfs would simplify file management a great deal.

    my 2c


    DOS is dead, and no one cares...

    --

    DOS is dead, and no one cares...
    If there's a Bourne Shell, I'll see you there