Materialized Fusions

jstan
jstan Dallas, TX 🟠

Hi all, having been around the block with materialized fusions, I wanted to provide some insights for those using fusions a lot.

 

  • What is a materialized fusion?
    • Materialized fusions are fusions that have a hard/real dataset.  Fusions are virtual datasets by default.
  • When to use materialized fusions? 
    • Use materialized fusions when performance on the front end with a regular fusion is lagging and support has tried to make the query as efficient as possible.
    • We had several times where cards on a fusion had rendering times in excess of 30 seconds and would sometimes time out. 
    • Normal fusions are timing out and not running (try to have Domo optimize joins)
  • When not to use materialized fusions?
    • Happy with performance of existing fusion
    • Small dataset inputs
    • Freqent input dataset updates that you want instantaneously in a fusion
  • How to optimize materialized fusions?
    • Limit the number of joins.  Cutting down from 11 joins to 6 improved our time to materialize by about half, even though the row and columns counts were roughly the same.
    • Join on integers where possible.  We re-engineered several datasets to create integer joins vs. string joins.
    • Update timing of input datasets to a materialized fusion is extremely important.  Every time an input dataset updates, the re-materialization process starts.  Domo was also able to turn off automatic materialization on specific datasets and allow us with the API and/or CLI tool to programatically kick it off only after a single dataset updates.
  • How to get a fusion materialized? 
    • Contact your CSM/Support with the dataset ID of the fusion to materialize and Domo will evaluate if that is the best option.
  • How long does it take to get materialization turned on?
    • My experience with Domo has been weeks, so plan ahead and if you see performance issues with your regular fusions, open tickets each time with videos of the performance to create history.
  • What to watch out for?
    • When using PDP, we had issues where some people were pointed to the regular fusion and some were pointed to the materialized fusion.  Make sure you test front end performance with multiple user types in multiple PDP policies.  Contact support if something is wrong.
    • As of 3/4/2020, BEWARE of using a materialized fusion in other fusions.  There is a bug that causes downstream fusions (whether materialized or not materialized) to kick off a rematerialization of the primary materialized fusion anytime one of the downstream fusion inputs updates.  This can mess up any dataset update timing you have staged with the materialized fusion inputs.

Comments

  • This is great information and very helpful, thank you!

This discussion has been closed.