My main focus as a data scientist is to derive business outcomes and create efficiencies using data. Other objectives include keeping costs associated with analytics low and allowing business users to quickly access the data they need.
In comes Alteryx Server which allows the average business users to develop and deploy apps company wide using a GUI.
I noticed that many apps created by my colleagues exhibit inefficiencies with how they pull and process data.
Main problem: Deploying apps that query databases every time they are run.
Why is this a problem? Alteryx allows your entire organization to access deployed applications. As you increase the number of applications and expand your user group the amount of executions will quickly increase. Every time one of these applications needs to query data from your databases or load shared data to the server for processing you need to transfer data. The AWS charges associated with the transfer may be small and your organization may not notice although it is important to use the following best practices even if the only outcome here is that your application runs faster.
Solution
Create a daily scheduled workflow that queries your database and creates an Alteryx database file (.yxdb) containing all of the data you need for your application to function. Set the save location for this file to a local location on your server. Then point your application to that local file. Finally redeploy your application.
Now when an app is executed there is no data transfer from your SQL database to the Alteryx server, your SQL database experiences lighter workload and your apps will run faster.
Instead of querying and transferring data every time an app is executed now it is only done once a day and your apps access local data.