About Gadi Yedwab

Gadi Yedwab is the founder and CEO of Explore Analytics. Prior to founding Explore Analytics, Gadi served as VP of Product Development at ServiceNow, a leading provider of cloud-based services that automate enterprise IT operations. Prior to ServiceNow, Gadi Yedwab held executive positions at Quest Software and Brio Technology (which was acquired by Hyperion and then by Oracle). You can reach Gadi on twitter at @GYedwab or using the Feedback Form.

Real-Time Access to SaaS Data

Introduction

Data stored in SaaS applications is often inaccessible to BI tools. This is a major headache to early adopters of SaaS applications. With on-premise applications, IT departments can bypass the application and access data directly from the underlying database. With multi-tenant SaaS applications, such direct database access is not available because the database is shared with other customers.

Understanding the Problem

Ideally, all data access should go through the application. There are some very compelling reasons to go through the application:

  • The application manages data-level access rights. For example, allowing a user to only see data for their region.
  • The application manages data at a business-object level. Such data objects are often assembled via object-relational mapping of application objects to relational database tables.
  • Multitenant SaaS applications restrict users from seeing data that belongs to other tenants.

For these reasons, bypassing the application to access data directly from the underlying database is not a good idea in general, and is not possible with SaaS applications.

Current Strategies

Let’s review the strategies that applications currently provide for data access.

Data Export

Most if not all applications allow users to export data into a file, typically Excel or CSV, that can be loaded into a spreadsheet or imported into a BI tool. This approach is easy to use and works with most tools, however it suffers from several serious drawbacks:

  • Data is outdated as soon as it is exported
  • Works well for small data sets, but takes too long to move large amounts of data
  • Works well for single tables, but not so well when the analysis requires data from multiple related tables

Web Services

SaaS applications typically provide a Web Service API for data access. Access is direct and is managed by the application. In principle, this is the desired solution. However, due lack of standards, most SaaS applications provide limited APIs that are useful for obtaining specific records or for exporting data, but are not suited for query and reporting because they lack an expressive query language such as SQL.

Specifically, the missing pieces are:

  • Lack of support for aggregate queries. For example, requesting sales totals grouped by product and region. Without such API, BI tools have to request potentially very large data sets to be aggregated. This very quickly becomes prohibitive for real-time data reporting.
  • Lack of support for table joins and data filtering (other than the most basic). For example, requesting all the orders for customers of a given sales person within a certain range of order size.
  • Lack of a standard API similar to SQL and ODBC/JDBC. This lack of standard means that BI vendors need to develop a connector for every application that they support and every application vendor has to implement their own API.

Data Warehousing

Given that SaaS applications do not provide an API for real-time data access, the typical, yet rather expensive, solution is to export data from the application into a relational database and then run reports again this database.

In addition to being expensive to setup and maintain, this solution also suffers from the fact that the data is accurate only as of the last time it was exported. Frequent data synchronization makes the solution even more expensive, and yet it is never real-time. Users today expect to see up-to-the-minute data, not yesterday’s data.

Standard Data Access API for SaaS Applications

The BI and SaaS vendor communities need to collaborate on defining an API for real-time data access. Technologically, this is not very hard and it’s been done for relational database back in the early nineties. I believe that the leadership must come from the SaaS vendor community because this is the community that stands to gain the most by solving this problem. If you belong to that community, then consider this a call to action. Please contact me if you’d like to develop this idea further.

When to Animate Data Visualization

Animation for the sake of catching the viewer eye without adding information can quickly become an annoyance. However, when used correctly, animation can greatly improve the visualization by increasing the information density.

A great use of animation is adding the time dimension to an already busy chart. Before animation became available for data visualization, a typical method was to produce a series of charts, each showing data for a single time period.

In this article, we’ll see examples of animated XY, Bubble, and Map charts. Using Explore Analytics we can create animated charts that are interactive. They allow you to play the animation forward or back, step through, search through, and pick any page of the animation. You can also set the frame rate to control the speed of the animation.

In the following chart, we show crime statistics for the 50 US States. The chart has 50 bubbles, each representing a state, with its property crime rate on the X axis, its homicide rate on the Y axis, and population represented by the size of the bubble. We pack data for 51 years by using animation.

This chart is powered by Explore Analytics.

Two additional examples:

Historical US Unemployment: See how US unemployment by county changed over 22 years from 1990 to 2011. This chart is a little slow to load because there’s a lot of data packed into it. Green represents less than 6% unemployment and red represents higher than 6%. See the dramatic change from 2007 to 2009. Also, try zooming in on your state and run the animation.

Historical Yield Curve: see how the US treasury yield curve (a graph of bond rates for different maturity periods) changed over time from January 1990 until February 2013. Watch for times when the curve flattens or even reverses, signaling the onset of a recession.

In conclusion, animation can greatly increase information density and effectively illustrate trends in the data.