On 6/21/2011 11:38 AM, Max OrHai wrote:
There are certainly practical differences between "conventional" relational databases and hierarchical filesystems, without having to get into implementation details. I'm sure at least a few people on this list are familiar with the BeOS filesystem, which acted much more like a relational DBMS than most filesystems do... over a decade later, we've now got hacked-on DBMS-like functionality in the form of (e.g.) Spotlight, but most users are stuck with the little walled-off databases presented by their media library and email application software. Once again, it's not a technical issue so much as a matter of perspective.

http://www.theregister.co.uk/2002/03/29/windows_on_a_database_sliced/



granted, I wasn't thinking strictly RDBs (Relational Databases), but was including several other types of database as well. RDBs can be considered a subset of databases as a whole, which include potentially other ways of representing data. granted, yes, many people hear "database" and assume it is an RDB in question...


not read whole article yes, but was looking at it some.
may read the rest later...


possible, relatively simple: table-files...
in this way, the file is simply a table, rather than the whole database, and may be accessed independently of some overarching DBMS.

then, one puts a few tables in a directory, and maybe has some command-line driven database tools, allowing them to dispense with SQL, and doing SQL-like operations directly from the shell...
"dbselect --cols=foo,bar,baz --from=tableA,tableB --where=..."
with the ability potentially to redirect query output to another file, ...

then, one can do SQL-like stuff directly from shell scripts or similar.


maybe also partly useful would also be a database API which allows lower-level access to the database, namely the ability to work more directly with the tables (get/set rows, ...), and potentially implement ones' own query mechanics if so desired, rather than the usual thing of feeding in globs of SQL and processing the results post-hoc (the whole sort of "one row at a time force-fed into ones' app" interface).

if everything is done well, it could reduce the awkwardness of trying to use RDBs from programs.


if I wanted, I could add tables to my HDB system, effectively resurrecting an idea of mine from long ago (the years known as high-school): a Heirarchical-Relational Database.

basically, the notion being that it is a little silly at present that one can either have a hierarchy or tables but not both. in this system, it would have been a hierarchy of tables.

if done well though, either putting tables into files, or dropping tables into an HDB, could achieve a similar effect (a table would be sort of like a normal key/value node, except that each value is array-like). the other possibility is an array of nodes.


array-of-structs-with-annotations is possibly a reasonable tradeoff.
another past considered idea was the idea of using type-driven schema-optimization for nodes (in general), where in my HDB the node-type (held in the default/"_" key) is used, well, as a node type.

in the case of table rows, the node-type could indicate the table header, allowing rows to be compacted into structs.

note that at present no such optimizations are done in-general, as nodes are generally simply key/value pairs...


or such...


_______________________________________________
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc

Reply via email to