A global brokerage firm specializing in foreign exchange, metals and global CFD trading, as well as spread betting. The Client is established as an industry leader in identifying and developing new trading technologies.
The Client is running a MySQL database and is using Tableau to build reports and analyze trading patterns of accounts, pricing, and other market data.
When the firm turned to InData Labs they had critical Tableau performance issues, their market analysts had to spend up to 30 minutes on some reports.
In the world of trading data, access to the right information at the right time can give brokers a big competitive edge. Reports that take 30 minutes to build are useless in the highly volatile markets. For that reason, the Client went searching for a consulting company that would help them to improve performance between Tableau and their database.
There are numerous challenges in supporting a great performance between Tableau and MySQL databases. So our first step was to identify the problem. We tested and analyzed ten sample Tableau dashboards provided by the Client as examples of the most time-consuming reports.
The investigation phase revealed that the Client wasn’t using Tableau Data Extracts, a columnar store, native to Tableau, that offers increased performance when the underlying data source is unacceptably slow, or when the use of Custom SQL slows it down. Extracts work well for analytics and data discovery, so we proposed the Client to apply the native approach with extracts.
To test the approach we created extracts using a test database (DB) and generated the sample reports using the extracts. At the next step, we extended the schema of the test DB to support incremental refreshes. We also created and implemented schedulers for incremental and full extract updates. Incremental extracts retrieve only new records from the data source, reducing the amount of time required to create an up-to-date extract.
Finally, the extracts and reports were published to Tableau server to measure the performance. The new performance metrics showed that the speed became satisfactory for the Client.
After the validation phase, we applied the same approach to the production system. The extracts were published to a shared project on Tableau Server to be utilized by different teams within the company. Now analysts can use the extracts for new reports and select extracts instead of MySQL for the old reports.
Through the proper use of data extracts and the data server, InData Labs eliminated the unwanted burden on the Client’s database. The compute time for reports decreased by 99% ensuring timely analysis of the complex and ever-changing financial markets.