...
The use of regex potentially results in full table scans, severely limiting performance, and causing query time duration to grow linearly with the fragment table size (i.e. queries get slower as the DB database gets bigger).
A new algorithm for queries is being proposed, avoiding regexregular expressions, so that query duration is independent of database size.
...
The above sections only partly describe the current and proposed solutions. In both cases, a CPS path query is actually send sent as two database queries:
...
- The first query performs the CPS path query.
...
- The second query fetches the descendants, if required.
...
- Alternatively, if an ancestor CPS path was provided, the second query would fetch the ancestors (
...
- and their descendants if required).
The current implementation uses a regex-based query SQL query using LIKE operator to fetch descendants, while the proposed solution will use recursive SQL to fetch descendants of fragment returned from the CPS path query:
...
These tests were performed using the openroadm model, present in the integration-test module of CPS source code reporepository.
In this case, each 'device' node is comprised of 86 cps data nodes. In these tests, 4 anchors were populated using the same data.
...