Calgary is a list count data retrieval engine designed to perform analyses on large scale databases containing millions of records. Calgary utilizes indexing methodology to quickly retrieve records. A database index is a data structure that improves the speed of data retrieval operations on a database table. Indexes can be created using one or more columns of a database table, providing the basis for both rapid random look ups and efficient access of ordered records.
As of the Alteryx 5.0 release, Calgary indexes are case insensitive. Calgary databases created in a version earlier than 5.0 will still be case sensitive.
There is a 2^31 limit on the number of records in a Calgary Database (approx 2 Billion). It is designed for a sweet spot of around 100-300 million records. When working with more than 300M records, the 64bit version of Alteryx engine is highly recommended.
Calgary functionality is accessed through the Alteryx Tool Palette and provides the following functionality to load and filter Calgary databases:
The Calgary Loader Tool enables users to create a Calgary database (*.cydb) from any type of Input file. Each field contained in the Input file can be indexed to maximize the Calgary database performance.
The Calgary Input Tool enables users to query a Calgary database.
The Calgary Join Tool provides users with the ability to take an input file and perform joins against a Calgary database where an input record matches a Calgary database record based on specific join criteria.
The Calgary Cross Count Tool enables users to aggregate data across multiple Calgary database fields to return a count per record group.
The Calgary Cross Count Append Tool provides users with the ability to take an input file and append counts to records that join to a Calgary database where an input record matches a Calgary database record based on specific join criteria.