In the field of modern analytics, there are perhaps three distinct ways you can store and access data for analysis. You can use a non-native method to count and tabulate metrics, like Google Analytics, you can warehouse your data in a third-party service, cleaning and refining it along the way and updating it at regular intervals, or you can work directly with a database.
Perhaps most importantly though, the database is what's familiar to YOU. If you'd like to improve its performance, you can do so, right in house. If you'd like to run your own queries so complex that we haven't yet built the drag-and-drop service for it, you still can, right through Chartio's query editor. And if you'd like to monitor Chartio's access to your data, you can do so locally, in addition to the facilities we provide for doing so in the cloud.
We take security and access controls seriously. Data security is strongest when it's simple and obvious, and we do our part by providing you with clear access controls for your teammates, straightforward, read-only connections to your data, and your ability to maintain your data in whatever state you'd like, under your own security and governance protocols.
Whether you are connecting us to a production database, or a replica as we recommend, Chartio goes through great lengths to ensure a minimum footprint. The following is a detailed description of how Chartio will utilize your database.
All queries in Chartio are cached for a period that you specify. The default cache duration is 15 minutes but can be lowered to just a few seconds or increased to a full day.
When a chart is requested by you or anyone else on your project it is first checked against the cache to see if anyone else had requested the query within the caching period. If it has been requested within the caching period, only the cached results are returned. If it hasn't, the cached results are returned for your temporary viewing, and a fresh query is sent out to your database.
The cache is built such that multiple charts using the same query will share the same results so that there are no unecessary duplicate queries.
In addition to limiting the frequency in which queries can be run, Chartio also protects against multiple requests that are made while the query is being run. Lets say for example that you have a dashboard with a particularly long query that takes 5 minutes to run. If you load the dashboard and kick off the query, and 4 minutes later one of your teammates does the same, multiple queries are not run. Chartio simply puts them in line to receive the result when your initial query finishes in approximately 1 minute.
Chartio maintains best practices in query creation for queries generated with the drag and drop interface. You can at any time however move into SQL Mode to write your own queries or examine and optimize the generated queries to take advantage of any indexes you may have in place.
Chartio provides a query log with all of the queries we've run and the length that each query has taken. You can utilize this information to monitor the potential load on your database and apply indexes if appropriate.
If you do get intensive with your analytical queries and decide that you need a warehousing solution we recommend Amazon's Redshift or Google's BigQuery, both of which are supported by Chartio. These easy to use data warehousing solutions allow you maintain control over your data while significantly improving the speed of analytical queries.
We highly recommend that you not rely on a 3rd party data warehouse for the following reasons.
Request a Demo
Tell Us About Your Company