HN2new | past | comments | ask | show | jobs | submitlogin

But humans generally like to organise things hierarchically and I would think database are not well suited for this purpose.

That is, unless there exists some kind of tree structured database that I don't know about ...

Many years ago Microsoft tried to implement some kind of database oriented file system (it was a big dream of Bill Gates IIRC and probably meant for Longhorn), but this project never became part of an official Windows release AFAIK. It'd be interesting to know why Microsoft abandoned this initiative.



> It'd be interesting to know why Microsoft abandoned this initiative.

There were technical issues. They simply never managed to get the system performant enough to be use as a FS replacement. There also were tons of issues with the concept itself, like proper tooling for visualising the stored objects to the user and a compatibility layer for legacy software.

It seems as if parts of it was merged into MS SQL server products [0].

[0] https://docs.microsoft.com/en-us/archive/blogs/winfs/


Yeah, it was based on Jet, so if I had to guess they're probably just talking about including some perf improvements in the core database engine that they made profiling the WinFS use case.


> That is, unless there exists some kind of tree structured database that I don't know about ...

Believe it or not, hierarchical databases were actually quite popular once upon a time, mostly in IBM mainframe land as I understand it. Today the Windows registry is a hierarchical database in common use.


And Codd's invention of RDBMS killed those very successfully... until we reinvented them , first with XML, second with NoSQL, and rediscovered, again, why the relational databases were such a huge success and adopted with such enthusiasm.


Rather more common that the Windows registry: any kind of filesystem.


> humans generally like to organise things hierarchically

People like doing that until they have sufficiently essential complexity that it breaks down, then they hate it with passion.


This is why, when people start asking for categories or hierarchies, you implement it as tags without telling them, if it's at all possible to do so.

Then when they decide they actually need tags, you either get to be a hero, or to goof off for a couple weeks, depending on your situation :-)

Nesting works the same way. "OK we said we needed N levels but actually we need arbitrary levels of nesting, and also we don't realize it but what we're asking for can introduce cycles to the structure". Every. Damn. Time.


Fully agreed!

It's a tyranny of hierarchical data-structures and ontologies. Always breaks down. Use relational models, graphs, tags, sets, uuids/global identifiers etc. Trees are an optimization strategy/snapshot and almost never a model for the real world.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: