Lookups is a really good way of speeding up the way that lookup tables are accessed by a graph. Rather than using a regular component which might want to read in lots of data repeatedly, a Lookup table is managed as a special entity by Clover. You can even specify that it remains permanently in memory. For larger lookup data sets which would overload memory, there are good alternatives that still offer major speed advantages.
Clover offers the following Lookup types
|•||Simple - this is a pure memory based lookup and therefore extremely fast. Obviously, you need to have enough memory to store the entire table. You should allow for 6 times the amount of memory relative to the size of the raw lookup data.|
|•||Database - uses a database Connection to perform the lookup. Any size data can be looked up using this.|
|•||Range - this allows a data value to return a value that falls within a range of values. For example, you might have a field that contains a frequency in Hz and you want to code this into "Low Frequency", "High Frequency", "Very High Frequency". You would use the Range Lookup to pass inthe actual frequency and have the lookup return the corresponding text.|
|•||Persistent - this performs a lookup within a special binary file. This is used for large data sets that are too big to always have in memory (Simple Lookup). You have top populate the binary file using the LookupReaderWriter component before this can be used. A detailed explanation of this is beyond the scope of this QSG.|
|•||Aspell - this commercial only component performs an approximate lookup that can match mis-spelt names.|
The best way to understand Lookups without giving you pages of text is to watch the video.