In the world of analytics, real-time reporting has been sought after for the last decade. Keeping a finger on the ‘data pulse’ - having metrics and KPIs given to you as they are now (rather than yesterday) allows users to make much better, informed decisions. So, how do you do it in with SAP HANA? Here’s how…
From a technical perspective, real-time acquisition and propagation means zero downtime due to batch ; no hour per day or week where system usage must be kept down because all the data loads are being done. In a global business which operates in multiple time zones, this is a must.
During the ideation or design phase of the implementation of a real-time solution, you must answer: what is real- time to you? How quickly do you need to get from data your source system to your decision makers? Is it ten seconds? One minute? Ten minutes?
What is real-time to you?
The answer: it depends on what you will use the data for. If you’re on a shop floor, assessing your team’s performance by hour, then a minute accurate view of these KPIs is perfectly fine.
If you’re deciding what to make in your factory tomorrow, then ten-minutely-accurate data will likely be enough for you. You should pick the real-time cadence which is one or two orders of magnitude faster than your reaction speed.
Acquiring the data
The first stage of real-time reporting is acquiring the data lightning fast. At the acquisition stage, data is brought into your data warehouse from source-systems. The technical challenge is that the data must be in the data warehouse almost as soon as it is changed in the underlying system. There are two general approaches to this: replication (either log based or trigger based) can be set to run very quickly, or virtual integration can embed some of the source system’s tables into the data warehouse, whilst ensuring that they continue to be managed by the source system.
SAP has several solutions which can do this including: Smart Data Access (SDA), Smart Data Integration (SDI), SAP Landscape Transformation Replication Server (SLT) and SAP Replication Server (SRS). These solutions vary in the type (trigger-based or log-based), their compatibility with data sources, their SAP licence implications and the technical configuration required. The right solution for you depends on your specific requirements and landscape.
Propagating the data
The second stage of real-time reporting is propagating the data. Here, data is harmonised to fit a common business definition, bringing it closer to the report format. The main choice at this point is which data warehouse to use to propagate the data, SAP Business Warehouse (BW), typically SAP BW on HANA (BWoH) or BW4/HANA, or SAP HANA SQL Data Warehouse. Different data warehouses bring different mechanisms for real-time data prorogation.
SAP BW/4HANA offers streaming process chains, which can transform data in up to 1-minute intervals. HANA SQL Data Warehouse uses SDI which gives you the choice between instant replication and replication in very short intervals. Both data warehousing platforms offer various ways of virtual transformations through virtual models.
At this point, your decision on which data warehouse to use may be determined by what real-time means for you. Where HANA’s speed and BW’s malleability are both desired, bear in mind that a hybrid approach can be adopted. In a hybrid model, data with a quick real-time requirement Native HANA can be used, alongside using BW for data with a less quick data-freshness requirement. At this stage of an implementation business and IT stakeholders must work together to ensure that data is useful in making business decisions and in a format which is computationally simple to create; this is a key component of any real-time data implementation.
The reporting stage
The final stage of real-time reporting is the reporting stage. Here data is pulled from the data warehouse into reports in the optimal format for the decision makers. Here the strategy is much simpler: to report as fast as possible you want to be using HANA optimised objects, for virtual models (Calculation Views, Composite Providers) and/or for persistent data (Native or Advanced Data Store Objects). At this stage you want little data manipulation left, ideally only aggregation.
The success of a project with a real-time requirement will come down to two things: a fast database and minimised manipulation. BW is strong where versatility is required in data transformations, as you can use the ABAP coding language which gives you unlimited flexibility to transfer data. HANA is strong when there is less complex manipulation and can run data towards the very fast end of real-time requirements.
This brings us back towards our question of which cadence of real-time to pick; a real time project must trade-off between the complexity of the data manipulation and the freshness of the data. The business and IT must work together to get the right data for decision making, whilst picking the manipulations to run as fast as possible.
If you’re currently exploring real-time data and/or your business warehouse solution, check out our recent video ‘Why you need SAP BW/4HANA ’.