If your data comes from a data connection to an external system, you have the opportunity to choose how the data should be loaded when adding data; either as in-memory data, analyzed by the internal data engine of Spotfire, or, as in-database data (in-db data), where all calculations are handled by the external system.
In-memory analysis (Import)
Text files, Excel files, and information links (not available on Cloud) are always imported and analyzed in memory, whereas, with data connections, you can choose to import the data, if desired. When you are working with data in memory, you have access to all the functionality of Spotfire, via the built-in data engine. The internal data engine is available to all users, either in the Windows client or, for web client users, on the server. You have the opportunity to use all columns as filters and you can perform many types of calculations.
If your data is small enough, imported data is most of the times the preferred option, because it may improve the performance of calculations.
In-database analysis (External)
If you choose to keep a data connection external, all calculations are done using the external system and not with the Spotfire data engine. This allows you to work with data volumes too large to fit into primary memory and take advantage of the power of the external system. When working with external data connections, you access only the current selection of data and all aggregations and calculations are made in database (in-db).
When a visualization uses in-db data, the visualization queries the external data source directly. Every time a change is made to the configuration of the visualization, e.g., a measure is defined on the Y-axis or a categorical column is added, a new query is sent to the external data source resulting in new, aggregated data.
When working with in-db data it is the connector and the underlying data source that determines which aggregation methods are available.
In-db data may be preferred if you are working with very large data volumes, which would not fit in-memory, or if you want to make sure that the data is always the latest data from your external system, and always handled in the ways of your external system.
Data loading settings
Regardless of whether you use in-memory data or in-db data, you can specify Data loading settings for each source in your data table. These settings determine whether to use Stored data, Always new data or New data when possible. You can change the data loading settings for applicable sources from within the Data canvas. See Storing data within the analysis for more information.