Sandbox and Virtual Datasets: Virtualize on the Source or The Target? Seeking Opinions.

RobB Domo Employee
edited October 2023 in Governance & Security

Virtual Datasets are very helpful when implementing Sandbox. But where should they reside, on the Sandbox source instance or the target instance?

Since the release of Sandbox, the recommendation has always been to put materialized data where users will consume it to ensure best performance. If the source instance is a development instance and the target instance is a production, we materialize data on the target and virtualize on the source as needed.

However, multiple recent use cases seek to do the opposite. The logic surrounds better governance. The source as a dev instance will have only a few domo users who are vetted for qualifications before allowed access. They have wide discretion for creating content on the source. The target as a prod instance is where most users access domo and they can only view and consume data. Very little to no allowance is given for the creation of content on the target. You can better control the content on the target via virtualization. You can build dataflows as needed on the source and virtualize the output only the target. Pages and Card are promoted on the target and use the virtual datasets. There may be some need for dataflows on the target, but they would be an exception and only created via Sandbox promote.

This appeals to customers that have to deal with a less governed environment that's resulted in an overabundance of dataflows and datasets, many of which are redundant. By controlling the data via virtualizations dataflow restrictions on the target, a much cleaner production environment occurs.

The tradeoff to this approach is performance. The question is whether that performance difference is tolerable.