Companies deploy Amazon Redshift for large-scale MPP (Massively Parallel Processing) data analytics. These systems apply parallel compute resources to answer queries quickly. However, there are still performance challenges:
- High latency: Distributed queries require coordination of multiple nodes to generate an answer
- No materialized views: If a query result is used for future queries, additional work is required to preserve the result or repeated calls are needed to the same base query
These challenges can be solved by rewriting the application. However, the ideal solution should require no code changes. Heimdall Data is that solution providing Amazon Redshift users two benefits:
- Management of both Analytics and OLTP traffic for optimal performance
- Fast materialized views for results from Amazon Redshift
- Transparent deployment of Heimdall Data without application-database changes
Fast materialized views are very important in analytics environments. When reports are generated, a subset of data is pulled from the back-end data store. Heimdall provides the following performance enhancement:
- Queries against materialized views are routed to an alternate database (e.g. Amazon Aurora Postgres), acting on behalf of Amazon Redshift. Heimdall intelligently routes Analytics and OLTP traffic to the appropriate data source for optimal performance.
- Heimdall automatically triggers a refresh of the view and is aware of modifications from Amazon Redshift. The net result is faster reports and increased Redshift scale.
SQL Results Caching: The fastest query is the one that does not have to be executed. Heimdall’s intelligent auto-caching is executed in the EC2 application tier, removing network latency. It works together with Amazon Redshift’s query caching. The Heimdall distributed architecture allows caching to be scalable, while acting as one cache cluster. Result sets are cached in tandem from 1) Local memory and 2) Amazon ElastiCache and are invalidated upon writes to the table. Best of all, Heimdall deployment requires zero code changes.