I have not performance tested my own implementation (although I did actually build one over a decade ago). But the Informix path system was real and performant (they used a hierachical number node code approach e.g. 1.2.3, 1.2.3.1.2 etc). There are others I have read about as well, but I'd have to spend a bit of time to track them down, not having looked at it for a few years.

The reason why it can be fast is that you don't have many columns and essentially no joins, and you can do extremely efficient matching on number spaces to determine the 'type' of something (i.e. whether it is a systolic BP or whatever) /before/ you decompress the value (a DV_QUANTITY). Then you do value comparison (e.g. bp > 160 or whatever) as a second step.

Before doing any of this, you apply basic AQL logic that cuts out whole parts of the DB because their values are not inside (AQL CONTAINS; XML '//') the required kind of Composition.

If you have run an actual study of path-based performance and found it not to be working, it would be very interesting to know the details. It may be that with some adjustments you can significantly change the performance characteristic.

- thomas

On 26/01/2016 10:43, Jan-Marc Verlinden wrote:
Hi Thomas,

/_this is also what I would expect. Path-based storage does rely on very smart ways to figure match terms in a query to paths of course._/

Did you test, or is this theoretical?

Jan-Marc


_______________________________________________
openEHR-technical mailing list
[email protected]
http://lists.openehr.org/mailman/listinfo/openehr-technical_lists.openehr.org

Reply via email to