I have the following database structure, stored in a relational database:
- Two fact tables with ~80 million rows each
- Three dimension tables that have between 300,000 - 500,000 rows
- Both fact tables have 3 foreign keys that are used to join to the dimension tables
- One security table also has 3 foreign keys that are used to join to the dimension tables
A developer is using my data to create an application that utilizes a columnar database. They have been having issues with performance, and when I suggested adding indexes / keys to their tables, they said that indexing a columnar database does not improve performance. As a result, they are asking me to combine the fact tables with the dimension tables.
This seems to contradict what I know about the fundamental principles of database management. Is it true that columnar databases cannot use indexes to improve performance? What steps should be taken to optimize columnar performance?
I am seeking high-level information, but for the sake of completeness, the relational database is Teradata, and the columnar database is SAP HANA.