Vor ungefär 15 Jahren hab ich beim Entwickeln komplexer Webanwendungen mal gesagt, ein Hash-of-Hashes, entspricht Schlüssel/Schlüssel/Wert, ist völlig ausreichend für den Random Access persistenter Daten nachdem diese deserialisiert wurden. Zumal sich mit diesem abstrakten Datentyp, heute eher bekannt als Entity/Attribut/Value (EAV) Muster zyklische, also sich wiederholende Datenstrukturen abbilden lassen.
Bis heute hat sich an dieser Ansicht nichts geändert, je einfacher ein abstrakter Datentyp aufgebaut ist, desto einfacher ist es, Daten außerhalb des Hauptspeichers zwischen Anwendungen verschiedener PLs auszutauschen (Perl-JS-Perl) und egal ob die Daten auf Platte geschrieben oder nur trasportsicher verpackt werden sollen (AJAX).
Tatsächlich waren Abweichungen von diesem EAV-Muster in meiner gesamten beruflichen Praxis die Ausnahme und anstatt kompliziertere ggf. vorgegebene Strukturen einfach so zu übernehmen, hab ich die soweit möglich auf das EAV Muster heruntergebrochen. So ists z.B. durchaus möglich, an die Stelle eines Values wieder ein EAV Type einzuhängen, was den Programmieraufwand erheblich vereinfacht und unnötigen redundanten Code vermeidet. Gleichermaßen wird ein Persistent- bzw. Transport-Layer transparent, wenn dieselben Algorithmen in verschiedenen PLs gleichermaßen implementiert sind.
Geb ich Dir gerne weiter, keine Ursache. Auch für den Wiki.