XML Considered Harmful

dn PythonList at DancesWithMice.info
Sat Sep 25 17:56:04 EDT 2021


On 26/09/2021 10.07, Stefan Ram wrote:
> "Michael F. Stemper" <michael.stemper at gmail.com> writes:
>>                                           fitting hierarchical
>> data into rows/columns just seems wrong
> 
>   There were hierarchical database management systems like
>   IMS by IBM based on that point of view. Today, almost all
>   hierarchical data that is stored in databases is stored
>   in relational databases. Maybe, the relational model has
>   proven superior to the hierarchical data model after all.


Back in the days of mainframes (and when the Flintstones was 'filmed
before a live studio audience') hierarchical DBs were considerably
faster than RDBMS. Because of this, we used to take a daily 'snapshot'
of the transaction DBs (in IMS) and make a 'copy' as DB2 relational DBs,
which were (supposedly) used for MIS (Management Information Systems -
as distinct from TPS (Transaction Processing Systems)).

These days RDBMS are (a lot!) faster - much of which would be better
expressed as: the hardware these days is a lot faster. Therefore an
RDBMS is sufficiently responsive, and we no-longer need to maintain
separate, 'parallel' systems (and multiple mainframes)!

Cue: NoSQL justifications...

Today's best example of an hierarchical DB is probably LDAP. It is most
commonly used within the 'directory' of communications systems, eg
email. Such waters muddied considerably by MSFT's attempts to 'improve'
international 'standards' and integrate AD with Exchange (so don't go
there!).

There have been some well-engineered systems based on LDAP, eg
organisational/personnel and part/component break-downs.

That said, unless looking at something such as just-mentioned,
overlaying hierarchy onto 3NF and using an RDBMS would be my first
thought - but because of the recursive JOINs, I recommend something more
capable than SQLite.
-- 
Regards,
=dn


More information about the Python-list mailing list