Ich implementiere gerade ein Caching im Umfeld von PostgreSQL(8.3.3) und Oracle(10R2) XML-Views.
Das Grundproblem intensiver XML-Verwendung ist, dass ständig große Strings parsed werden müssen:
- DOM wird serverseitig erzeugt: zumindest "1/2-mal" Parsing, nämlich auf valide PCDATA/CDATA
- DOM wird per XSLT transformiert: zumindest 1x Parsing wenn das XSL selbst schon parsed ist; sonst 2x Parsing; die XSLs sind nicht unbedingt billiger als die XML-Nutzdaten
Den Overhead kann ich bei der Laufzeit-Erwartung "Viele SELECTs, wenige INSERTs" resp. "Multiple READ, few WRITE" reduzieren, zumal PostgreSQL Trigger in Python und Perl unterstützt und somit praktisch jeder IPC-Mechanismus zur Invalidierung einer Cache-Line genutzt werden kann.
Fürs Orakel muss ich da noch etwas zaubern (und Doku lesen).
Grüsse
Solkar