Classic Data Warehouse Development
In classic data warehouse development, developers work in the same workspace and runtime, on the same version and directly on the database. This leads to potential conflicts (for example, concerning access management and version control) and implies comparatively long development processes.
Modern Data Warehouse Development
In modern data warehouse development, as provided with an SAP HANA SQL Data Warehouse, developers and features work in isolation from one another. This makes parallel development and testing as well as continuous integration and delivery possible. This is only possible thanks to the SAP HANA Extended Application Services advanced model (XSA). XSA adds an application platform to the SAP HANA in-memory database. It is the connecting piece between the SAP HANA platform and tools that leverage an SAP HANA SQL DW; above all, SAP Web IDE and Git.
Technical View of the Development Method
Conceptual View of the Development Process
DevOps is the Backbone for a Software-based DW Development
The DevOps principle is the conceptual basis, the backbone for software-based data warehouse development. The figure shows all eight stages including the tools that can be used in each stage. Note that the tools listed here are only recommendations which can be switched and extended arbitrarily.
The figure also helps to clarify the benefits of software-based data warehouse development:
- Easy, straightforward delivery concept with clear procedures and stages
- Independent and parallel work thanks to sandbox development
- Easier development through modeling instead of coding
- Generation of metadata (SDI flows)
- Unity of development and operations helps to simplify projects
- Shared knowledge repository for all content
- Agile project management/agile development possible
- Easier maintenance and transparency through application-based approach
- Plug-and-play deployment thanks to container-based development
- Isolated application runtime universally deployable on any SAP HANA on-premise or cloud instance
- Simplified delivery as dependencies are described delivery packages
- Integrated tooling environment (tools can access other tools and their resources)
- High extensibility through modular structure