What is a Geodatabase anyway?
**Update as of 8/26/2022: HANA Cloud is certified as an Enterprise Geodatabase for ArcGIS Enterprise. This blog’s discussion applies equally to HANA Cloud as it does to on-prem/cloud resident HANA. HANA Cloud provides you with a completely managed, pay for only what you use SaaS HANA instance that’s cloud native. A HANA Cloud instance is essentially the same as a HANA on-prem tenant from a schema name space perspective. When you enable an SDE user as an enterprise geodatabase, you are enabling the HANA Cloud instance as an enterprise geodatabase**
It’s been a little over a year since Esri released ArcGIS Geodatabase support for SAP HANA. Since that time, a number of joint customers have implemented POCs and put the new services utility network model through its paces – with great success. We’ve also conducted many enablement sessions for customers on at least 3 continents about why ArcGIS and HANA are better together. For people not familiar with ArcGIS, many ask “What’s an ArcGIS geodatabase?” It’s a great question since the term “geodatabase” is thrown around without explaining how ArcGIS uses the underlying database. Although the concepts in this blog apply to any ArcGIS supported DBMS, we will focus on HANA specific elements.
To have a complete understanding of how ArcGIS utilizes HANA, you should know what capabilities ArcGIS provides and how do those affect how ArcGIS uses HANA.
There are three broad capabilities that ArcGIS Enterprise provides:
System of Record – the authoritative source of geometries and related metadata
System of Engagement – also known as the mapping platform or visualization layer. It enables people to share and understand complex data and ideas. The ArcGIS platform does this using prebuilt apps, content, capabilities, and GIS infrastructure so everyone can visualize, analyze, and collaborate using maps—anytime, anywhere, and on any device
System of Insight – the analytics and data exploration element of ArcGIS
You’ll sometimes hear the term “sidecar.” This means that ArcGIS is only used as a system of engagement on top of HANA and uses query layers to send SQL to HANA.
Based on this, there are 3 ways in which ArcGIS utilizes HANA:
- Query Layer – this is the most loosely coupled level. A SQL query is specified in ArcGIS Pro 2.1 or greater, or ArcMap 10.6 or greater. It turns out that ArcMap can connect to a HANA tenant that has not been enabled as an enterprise geodatabase. A query layer is a SQL passthrough to HANA – the query executes fully within the target HANA tenant. ArcGIS knows nothing about the target schema, tables or anything else. It is just sending SQL and expecting back a single type of shape (polygon, point, polyline, etc) and a unique object ID. Query layers alone will only support a System of Engagement since the system of record for the geometries isn’t in HANA. Query layers against HANA have been supported since ArcGIS Enterprise 10.3.1 and SAP HANA 1 SPS8 (mid-year 2014). In this case, HANA functions as a GIS accelerator for performance and for integration of various data sources (i.e. mashup). To get geometries into HANA, you’d have to use SQL, export a feature layer from ArcMap or ArcGIS Pro using the Data submenu, use Interoperability Extensions for ArcGIS or an ETL tool like Safe FME. In most of these cases, the GIS administrator has to call IT to place geometries into HANA.
- Managed feature classes – a large majority of ArcGIS deployments in ArcGIS Enterprise 10.6 and greater will likely use HANA at this level. This also requires HANA 2 SPS2 or greater and ArcGIS Pro 2.1 or greater. ArcGIS knows what feature classes are stored in HANA and directly manages them. This level supports not only a system of Engagement and system of Insight, but also a system of Record because the authoritative geometries can be stored in HANA. Features like offline editing are supported. Note that query layers can be used against managed feature classes. There is a TCO benefit when HANA is the system of record – you can consolidate your database tier on to HANA. More importantly, ArcGIS tools like ArcGIS Pro and the Python tools can be used to manage those feature classes including export, import and copy. This means an ArcGIS administrator can easily copy geometries in and out of a ArcGIS database on HANA. They don’t have to call IT (except, maybe, for the HANA credentials). To have managed feature classes in HANA, you need to enable HANA as an enterprise geodatabase (issued in ArcGIS Pro). Note that once you do this, ArcMap will not be able to connect to the HANA tenant where the SDE user you enabled resides.
- Enterprise geodatabase – In ArcGIS 10.6 and later and HANA 2 SPS 2 and greater, an Enterprise geodatabase supports capabilities like versioning, long transactions, parcel fabric, topology, tracing, replication and the different models like the services based utility network model (and others coming soon). You use the Enable Enterprise Geodatabase tool to configure HANA as an Enterprise Geodatabase. An Enterprise geodatabase encompasses all of these three levels
All of the above require HANA Enterprise Edition or HANA Standard Edition + Spatial & Graph.
Because HANA 2 SP2 and greater supports all three of the above ways that ArcGIS interacts with an underlying database, it means that your geometries and spatial metadata can be placed in HANA – the same platform that S4 and Suite on HANA (SoH) runs on. This results in simplification – one platform for critical enterprise data. It’s also possible to use native HANA capabilities (SDI and SDA) to virtually pull data – on the fly – from one or more S4 or SoH systems. See my other blog (here) on the advantages of ArcGIS on HANA.
A word about enabling an enterprise geodatabase and HANA
HANA is a multitenant platform. A HANA instance can be subdivided into HANA tenants (sometimes called containers) where the HANA System Admin can control how much memory and CPU a tenant can consume. Within each tenant, there exists schemas. Each user has a schema by the same name by default. A user can create and own more than one schema. For instance, the SDE user has an associated SDE schema. Standard SQL GRANTs are used to give one user permission to interact with tables in another user’s schema within the same tenant. Although cross-tenant queries are supported (see here), that’s outside the scope of this blog. To recap, HANA has instance, tenant and schema level isolation.
Here is the important point: when you, as the SDE user, enable HANA as an enterprise geodatabase using Pro, you are enabling the HANA tenant containing that SDE user as an enterprise geodatabase. Any feature class you create and manage with ArcGIS within that tenant will be recorded in the SDE admin catalogs. So the scope of an enabled enterprise geodatabase in HANA is at the tenant level and all of the schemas within that tenant
Want to get started exploring ArcGIS on HANA? You can sign up on the Esri website for an ArcGIS Pro trial on HANA Express. This free offer includes demographic data (Tapestry data) and a tutorial. See here for more details.
I have other blogs on this website that discuss the utility network model and ArcGIS on HANA in more detail. If you have other ArcGIS/HANA integration topics you’re interested in, please leave a comment and I’ll use them as a topic for a future blog post.
At the end of the day, to make it simple, you can just say “ArcGIS on HANA” and people will understand what you mean. But if you want the details, this blog should give you all the information you’ll need to understand how ArcGIS utilizes HANA.
What kind of use cases are you thinking of using ArcGIS on HANA for? Let me know what ideas you have by leaving a comment.