Directions Magazine (DM): SAP has described HANA as a "platform within a database." Can you clarify how the in-memory database of HANA indexes spatial data? Does HANA use R-trees or other data structure?
Ashish Sahu and Marie Goodell (AS/MG): SAP HANA is a revolutionary in-memory platform which simplifies and streamlines complex and expensive IT architectures. At its core, SAP HANA is an ACID-compliant database that uses main memory and multi-core massively parallel processing to store and process massive amounts of data. Columnar storage provides a 5-10x compression and on-the-fly aggregation capabilities so there is no need for aggregate tables, preprocessing, indexing and materialized views, vastly simplifying the architecture needed in large data warehouses and data-marts. SAP HANA also delivers advanced analytic capabilities, high-performance algorithms, and libraries – enabling companies to process transactional, analytical, predictive, unstructured text and spatial data on one unified platform. Optimized in-memory column-store architecture and high-performance spatial algorithms significantly increase spatial search and analysis speed eliminating need for typical spatial data management techniques, such as spatial indexes or tessellation tables.
DM: You've also described HANA as having a tier where libraries of analysis functions for predictive analytics, data model, text mining, etc. are available. Can you explain how users access these libraries? Are there separate SDKs that allow users to customize reporting and analysis tasks?
AS/MG: SAP HANA is more than a database; it supports predictive analysis, text analysis, planning engine, rules engine, business function libraries and a native application server. These features are available to users at no additional license fee or additional components to install. SAP HANA is an open platform allowing access to these capabilities via ODBC, JDBC, and OData interfaces supporting SQL, MDX, R, SQLScript, etc.
DM: Can you explain in more detail how the API works to access Esri's spatial functionality? Would users find all or only selective spatial functions available through the API?
AS/MG: SAP HANA currently supports the ability to call third-party mapping services and content via standard API calls from the XS engine (application server). For Esri, this would include calling ArcGIS Online services and content to render base maps and/or call specific geoservices. Calling other third-party content and services from SAP HANA (e.g. Nokia/HERE, Google, Microsoft, etc.) is also supported.
SAP and Esri recently announced Query Layer integration in which Esri development is creating a native optimized connection to SAP HANA via ODBC to recognize the native spatial data types and functions. This will allow SAP HANA to be another “layer” to the Esri ArcGIS stack and push the complex spatial processing down into the platform for high-performing and real-time analysis.
DM: Can you explain in more detail the term "columnar spatial processing"?
AS/MG: SAP HANA provides a hybrid data store for both row and column. Using column store for analytic processing allows for high compression, scan rates, and performance without the need for pre-materialization, aggregation, or indexes. SAP HANA extends this columnar storage capability to spatial data types as well, which provide for the same performance and maintenance benefit.
DM: Are SAP's mobile solutions for work management and CRM built entirely on SAP libraries or is there a spatial component using Esri technology?
AS/MG: With the SAP Mobile Platform, organizations can quickly build and deploy mobile applications to keep their field workforce connected and engaged. Applications built using the SAP Mobile Platform can access data stored in various data stores, including SAP HANA. The SAP Mobile Platform delivers a spatial enhancement API to support embedding of geospatial data in mobile applications. Two SAP mobile applications take advantage of this API today: SAP Work Manager and SAP CRM Service Manager. These applications, which include location and mapping capabilities, are built using:
- SAP Mobile Platform 3.0 and OpenUI framework: Includes SAP libraries and allow third-party SDKs (such as Esri’s) to be integrated into the existing SMP/Agentry based mobile apps
- Esri’s maps SDK (for iOS, Android, Windows Phone). Esri ArcGIS SDK provides the mapping APIs and basemaps.
Therefore, it’s a combination of both SAP and Esri libraries.
DM: SAP Lumira is described as a visualization platform. Does Lumira use Esri technology for map display or is this strictly a visualization tool built on an SAP HANA framework for directly viewing spatial data?
AS/MG: SAP Lumira is planning to use the Esri technology through our common HTML5 visualization platform and software development kit (SDK). SAP aims to help customers leverage their existing Esri ArcGIS capabilities and licensed online Esri maps inside of BI tools from the SAP BusinessObjects portfolio. The Esri API provides sophisticated map visualizations and rich geospatial capabilities, while the common HTML5 visualization platform in SAP Lumira provides charting overlays on top of maps and a common visualization experience. The SAP Lumira software is planned to be the first SAP BusinessObjects Business Intelligence solution to offer the embedded Esri API. SAP Lumira is also planning to leverage the geospatial data types and processing capabilities in SAP HANA to deliver rich location analytics to customers.