I was invited to the computer science department of the University of Halle to talk about in-memory computing: In-Memory Data Management and Chsllenges for Enterprise Computing & Research. For me this was quite a challenge. Most people attending this talk had no idea about this technology as well as implication for software development as well as IT management. I decided to cover both topics and wanted to discuss challenges as well as interesting topics for research. So I tried to answer the following questions:
- What is HANA? What kind of new applications can we develop on top of HANA?
- What are the experiences of my company with HANA? What are we planning to do?
- How does this change the way software is created?
- What are the chances for corporate IT landscapes? How can corporate IT landscape become more agile?
- What are the challenges in terms of skill management?
- What are the challenges when we start to evolve existing applications? What kind of new programming models do we need? What are the challenges if we want to evolve IT landscapes?
- We have a lot of questions how to build new types of applications? What kind of research should be done? What questions universities should try to work on?
- In which kind of scientific projects could HANA be useful?
- Invention vs. Adoption: what is the acid test for innovation?
Scientists are interested in facts and they want to understand everything in detail. Fortunately SAP HANA Research team at SAP published at lot in scientific journals and so I took the time to study everything I could find. So if you are interested in, too, I recommend reading the papers I mentioned in my slides. By reading them I learned a lot and I’m even more impressed by the HANA technology. The most interesting concept I discovered was the one described by Bernhard Jaecksch, Franz Faerber and Wolfgang Lehner in their paper “Cherry Picking in Database Languages”. I think will make it possible to develop completely new possibilities for code pushdown beyond calling SQL Script procedures.
A visit at a Computer Science Department – What did I learn?
At first I was surprised that some students knew about the paradigm of columnar databases – they even made experiments with MonetDB. On the other hand the scientific publications of SAP have been widely unknown. I hope that professors will integrate them in their curricula about database management systems.
The people who listened to my talk had many questions – one of them was about the fact that most of the columns of ERP database tables contain only a few different values. They asked whether the data model has a bad design. This is an obvious question and it shows to me that academia does not really understand what practicians at companies are doing. But in my opinion I could be a really interesting topic for research and I encourage everyone scientist to look at it in detail and perhaps a researcher can help to debunk some myths in business programming and help us to do a better job. But before researcher have to investigate data models from EPR systems (SAP and non-SAP) of course. In fact software architects have some serious reasons not follow every advice from academic database design. I think I could spend hours to talk about it because from my experience data models in business programming differ from “academical” data models for good reasons. And I can tell you some of the reasons why I’m not surprised that most columns in ERP systems contain only a limited set of values:
- Many attributes have only a limited set of values – think of currency code.
- For performance reasons often we give up strict normalization and introduce redundancies. Sometimes we even materialize aggregations.
- Most database tables represent business objects and those can have many attributes that correspond to status information in business processes – and they have a limited value of ranges.
- ERP standard software must be very flexible – many attributes are optional and not used by every customer. It is possible that the processes change and former obligatory attributes of business objects change and become optional.
The data models for business programming –especially in SAP ERP- differ from the ones in scientific and other special purpose software. I’m not sure whether everyone understood this point – it seems to me that people from Academia don’t know about why we create data models for business applications that have some “surprising” properties. Perhaps they might think that we did it recklessly and caused the problems we are now complaining about. On the other hand applications developers of business applications are well aware of that but also know that many “best practices” from academia don’t work when creating large scale business applications. But this doesn’t mean that the rules of business programming are optimal – perhaps Academia could help to create a new and better paradigm.
Another topic of my talk was the latency of corporate IT architecture and why HANA can help. The reasons are obvious and explained in the slides of my talk. I think most listeners understood my message although I could not refer to any scientific study because I couldn’t find much. And this is another interesting topic: in my opinion academia should start to work on enterprise architecture – complexity, metrics and patterns for simplification.
I learned the following during my talk: When people with a completely different background hear a talk about business programming a lot of questions will occur so please be warned that you’ll run out of time. Afterwards most students remembered only small pieces of the overall picture – f.e. that HANA makes it possible to simplify SQL queries by using set theoretic SQL and large joins. So in another talk I will reduce the topics and focus more on easier and more comprehensible examples.
HANA and Universities
It was interesting to learn that universities are interested in this new technology. Unfortunately they didn’t know about SAP University Alliance and when they asked SAP for information about HANA they were sent to SAP’s sales people who have them a completely wrong advice which technology to use. I’m really wondering why sales people, who only know some standard business use cases and are neither process analysts nor scientists and (I’m sorry but this must be said – have no clue about technology) believe they can give a computer scientist an advice. In my case SAP’s sales people concluded that a research topic where fits perfectly in should be solved with Sybase IQ because the word “event” was mentioned. This is really weird: as software architect I can estimate TCO but I’ll not discuss license models because this is beyond my competence – but sales people are not shy to answer questions even if they don’t have the slightest idea what they are talking about. IMHO only SAP University Alliance and Hasso Plattner Institute at Potsdam are competent to give researchers a technical advice.
It seems to me that SAP University Alliance focuses on offerings of training material, access to SAP technology and courses/certification. I can understand the reasons because most universities have very good collaboration with Oracle which offers certification in their technology.
If researchers at university learn that HANA is not only a database but a powerful calculation machine they need more information about the architecture of HANA and how to integrate their own code as C++ and L extensions. It seems to me that here only HPI can help. Is this correct or do you know about other forms of corporation in scientific projects with HANA focus?
Why Universities are important for the Success of HANA
HANA implementations are not trivial: administrators have to learn how to use the new technology. You have to implement new concepts for operations, think of concepts for rdisaster management and recovery. Your BI experts have to learn new HANA specific features when implementing BW on HANA. In the next step you will start to implement scenarios for operational reporting (perhaps in a side by side scenario) and you will learn that you need a team of highly motivated people that want to learn to things, improve their skills and improve and sometimes redesign processes. Unfortunately it seems to me that most companies have only a limited number of workers having outstanding talents and those are always busy and already take responsibility over many projects. The whole situation gets more urgent if you want to develop new types of applications because therefore you need a set of skills:
- experts for operational data models,
- people with BI knowledge,
- experts for quantitative methods (statistics, predictive analytics, simulation, optimization)
- integration experts (think of ABAP programmers who know how to expose HANA applications in NWBC sidepanels and how to integrate them with SAP Business Suite)
For me it is obvious that many talents at enterprises will have enough work in the next time to implement HANA and use the most obvious features that remove existing pain points and provide most business value.
I believe that for the creation of outstanding and new applications enterprises need help from universities. We need corporation with professors and their students who have the necessary set of skills and can think “outside the box”. And last but not least it’s a good opportunity to get in contact with future top talents.
And I believe for many researchers HANA offers great chances. The reason is simple: promising technologies fail when using them in corporate environment they face Big Data that has poor quality. With HANA we can start to find working implementations for many technologies and make invention ready for adoption.
Tie up Loose Ends!
I think universities and enterprises can benefit from cooperation and SAP University Alliance could be a good starting point for the whole SAP Ecosystem.
- I hope that SAP UA can help SAP partners and customers find researchers who take part at SAP UA and enable cooperation with SAP partners and Customers. I think this is a win-win situation for every stakeholder: universities that already have experience with SAP products and technology extend their activities to other parts of the SAP Ecosystems that will benefit from that. And this will be helpful especially for SAP because there will be more SAP-related activities and especially HANA know how at universities. SAP UA offers great training material and information how to start with SAP HANA and much more.
- From my discussion I guess that in some cases universities will need more information about HANA architecture to run their own code or to use brand new and not yet released features like graph engine. Who can give universities this kind of information? Is it SAP UA or is corporation with HPI necessary?
Talking in front of students and their teachers is completely different from talking to practicians. This is a challenge but I think we need the help of universities, students and academics to develop next generation applications – and that’s why we have to explain them why HANA matters.
If you want to drive innovation in your enterprise, projects with students supervised by senior IT architects is very promising. I supervised some diploma students in the past and I was able to win new colleague for my company and we got very good results. And we need the creativity of young students and professionals to develop existing new applications.