It is not common to expose datasets using dependency management. There are obvious reasons to avoid this approach with transactional or frequently updated interrelated data.
On the other side, databases tend to become performance bottlenecks on many information systems. The re-utilization of shared optimized datasets seems appropriate when:
- The resources are updated on a timely basis using datasets, with different data cycles.
- The datasets are shared. They are generated or published by different teams or may be used in different contexts.
- We are not interested on a specific the timing. The data can be retrieved periodically, daily or weekly for example.
- The volume or the performance of the datasets is not challenging.
Take for example a retail company app that handles sales, payments, inventory and delivery. We need to treat the transactional data, like capturing sales and payments information with extreme care. On the other side there are recurring reports like and information that may be shared, reducing CPU cycles and network calls, as a complementary option to ETLs, DataHubs, etc.
Another interesting option could be to enrich browser side scripts with preloaded options data, which could reduce the number of network round trips and accelerate load times.