Our user base contains several tens of large ServiceNow customers and there is one common need that is worth sharing. Often we are approached by the customers who want to make the most of their ServiceNow data by having full-time access to up-to-date and efficient reporting using their own local reporting tools. The big challenge is that accessing the cloud data directly using on-premise tools might not be efficient and flexible enough and it might put some unnecessary load on the production instance.
Challenge
A typical scenario is when a ServiceNow customer is having an existing reporting platform or a corporate standard for reporting or business intelligence. Imagine that a reporting team needs to add ServiceNow data as one of their data sources to be able to build dashboards in Tableau or SQL Server Reporting Services. The natural choice would be using the native ServiceNow ODBC driver, however, the inherent limitations make it very hard to use for reporting purposes. Moreover, reporting teams usually prefer to work with real relational databases where they can make use of their favorite tools and DB skills.
Solution
The solution is a well-known design pattern. Dedicated reporting environment. A replication solution will create and manage a subset of the transaction database, which can be used exclusively for reporting purposes in near real time. This removes the resource demands of reporting from the online system and allows users to create reports with their favorite report writing tools. To implement this pattern in the ServiceNow environment, it requires replicating selected ServiceNow tables into a local database. Reporting and BI tools simply connect to the reporting database instead of the live ServiceNow instance. SnowMirror is a smart replication agent supporting a wide variety of database vendors including Oracle, SQL Server or MySQL. It maintains a schema of the reporting database and guarantees the copy is up to date.
How It Works
The data is loaded from a ServiceNow instance using the out-of-the-box API and stored in a relational database, installed in a local environment. There are no changes to the ServiceNow instance required. SnowMirror just needs a simple user account with sufficient privileges.
By defining tables, selecting columns and even specifying a detailed filter query SnowMirror allows synchronizing only the data really needed. The data synchronization between ServiceNow and the mirror database is easy to schedule with a wide range of scheduling options. SnowMirror performs only incremental data downloads so the replication runs are fast and reliable. SnowMirror was designed and implemented as an agent deployed in the customer’s environment (i.e. customer’s network) accessing ServiceNow instance on one side and a database of choice on the other side.