Why Is SnowMirror Faster Than ODBC?
There is an interesting discussion SnowMirror vs. ODBC driver on the ServiceNow Community. This is a topic touching the original motivation for creating SnowMirror. We have been developing SnowMirror since 2012 and the need for such a tool is still there, the ServiceNow technology has simply not changed. If you want to access ServiceNow data then there is either SOAP or REST API. Unlike other cloud platforms, there is no bulk API to extract high data volumes. The REST and SOAP APIs are designed as transactional APIs to work with a single record or smaller record lists. There is also no direct access to the underlying ServiceNow database. Neither customers nor consultants are able to query the database directly.
- Incremental load - SnowMirror downloads just the deltas; only the new and updated records and it removes the deleted items. This enables it to work even with the largest tables.
- Smart pagination. SnowMirror uses special algorithms for handling batches. It downloads a batch of primary keys (sys_ids) first and then it downloads smaller chunks of actual data.
- Concurrency. SnowMirror is able to download a single table in multiple threads which are increasing performance significantly.
- Instance utilization - and this is the most important point for bigger instances. SnowMirror is able to maintain sessions with individual ServiceNow nodes which boosts performance and data throughput dramatically.