spiroyster wrote:
As you say, using a filesystem as a grouping mechanism allows you to structure you data in a tree like hierarchy. However, this means you need to know your data model in advance, and has it's own inherent problems, such as forcing a more relational like tree hierarchy/structure. Fine, until you require another grouping mechanism which does not fit the tree hierarchy representation, this as you say, can be solved with tags (tags on the nodes/data), but the fundamental data is ultimately structured/ordered in tree-like, so is limited with what the tags can do apart from them basically being metadata attached to a bit of data and have no hierarchy themselves (all at root level).
Have you ever worked with a CMDB? I hope you never ever ever have to deal with it.
https://en.wikipedia.org/wiki/Configuration_management_database
At work, we've moved from a custom-made Oracle DB to a proprietary DB by a German company built on top of Oracle (and the most awful front-end), and now we are going to the CLOUD (the miraculous solution to all IT problems). The migration is going to take years, because the vendor won't customize much of it for us so we need to review millions of entries.
You mention in a very theoretical way practical problems we always face:
- you need to enter a set of data that is organised in a way that doesn't fit the initial model. What do you do? Build a custom application that writes and reads in a specific way to the database, and tries to format the data in a way that the other entities accessing the database can utilize and understand.
- you have a mix of automatically-populated data and human-populated data, and then you have applications that rely on both kinds of data as FACTS.
- the odd use case.
For example, we had a colleague in Asia who had NO SURNAME. But the system won't allow blank last names, so:
So we had in different systems:
UserId=1234, FirstName=Name, LastName=.
UserId=1234, FirstName=Name, LastName=[blank]
UserId=1234, FirstName=Name, LastName=[space]
UserId=1234, FirstName=Name, LastName=Name
Most applications would use UserId as unique identifier among different systems (Active Directory, Lotus Notes, SSO, etc..), but some operated on basis of user name.
Her phone would periodically stop working and I've heard once she didn't get paid.
Back to our initial discussion...
We can use the IRIX inventory command, or export lsdev, and write scripts to have the formats matching. But once we have a different use case that reviews a limitation in our way of structuring the data, we have two options:
- review all legacy entries
- watch the beginning of chaos unfold in front of our eyes
The hardest of all is to have the discipline to keep everything updated as we go. I'd love to hear from anyone here who feels being successful with that.