Partitioning SAP HANA database tables
When modeling with Analytic Views in SAP HANA, you can use the table partitioning feature of the database. This allows tables to be partitioned horizontally into disjunctive sub-tables or partitions as they are also known. Partitioning supports the creation of very large tables by decomposing them into smaller and more manageable pieces. It is transparent for most SQL queries and Data Manipulation Language (DML) statements.
SAP HANA database tables with more than two billion rows
A non-partitioned SAP HANA database table can store 2 billion rows. By utilizing SAP HANA partitioning as described in the guide SAP HANA Database - Partitioning and Distributing Large Tables (see SAP Note 1650394 SAP HANA Database: Partitioning and Distributing Large Tables), this limitation of 2 billion rows for each database table can be overcome by distributing the table rows to several partitions. Please note, each partition can contain up to 2 billion rows. For example a 3 billion row table can be partitioned into 2 separate tables each containing 1.5 billion rows.
Characteristics of modeling view types with big data tables
By utilizing SAP HANA database partitioning large datasets of over 2 billion rows can be operated upon. When modeling with, or querying on, these large data sets you should use Analytic Views.
Please be aware that queries on this large amount of data might lead into an "out of memory" situation if a large (intermediate) result set is requested.
SAP recommends avoiding the following query types/modeling constructs in analytic views as they might lead into an "out of memory" situation:
- Do not use group by on key or key like constructs
- Do not reference to key or key like constructs
- Do not use formulas, which are based on calculated attributes/keys/key like constructs