"To OR or AND, that's the question."
Some very smart chaps have their say on the matter:
Valdis says: "It is an AND situation... hierarchy AND network"
Craig says: "In other words we need hierarchical structures AND network structures to move forward."
Doc suggests diplomatically and with my favourite metaphor of the month (!): "That makes it a tree of a very short sort, perhaps the height of moss."
I'll read that as a cautious support for the OR camp :)
Now, in contrast to pure tree-structured organising systems like file systems, data bases, etc. - a (organisational) hierarchy has two tasks:
- Organise data (resources, transaction data, information, objects etc.) so they are easily found when needed.
- Structure and direct the process flows.
Keep those task apart and I think the discussion will be easier.
Obviously, anataxonomy and our little practical example (pls use Firefox/Safari) will only be able to handle the data organising. But I would notch up an OR for this "half" of the hierarchy purpose.
Structuring the process flow is a different story as no real practical alternative for this task exist.
So it would be an AND today, hierarchy AND network structures (or whatever) supporting the views of Craig and Valdis.
But find an alternative method to organise the process flow, then the hierarchy could be superfluous. And OR being the choice.
Funny thing, this is precisely what we're working on, the (main) Thingamy system should be able to deliver the process flow structure. With the anataxonomy method for data organising built in, then both task should be covered by one system (but with two methods).
Then I may be able to say hierarchy OR something else!
More interesting experiments to come, watch this space for such (but after a few weeks of summer slowness I'm afraid :)
The assertion that databases are hierarchical belies that fact that the relational model is entirely set based, designed and moreover optimized for set operations such as union, intersection and ever more sophisticated set membership criteria. I would go so far as to say relational databases are the optimal tagging platform.
Including databases in your hierarchical straw man list costs you more credibility than you might imagine.
Posted by: Mark | July 25, 2005 at 23:17
Mark,
*puzzled* - only thing I can see is that I asserted that data bases are tree-structure based organising systems, in contrast to hierarchies who have ranking - and in particular to organisational hierarchies who also organise process flows by using "command modules" (hence the need for ranking I suppose).
Hierarchies thus have more tasks (and traits) than the single data-organising task of a database.
In other words, I would therefore heartily agree with you that a database is not a hierarchy!
But if I have asserted that, please help me out and tell me where, so I can rectify that immediately!
And I do agree with your take on relational databases for the current tag "status", but we do have some ideas for a future take, and that's when we're hitting the wall with the relational databases. So bear with us as we try some alternatives...
Ouch, and my credibility taking a hit beyond my imagination... welll... that was harsh, Mark... :)
Posted by: sig | July 26, 2005 at 10:09
I’m sorry for the imprecision. I was referring to this passage:
"Now, in contrast to pure tree-structured organizing systems like file systems, data bases, etc...."
With respect to relational databases this simply isn't accurate.
I want to see your tagging idea succeed. Innovation is important and I find some of what you are talking about and demonstrating to be interesting. But using relational databases as a whipping boy demonstrates either a lack of understanding the relational model or a death wish somewhere along the road less traveled.
Posted by: Mark | July 26, 2005 at 15:23
Mark,
must be my impresicion now (and I who advocate imprecision...hmm):
I actually referred to exactly the same sentence where I suggest that: Databases (Note: "relational" was not mentioned, nor did I mean it secretly in any fashion) are tree-structures, but most important, they organise data only in contrast to hierarchies which have to organise processes as well.
In my simple mind, from "Now, in contrast to pure tree-structured organising systems like file systems, data bases, etc. - a (organisational) hierarchy has two tasks." follows that I asserted that databases (any type!) are _not_ hierarchies! Therefore we do agree on that.
I am still left puzzled, where can you glean that I'm against relational databases as such in any form? And using them as whipping boy, and for what? Point me to it if I'm wrong here!
Just to make it abundantly clear: "I have nothing against relational databases at all, nor do I blame such for any misdeeds whatsoever" :)
What I have said is that relational databases does not suit our approach very well, as would many programmers who works in an object oriented programming environment... there is after all a reason why OODBs exists, or what?
Posted by: sig | July 26, 2005 at 15:58
"Losing credibility"? "Whipping post"?
Jeeze, Mark, I hope you're not one of these:
http://www.gapingvoid.com/Moveable_Type/archives/001172.html
;-)
Posted by: hugh macleod | July 26, 2005 at 16:09
Heh. I just want to help. Don't tar an feather me yet.
It just feels to me like you are maligning databases to rationalize your idea. But I take you at your word that this is not the case.
On OODBs, I would say that Codd and others have demonstrated abundantly that RDMSs are essentially equivalent to OODBMs. The advantage of RDMSs at this point is 30 years more experience and orders of magnitude more investment in performance optimization. And with Oracle putting a Java rutime into their DB and Microsoft putting a .NET runtime into their DB, the OO/relational difference is even more imperceptible.
My free advice is that if you are not using a relational database you are wasting precious resources that could be better spent elsewhere. Postgres and MSDE are two "free" databases that I can recommend. It is my understanding that Oracle offers a "free" database for dev purposes as well.
Posted by: Mark | July 26, 2005 at 16:19
Appologies. I f'd up the cut paste when typepad sign in timed out.
Posted by: Mark | July 26, 2005 at 16:22
Mark,
now we're getting somewhere! And yes, I do appreciate your input! Always!
Reality is that we were not very happy with any OODBs out there, and Postgres or MySql are excellent DBs.
Tagwork, being an off-system (Thingamy that is) experiment uses MySql - although a layer of "MySql-pretending-to-be-an-OODB" was built in. Not my decision that :)
But for the main system we went even further - (please do not repeat the "death wish" now ;) - our choice had to be an OODB.
Worse, we decided the available OODBs were not good enough so we built our own.
But with that not only did we get something that is completely aligned with a rather different approach in the system itself, we were able to shave off some substantial overhead. And had a few other interesting pay-offs too.
Only time will tell if that was smart or not, it is looking good so far... :)
p.s. Will fix the doubles!
Posted by: sig | July 26, 2005 at 16:50
Mark, was the "fix" of the double entry OK?
And yes, Typepad is truly sloooow today!
Posted by: sig | July 26, 2005 at 16:54