Data Warehouse

This material pertains to version 3.0 of Blackbaud CRM SDK.

Starting with version 2.94, the MartKey attribute allows you to create query views against the Blackbaud Data Warehouse database instead of the transactional database. In 2.94, you can use these query views to populate list builders but cannot use them as source views in the application.

Starting with version 3.0, the MartKey attribute was extended to allow you to create query views against the data warehouse and use them as source views to create queries in Blackbaud CRM.

Depending on your version, the MartKey element is also available on other spec types, and you implement it the same way for all spec types.

The MartKey element improves performance of query views by querying the data warehouse instead of the transactional database, but keep in mind that data in the Blackbaud Data Warehouse is not up to the minute. An ETL process updates the data warehouse on a scheduled basis, so the data warehouse does not include any data that was added or updated after the most recent ETL run. If query results must be up to the minute, you probably don't want to use the MartKey attribute to query the data warehouse.

However, if this is not an issue, your query views will experience many benefits by querying the data warehouse.

  • The data warehouse database is smaller than the transactional database. The database for data warehouse is usually about 10-30 percent of the total size of the transactional database. This improves performance because more of the database can be stored in memory.

  • The database is often on a separate SQL Server. This improves performance because you are not hitting the same tables that are constantly updated by imports, batch processes, and other actions in Blackbaud CRM.

  • The table structure for the database is simpler than for the transactional database. The Blackbaud Data Warehouse uses a star schema that generally requires fewer JOINs than the transactional system.

Tip: For an example of how to implement the MartKey attribute for a search list, see Write Search Lists against the Data Warehouse.