SAP BW (Business Warehouse)
SAP Business Warehouse (BW) is a model-driven data warehousing product based on the SAP NetWeaver ABAP platform. It collects, transforms and stores data generated in SAP and non-SAP applications and make it accessible through built-in reporting, business intelligence and analytics tools, as well as third-party software.
SAP BW is also a development platform that programmers use to create and modify data warehouses, perform data management tasks, generate reports and develop analytics applications. Business users typically access SAP BW through an application built by a developer, such as an executive Dashboard or mobile app.
Unlike most data warehousing products that are based directly on a database platform, SAP BW allows for defining data warehouse objects like data sources, data stores and queries, which it then instantiates and manages in different ways depending on the platform it runs on, as well as other constraints.
Versions of BW
Historically, BW was created to provide online analytical processing (OLAP) on top of SAP's transactional system R/3, which was optimized for online transaction processing (OLTP). BW was originally focused almost entirely on extracting data from SAP systems and reporting on that data, but relatively quickly added additional capabilities and flexibility. With its 3.x versions, it became a full-featured data warehouse system providing for data collection, data transformation, storage in both flat and relational cube models, and a flexible query system and set of reporting and business intelligence tools under the name Business Explorer. This transformation continued with the 7.x versions (which directly followed the 3.x versions), which introduced new features and a simplified data transformation scheme. The system could be used outside an SAP environment, but the product continued to see almost all of its use among SAP's R/3 and CRM customer base.
With the advent of the SAP HANA in-memory database, SAP created a succession of versions of BW based on HANA. The first glimpse of these was the BW Accelerator, which acted as a columnar query cache for BW data models in the 7.x versions. Then a version called BW on HANA -- based on BW 7.x versions, but running exclusively on the HANA database -- was released, providing for optimizations specific to HANA. In 2017, BW/4HANA became available. It is a next-generation version of BW that removed a large number of legacy features and introduced new data models that are more optimized for HANA's columnar in-memory architecture.
How SAP BW works
Until recently, BW was relatively unique among data warehousing platforms in that it is, by default, fully model-driven. This means that a BW developer uses BW's interface to specify the data flow and storage of a data warehousing scenario, and then BW handles instantiating the model on the database and running the processes to ingest, transform and store data. This model has become more common in the cloud era.
For BW specifically, being model-driven meant developers would log in to the SAP GUI and use transaction codes like RSA1 to build their data warehousing scenarios, rather than using SQL and stored procedures in a database management system. More recently, BW development activities have moved to open source Eclipse and web-based tooling based on the SAP Fiori design language. The models defined in these tools are deployed on a development system, tested and migrated to quality assurance and production systems.
Up until BW on HANA, BW always ran on the SAP NetWeaver ABAP platform but was database-agnostic, supporting all databases that NetWeaver supported, including Oracle, Microsoft SQL Server and IBM DB2. Beginning with BW on HANA and continuing through BW/4HANA, BW still runs on the NetWeaver ABAP platform but requires the use of the HANA database. Many customers still use BW 7.5, the last database-agnostic release, on non-HANA databases.
Advantages of SAP BW
The model-driven nature of BW gives it many advantages and some disadvantages. The primary drawback is that BW is a proprietary toolkit, and it's harder to find BW developers compared to programmers for standard SQL data warehousing tools. A large advantage of BW is that once the model is defined, the customer has a great deal of flexibility for making changes to the platform, and the system can make use of new platform features with little to no development work.
For example, BW customers on BW 7.5 who have stuck with a model-driven approach can switch between Oracle and HANA databases with relatively low disruption. Similarly, when BW customers upgraded their systems to BW on HANA, those who stayed with a model-driven architecture saw that many of their defined data transformations and data activation steps moved from being processed on the application server to being processed in-database. This often resulted in a marked performance improvement. Because of its nature as a model-driven toolkit, BW was able to make those changes to processing without disrupting the semantics of the defined model.
BW continues to evolve, primarily to support additional data sources, targets for output and simplification of modeling while providing additional modeling features like data aging and spatial and predictive processing.
In its BW/4HANA incarnation, BW has become more integrated with the HANA data management platform, as well as with cloud-based tools like SAP Data Hub. BW/4HANA has also moved toward more open integration with tools like Hadoop Distributed File System (HDFS), Spark and other big-data management tools.