Читать книгу Practical Guide to SAP HANA and Big Data Analytics - Stefan Hartmann - Страница 33
2.1.2 SAP HANA engines
ОглавлениеThe engines within SAP HANA build the foundation for any application running on the SAP HANA platform. The development of the SAP HANA engines started with the first SAP HANA revision and continuously evolved during further revisions. SAP HANA started out with the following engines: join, calculation, SQL, Online Analytical Processing (OLAP), row, column and XS. The importance of these engines, as well as the engines themselves, has gradually changed. From a definition perspective, it is hard to say what exactly constitutes an engine. When reading different lists of the SAP HANA platform features, further engines are mentioned. These include the spatial, the graph, and the planning engines; and depending on the definition of “engine”, we could even say there is a “predictive” engine. We will take a closer look at the SQL engine in the following section. Further detail about the predictive and spatial options can be found in Section 2.4.
The SAP HANA engines
For detailed information on the SAP HANA engines, we recommend reading our book SAP HANA Advanced Modeling.
Important functionalities of SAP HANA are the modeling of views, the execution of SQL statements within the database for checking results, and the ability to write more complex programming logic. In these cases, the SQL engine is utilized.
First, we need to take a step back and have a quick look at SAP HANA views. SAP started out by distinguishing attribute, analytical and calculation views in the first Service Packs. In the last two years, we have noticed a clear movement towards using only calculation and scripted SQL views. In addition, SAP has not only been promoting the use of Core Data Services (CDS) views to the customer, but has also been promising to build future extractors and embedded analytics for S/4HANA based on CDS views.
CDS views, like calculation views, are based on SQL. Due to this development, we believe that the SQL engine should be explained in more detail here.
So how does the SQL engine work? The SQL engine does not simply take SQL code and query the referenced objects within it. It combines the statements and optimizes them so that, at the end, one large query is run which has ideally been compiled into a high-performing statement. This enables the author of SQL statements to design easily readable code or views while not having to constantly think about performance. However, be aware that this will not always work, and testing with PlanViz (Plan Visualization) is a mandatory task you need to perform.
PlanViz is an SAP HANA-based tool for analyzing and visualizing the performance and execution structure of queries.
SQL Engine
You can usually rely on an SQL engine to optimize code, and it offers good support for programmers. However, be aware that complex coding requires you to do the optimization yourself because, in these cases, the engine will not always be able to handle the code on its own.