PRIME Deep Dive. Introduction... 1 Data Model and Load... 2 OLAP Cubes... 2 MTDI Cubes... 5

Size: px
Start display at page:

Download "PRIME Deep Dive. Introduction... 1 Data Model and Load... 2 OLAP Cubes... 2 MTDI Cubes... 5"

Transcription

1 PRIME Deep Dive Table of Contents Introduction... 1 Data Model and Load... 2 OLAP Cubes... 2 MTDI Cubes... 5 Data Processing and Storage In-Memory... 7 Cube Publication Stages... 7 Cube Publication: Parallelization and Partitioning... 8 In-memory Data Storage... 9 Cube Publication Performance Profile and Driving Factors... 9 Cube Reporting Functional Considerations for MTDI Cubes On Relationships and Data Correctness Table Row Count Metrics Drive Aggregation on a Table Performance Considerations for MTDI Cubes Partitioning Performance Effect & Guidelines Dashboard Design Considerations Document Data Blending: Multi-cube Engine (MCE) Multi-table Data Import Cube (MTDI) Table Join Recommendation: Use MTDI for Joining Troubleshooting and Diagnostics Useful Logs Engine Perf Log Other Logs Cube Health Checker Introduction MicroStrategy s in-memory cube technology has been generally referred to as PRIME cubes since PRIME stands for Parallel Relational In-Memory Engine, and it engulfs two types of in-memory cubes: OLAP cubes, or the traditional Intelligent Cubes that have existed since 9.x releases, and the new Multitable Data Import (MTDI) cubes introduced in 10.x. Both types of cubes leverage the new partitioning functionality that allows loading more data to memory and querying this data in a parallel fashion leveraging multi-core hardware architectures. The most obvious difference between OLAP and MTDI cubes is how they are authored and created; OLAP cubes are only authored through Developer and are tightly coupled to a MicroStrategy project schema. Because of this, OLAP cubes are traditionally built and maintained by advanced BI developers or

2 architects. On the other hand, MTDI cubes are authored through MicroStrategy Web, and through Visual Insight or MicroStrategy Workstation, these cubes do not need a project schema, and therefore business users can themselves create these cubes by directly loading data from one or more sources and determine what columns are attributes, along with their relationships, and which are metrics. MTDI cubes are the self-service in-memory solution. Aside from how they are exposed to end users, there are also more fundamental and intrinsic differences between these two types of cubes, and these distinctions are the basis for the performance profile and available functionality for these two types of in-memory cubes. These differences are summarized in the diagram below. Data Model and Load OLAP Cubes OLAP cubes consist of a filter and a data template comprised of project attributes and metrics; metrics can be level metrics and can have transformations or conditionality. Cube publication, or the Data fetching from underlying relational sources is similar to that of a standard reports: multiple SQL passes generate several intermediate tables (for e.g. transformations, conditional metrics, aggregations from several fact tables), and all temporary result sets are joined together into a single final result table that is loaded to the Intelligence Server s memory, the intelligent cube instance.

3 For more information on Intelligent Cubes, please refer to the In-Memory Analytics Guide, part of the official documentation: The publication of OLAP Intelligent Cubes consists of the following stages along with the most relevant settings that can help improve publication performance: Query generation and execution: this involves the generation of SQL passes and their execution. Outside of all the SQL generation VLDB settings available for all report/cube executions, in particular the following can help optimize this step: o Parallel Query Execution (VLDB setting under Query Optimizations): Allows the execution of some or all intermediate passes to execute in parallel. See KB44052: How does the feature in the MicroStrategy 9.3.x SQL engine: "Parallel Query Execution" work. Data fetch from the data source: this involves the actual movement of data from the data source to the Intelligence Server memory, and the data preparation within the Query Engine and into the MicroStrategy s In-memory Engine. Of relevance, these settings can help improve memory usage or overall data load performance: o Data population for Intelligent Cubes (VLDB setting under Query Optimizations): Controls how data can be normalized either in the intelligence server at different stages of the publication workflow or at database level, potentially impacting the amount of memory used during cube publication. The default setting is for the Intelligence Server to normalize data early in the publication workflow. See KB32540: Intelligent Cube Population methods in MicroStrategy. o Parallel Data Fetch (Data > Configure Intelligent Cube > Data Partition): Allows fetching slices of the final result table in parallel through different database connections.

4 The parallel data fetch setting is coupled with the cube partitioning settings for Intelligent Cubes in terms of the attribute/column used to split the final result table into equal parts for data transfer and the number of parallel data fetch connections.

5 MTDI Cubes MTDI cubes have a local self-contained schema, containing a set of tables. The corresponding attributes and metrics in this local schema only represent the columns in these tables; therefore, this contrasts from a project-level schema, where fact objects and attribute forms can represent SQL expressions that are executed in the data source. Moreover, cube publication for MTDI consists of loading data from multiple tables in parallel. A summary of the modeling differences between a MTDI cube schema and the project schema, are the following: Project Schema (OLAP) MTDI Schema Comments Logical Representation of Data Source objects Tables Tables Tables Fact columns Fact objects Metrics Metrics directly represent aggregable columns without facts. Dimensional columns Attribute & Attribute Forms Attributes & Attribute forms Attributes Modeling Attribute Form Expressions Attribute Lookup Table Yes No In MTDI, any column-level transformation happens through Data Wrangling, or in Visual Insight with derived attributes; alternatively, use SQL as the table in MTDI. Yes No For MTDI, Attributes do not have an explicitly defined lookup table; the lookup table is auto-generated (union of all distinct elements of an attribute present in all tables). Multiple Forms Yes Restricted MTDI only allows defining a few forms for an attribute: ID, DESC, DATE, SORT, Latitude, Longitude. It also supports which are display forms by default. Other Schema Functionality Fact Expressions Yes No In MTDI, any column-level transformation happens through Data Wrangling, or in Visual Insight with derived attributes Partition Mappings Transparently supported; SQL Engine, brings data from multiple tables result table that is loaded into OLAP cube Multiple Tables with same columns can be loaded in parallel into a single inmemory table In MTDI multiple horizontally partitioned tables can be loaded into a single in-memory table. Transformations Yes No Logical Tables Yes Yes A table in MTDI can be a freeform SQL pass, for example. Table Aliases Yes No Useful for attribute roles; in MTDI the same table can be imported multiple times to achieve a similar

6 Reporting Functionality Standalone filters or Yes prompts Conditional Derived In cube or through derived Metrics, metrics Level Derived In cube or through derived Metrics metrics Transformation In cube Metrics Compound Metrics In cube or through derived metrics If project attributes are mapped to table columns Only through derived metrics Only through derived metrics No Only through derived metrics. Alternatively, imported tables could be actual SQL, in which some columns are expressions. effect, but with potential performance issues. Unlike OLAP cubes, MTDI cubes cannot contain in their definition transformation metrics, conditional metrics or complex compound metrics. These need to be built through derived metrics when reporting from MTDI cubes. Derived Metrics on top of both cubes have in general the same limitations: end-on-hand-type of metrics (grouping = first/last value) is currently supported as a beta feature, and transformations metrics cannot be created as derived metrics. Partitioning Configuration Data Partitioning Yes Yes Allow loading more than 2 billion rows of data in memory; leverage multi-core architectures to query/calculate data in parallel. Auto-partitioning No Yes Automatically determine whether partitioning should be enabled (largest cube table is larger then 1 million), and if enabled, determine partition attribute. For MTDI cubes, In terms of data loading, all tables are loaded into memory in parallel. Particularly for partitioned tables (multiple tables linked to a particular logical table, as in when the same table coming from different sources is dragged multiple times in the data import dialog), the following settings control the degree of parallelism for data loading (how many tables to load at the same time): o Parallel Query Execution (VLDB setting under Query Optimizations): Allows the execution of some or all intermediate passes to execute in parallel. See KB44052: How does the feature in the MicroStrategy 9.3.x SQL engine: "Parallel Query Execution" work. All the SQL queries executed against relational sources are simple select statements retrieving all columns for a table with simple filtering criteria (if so defined). Therefore, there are no joins or aggregations when selecting data from these relational sources.

7 The exception to the above is when the imported table is actually a user-entered SQL statement modeled as table in the MTDI cube; in this case the SQL statement may have joins and aggregations. Data Processing and Storage In-Memory After data is transferred to the Intelligence Server from the data sources, the data goes through some processing to store the data in an efficient way, and in a way that querying the data in memory is quick. Both OLAP and MTDI have the same data processing stages, with MTDI cubes having one more stage, related to relationship table building. Moreover, unlike OLAP cubes which consist of a single table, MTDI cubes processing is done for several tables. Cube Publication Stages When publishing a cube in memory, generally speaking the Intelligence Server does the following: Create Lookup tables for attribute data: identify set of unique data elements per attributes, assign numeric indices for these data elements for performance purposes, and attach lookup forms (description, etc.); these indices are used in metric indices later. Lookup table creation is done in parallel, for every attribute or attribute partition. Create Relationship tables: relationship tables relate attributes elements to improve performance when joining data. This only applies to MTDI cubes. Relationship table generation is relatively fast (just indices of multiple attributes based on data present in one or more tables). Relationship table building is done in parallel by relationship table.

8 Build fact tables: Fact represent the actual tables the users upload; these tables only contain attribute indices along with references to the metric data. This stage involves creating the fact table index, populating metric columns and generating of additional indices that help improve element filtering. Fact table generation is also done in parallel, by table or table partition. Persist the Cube: This step creates the corresponding cube files to allow loading the cubes without the need to republish. Cube Publication: Parallelization and Partitioning The stages of publication are executed one after the other serially, but each stage is completed and processed in parallel as described above to leverage multi-core architectures. By default, the level of parallelization during cube publication varies by the number CPUs in the host machine. By default, only half the number CPUs can at most be used for cube publication (not exclusively). This means the number of executors for every cube publication can use as much half the number of CPUs. Cube partitioning can help further parallelize the processing of the cube publication process, allowing for a single attribute or table to processed in parallel according to its partitions. Following the diagram above, each individual section/table is processed in parallel within each publication stage. OLAP cube partitioning is essentially the same, but consisting of only one table. By default, MTDI cubes are configured to be auto-partitioned. By default, if the largest table has more than 1 million rows, it will be partitioned according to the attribute with the largest number of distinct elements (the lowest-level attribute), to ensure data is distributed equally across partitions. The default number of partitions is 4 (changeable from the Data Import Cube Edit dialog).

9 In-memory Data Storage To note, there are a few optimizations that help reduce the memory usage when loading cube data to Memory: 1. Metric value compression: This was introduced since 9.x, and this avoids keeping in memory duplicate metric values. This applies to metrics of type double, strings (basically, all types that are larger than integer). The current rule in the code is if all rows for a metric have the same value, or if the row count is greater than the distinct number of rows times 10, then we do not repeat metric values for all rows; we save it once in memory. 2. Index compression: Besides the fact that data is referred to by indices, the space used to hold indexes in memory is also optimized by using smaller data types to hold the index values, depending on the number of elements, for example, for an attribute. So, instead of using integers (4 bytes) to represent an index value, we use a short (2 bytes), which reduces the index space by half, to say an example. 3. Metric data type compression: This optimization changes the data types of columns internally, as in, if we can hold all the values in a column in a smaller data type, we use a smaller data type to hold data in cubes in-memory (e.g. All decimal/big decimal numeric values can be represented with an integer, then we just use integer, to say an example). 4. Normalization of data: Data is normalized in memory so that redundant data is not saved (such as attribute descriptions, etc.) in memory; and we use indexes to relate lookup data and fact data, not relying necessarily on original attribute primary keys (which may not be as efficient to store or relate data among tables, e.g. strings). Cube Publication Performance Profile and Driving Factors The general performance profile of the publication of a cube is shown below. There are factors that may affect each phase in the publication, and these factors depend in the cube schema and data in the cube.

10 The general curve applies to both MTDI and OLAP cubes, with the differences that OLAP cubes only consist of one table and do not contain relationship tables (no need to join data among tables inmemory). The shape of the curve again would vary based on the schema and data being published. Every publication stage has main driving factors that could increase or decrease its execution time or memory usage, and these factors should be considered especially when publishing MTDI cubes. OLAP cubes depend on project schemas, which generally rely on database designs that optimize data organization with optimized data types for unique identifiers; plus, these OLAP cubes depend on architected, tested and optimized MicroStrategy schemas. MTDI cubes, though, are created and defined on-the-fly at data import stage, allowing for many or any type of data schemas and data types; therefore, a few guidelines help improve the publication of these cubes. Stage Factors Affecting Performance Main task in stage Query Execution and Data Fetch Avoid loading a lot of redundant data for large datasets (normalize data); repeated data may be loaded in memory for some time until attribute lookup tables are finished. Use the smallest data type possible in the schema configuration for every column to minimize memory usage in memory in this stage. Raw data is loaded in memory in this stage. Lookup Table Generation Relationship Table Fact Table Generation String or dates as Data type of ID attributes are slower to process. Very high cardinality of individual attribute elements in combination with string/date data types can slow down the lookup generation phase. The number of the automatically detected or user defined relationships tables generated. Larger fact tables will take longer to index and populate Larger number of metrics in a single fact table can delay the full fact table generation stage. Identifying unique elements for columns and sorting them. Sorting string Identifying unique tuples of two related attributes. There is a relationship table building validation logic: if two attributes are supposed to have a one-to-many relationship but the data appears otherwise as manyto-many, the relationship table is not built. Main index generation and metric population is done for every loaded table.

11 Refresh operations on single fact table will cause full table metric population; if only small set of metrics change it may make sense to partition into smaller vertical sections of the table. To visualize detailed logs on the full publication process, enable the Engine > Perf log in the MicroStrategy Diagnostics tool. Notice that this log is quite verbose, so enabling it may affect performance of executing objects and the cube s publication time. Cube Reporting Cube reporting for both OLAP and MTDI cubes consists on queries against MicroStrategy s the Inmemory Engine, which executes the data queries on the in-memory cube. Because of the configuration/composition of the both OLAP and MTDI cubes, OLAP cubes tend to be essentially faster because there is only one in-memory table in the cube, pre-joined with all attributes defined in the Intelligent Cube template. For MTDI cubes, in contrast, there will be more processing when retrieving data since data in tables will need to be joined to filter, project and aggregate data. OLAP Multiple queries (Cube Subset Instructions, CSI) Queries against, one single inmemory table for projection, aggregation, filtering MTDI Multiple inmemory queries (CSIs) against multiple inmemory tables for joins, projection, aggregation, filtering Auto-Join functionality (use imported tables as relationship tables, e.g.): No explicit need to define relationships, but useful to

12 optimize queries. Not available: Transformations, begin/end-onhand metrics using metric dimensionality Functional Considerations for MTDI Cubes MTDI cubes, whenever they are composed of multiple tables, will have different functional and from OLAP cubes. This is just a summary of the most commonly encountered ones. On Relationships and Data Correctness Data Import automatically tries to identify relationships among attributes in a table; most of the time, it makes sense to delete these automatically created relations, and define the minimum set of relations that make sense for the user. Having incorrect relationship can cause unexpected data.

13 It is possible to disable this automatic identification of relationships by modifying the following registry setting: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microstrategy\DataImport\AutoDetect Add a DWORD entry named "NeedAutoDetect" with value of "0" to disable relation auto detection. Any other value for that registry entry or if the entry is not present, relation auto detection is enabled. On One-to-Many Relationships A relationships between two attributes has a direct effect on how data is, for example, aggregated. Consider the following example below, in which having or not having a relationship between Year and Quarter will have a direct effect on how data is aggregated. Consider the following multi-table cube with cost data is stored at the Quarter (and Category) level: Also consider a visualization with the quarterly cost in the example along with another metric showing the corresponding yearly cost for every quarter. The per-quarter yearly cost metric is defined as a level metric as shown below:

14 Whenever there is a relationship is present or not, the above metric is calculated or aggregated at a different level. Therefore, relationships between attributes have a direct effect on data correctness; these one-tomany relationships in particular should be defined to have proper aggregation when dealing with level metrics. Notice, though, that inaccurate one-to-many relationships can also affect data correctness; for example, a fact table in an MTDI cube may have both year and month attributes, and a revenue metric. If there is a one-to-many relationship between year and month (one year can be related to many months, and a month can only be related to one year), then the revenue metric s true level is at the month level. In this case, the metric s index only can be expressed only in terms of month. If these two attributes were not truly one-to-many, the reduced index may result in unexpected data (double counting for example). On Many-to-Many Relationships Many-to-Many relationships for the most part are unnecessary, so avoid defining them in the MTDI cube definition. CSI engine may cause additional unnecessary joins, and the additional many-to-many generated relationship tables may use redundant data present already in user-uploaded tables. Unlike one-to-many relationships, which help improve performance to avoid doing more expensive joins between tables or to have proper data correctness, many-to-many relationships are not necessary. CSI auto-join will identify that if two unrelated attributes are in the same table, then it will use it as the relation between these two attributes. This makes it unnecessary to create separate many-to-many relationships between attributes.

15 Table Row Count Metrics MicroStrategy automatically creates a new base metric called Row Count [Table Name] for every table in a MTDI cube. This metric is equivalent to having a column with value of 1 for every row. This allows to see the rows involved in any aggregation on the grid. This metric is visible from Visual Insight.

16 Drive Aggregation on a Table Aggregation functions such as Count traditionally have a function parameter called FactID in project schema metrics; this parameter forces the SQL engine to count the given column in the table that maps to the provided fact. This can also be achieved in MTDI cubes through the MetricID function parameter.

17 In the example above, the metric counts the distinct months present in the Order_Fact table; another count metric could count the months in another table, such as an inventory table, for example. Performance Considerations for MTDI Cubes MTDI cubes, given its multi-table configuration, will also have a different performance profile from OLAP cubes. When querying MTDI cubes internally, the dashboard in question will generate a set of instructions (Cube Subset Instructions) that are executed by the In-Memory Engine. These CSI queries are like SQL statements.

18 In the example above, in MTDI cube containing tables from MicroStrategy Tutorial, retrieving two metrics from two separate fact tables will cause three queries: retrieving data from each fact table and then joining the results from the first two passes. The main factor that will affect performance when reporting off these cube is mainly the join operation. To name a few, these are the factors that can impact response time when querying MTDI cubes: One-to-many relationships. Correctly set relationships help improve query performance by avoiding doing more expensive joins between user-uploaded tables, and instead leveraging automatically generated relationship tables, which tend to be smaller than the user-uploaded tables, in joins. Number of tables joined in query. Retrieving metric data from many fact tables in the MTDI cube could affect execution time as there are more join operations. Security filters will force the application of filters to ensure data is secured; if a table does not have the security attribute, the CSI/SQL engine, through its auto-join functionality, it will find a way to join the main table that has the user-requested data with other necessary tables that contain attributes used in the security filter. This automatic joining may impact performance.

19 join join A, B B,C C, D D, E join Table with Userrequested data Table with attributes used in filters Complex filters that will result in multiple passes and joins; if multiple filter conditions are based on multiple attributes not present in the same table, then similar to the security filter case, the filter will be applied by joining data. Many-to-Many relationships for the most part are unnecessary, so avoid defining them in the MTDI cube definition. CSI engine may cause additional unnecessary joins, and the additional many-to-many generated relationship tables may use redundant data present already in useruploaded tables. Partitioning Performance Effect & Guidelines For cube reporting, partitioning can improve reporting performance against cubes, for both MTDI and OLAP cubes; nonetheless, there are multiple considerations. For cube reporting, the benefit of partitioning relies on parallelizing the aggregation of data in parallel leveraging the multiple CPUs present in the Intelligence Server host machine. Therefore, in order to take full advantage of partitioning, the partitions of a table should be similar in size so that the processing load is distributed equally across the parallel/map tasks when querying cubes. Consider the following points: Select the correct partition attribute/table:

20 o o o o The partition attribute should be an attribute in the largest table (for the case of MTDI cubes); any table larger than 2 billion rows must be partitioned. The partition attribute should be the lowest-level attribute, with the most number of distinct elements; this attribute should be aggregated over in most or all queries, and it will almost never be used in grids by users directly. The attribute ID should be numeric, date or text. The partition attribute should not be a parent attribute of another attribute. Do not partition relatively small cubes. Sample case study, for an OLAP cube with 20,000 rows, a dashboard running off this cube degraded by 50% after the cube was split into 24 partitions. The reduce step cost was greater than just not parallelizing/partitioning at all. Follow a similar guideline to the auto-partitioning threshold: if there are more than 1 million rows in a table/cube, consider partitioning. Select the correct number of partitions: o Do not set partition numbers to more than half the number of (logical) CPUs. By default, for the cube publication process, the number of partitions processed in parallel is not more than half the number of CPUs in the machine. More partitions would not be processed in parallel (as explained in section Data Processing and Storage In-Memory) o Increasing number of partitions only does not help improve performance. By default, to ensure performance is maintained under user concurrency, every cube query can use at most 4 CPUs (not exclusively), ensuring other CPUs have fully dedicated time for executing other tasks. This means that even if a cube is split into more than 4 partitions, no more than four map tasks will execute in parallel. This number can be changed through registry settings (or MSIReg.reg); contact technical support or professional services especially if your environment has many cores (e.g. 86 cores) that could dedicate more CPUs per job. Identify reporting scenarios that will parallelize queries that include any of the following types of functions: o Additive (e.g. Sum, Count, Min, Max) and Semi-additive (e.g. Avg, StdDev, Variance, etc.) functions. Additive functions can be re-aggregated. Semi-additive functions are be decomposed into additive functions (e.g. Avg = Sum/Count) and re-aggregated; therefore these functions can be evaluated in parallel. o Count Distinct o Any scalar function.

21 Identify reporting scenarios that will NOT be parallelized and may see worse performance; these include cases that use non-additive functions (e.g. Median) Dashboard Design Considerations Both, MTDI and Dashboards/Dossiers, allow joining data from multiple tables and datasets, respectively. Though, both have different mechanisms to achieve this joining. Document-level data blending is useful mainly to allow displaying data from multiple pre-existent reports, view reports or OLAP cubes in single visualizations. Nonetheless, the recommendation is to model data joins from multiple datasets (multiple tables) within the MTDI cubes if datasets are MTDI cubes, instead of relying on the document-level data blending functionality. Behavior is consistent and deterministic, more user friendly (no need to know special settings), and there is less overhead for the document to execute. Document Data Blending: Multi-cube Engine (MCE) Documents have the capability to blend data from different datasets. This data blending is carried out by the Document s Multi-Cube Engine (MCE). This engine determines what data is needed to render visualizations in the dossiers; these data requirements are materialized in the form of multiple queries (Document-level cube subset instruction, CSI, statements) against the base document datasets. These document-level queries are processed by the individual datasets (kind of like mini view reports). The MCE queries to the document datasets are based on an interim schema representing the datasets in the document; this schema is formed in function of the linked attributes defined by the user.

22 The MCE generates these structures in its interim schema Document-level lookup tables for linked attributes: this allows populating full set of distinct elements present in all datasets. Document-level relation tables used to blend data between datasets: identify necessary relationship tables based on linked attributes and populate; in cases where different datasets have incomplete or complementary data, Document Setting Data Combination can help have full relationship tables coming from all datasets, but this can incur in increased memory usage and affected document execution time (more data joining in memory)

23 Some side effects of the using MCE is that Generation of relation tables has a performance overhead. Adding new datasets may modify the set of relation tables at the document level potentially resulting in different data. Blending behavior may differ on the of data of the base dataset; Data Combination should be turned on if datasets have partially common data (E.g. One dataset has year 2001, and a second has some 2001 and all of 2002 data). Using maximum relations may lead to potentially significant performance overhead. Grid-level settings such as outer/inner join for attributes or metrics do not take effect; to achieve similar effects for attributes, when data blending, use the dataset join behavior. Dataset Join Behavior Grid-level Join Behavior VS Besides the structures above, the MCE is also responsible to calculate Derived Attributes and element groupings, independently of whether there are multiple datasets or not. When there are multiple linked datasets, the derived attributes or groupings are populated based on the data coming from all datasets. Multi-table Data Import Cube (MTDI) Table Join Querying a MTDI cube is different; all tables are exposed as a MicroStrategy schema: collection of attributes, relationships among them and their mappings to tables; and metrics. Depending on the set of attributes and metrics requested in the grid/visualization, a set of cube subset instructions (CSI) are generated, similar to our SQL generated by our SQL Engine, determining

24 which tables in the cube to get data from, their joins, the aggregations and filtering specifications; the intermediate passes, and the final pass. Unlike the document-level blending engine (MCE), the MTDI cubes, as explained in previous sections, reporting against MTDI cubes Have a deterministic behavior according to a stable cube schema based on the attribute relations defined by the user along with the attribute mappings to the different tables. Query behavior is independent of data contents (no necessary settings analogous to the Data Combinations setting for data blending). Only by changing the cube schema explicitly can the join behavior change. All the automatically generated lookup and relation tables are created at publication time, and data results are consistent. There is no need to create new relation tables when used by a Dossier; all are already loaded in memory. All inner/outer join at the grid/visualization level are honored; the dataset join behavior setting is ignored. Recommendation: Use MTDI for Joining All in all, document-level data blending is useful mainly to allow displaying data from multiple pre-existent reports, view reports or OLAP cubes in single visualizations. Nonetheless, the recommendation is to model data joins from multiple datasets (multiple tables) within one MTDI, instead of relying on multiple document-level data blending functionality. Behavior is consistent and deterministic, more user friendly (no need to know special settings), and there is less overhead for the document to execute. Troubleshooting and Diagnostics Useful Logs Engine Perf Log The Engine Perf log is enabled through the MicroStrategy Diagnostics utility, and provides detailed information on both cube publication and plethora of information on what is going on within the Analytical Engine. The log is mostly useful for detailed troubleshooting as the log can be verbose. Nonetheless, it may be useful at times to understand multiple details: Execution any cube publication: Allows seeing the data types and amount of data loaded to the server (MSI table description), the time spent building lookup, relation and fact tables, and the level of parallelization (by seeing running threads).

25 Execution for cube querying: Allows seeing the CSI passes being executed and how long it takes to run these, along with the level of parallelization (by seeing the threads running the different evaluation tasks). When troubleshooting functional or performance issues, this log is very useful, but it must be run in single-user or single-job mode; in other words, the log should capture the information only for one job (one report execution, one cube publication, one document execution) in the whole server. Otherwise, the log will output information on multiple objects, and it is hard to relate those entries to the actual objects being run. For performance especially, it must be done in single-user, single-job mode. Other Logs A couple of other relevant logs to see the internal CSI passes only, without any other information, you can enable the Engine > CSI and MCE > Trace logs. The CSI log will output the CSI (Cube Subset Instructions) executed by the analytical engine; it is possible to see if there are crossjoins or how tables are joined internally when querying MTDI cubes. The MCE Trace log will also include CSI passes, but these are the document-execution specific. As explained in Dashboard Design Considerations section, the multi-cube engine s performs additional joins and queries; these passes are captured in the MCE Trace. Cube Health Checker We introduced a new command from the Intelligent Server console available when running the Intelligent Server as an application from the command line only for troubleshooting purposes:

26 cubehealthcheck. This command automatically verifies that the cube is structurally consistent and suggests corrective actions for the cube whenever possible. The command also collects relevant logs about the cube. The command can perform diagnostics for one particular or all loaded In-memory cubes (both Intelligent and Data Import cubes). Once the server is run as an application (from Windows, run Program Files (x86) /MicroStrategy/Intelligence Server/MSTRSvr2_64; from Linux, run [MSTR_Install_PATH]/bin/mstrsvr), enter the following command: cubehealthcheck {<cube_id> allcube} <cube_id> above represents the GUID of the cube report. If allcube is entered, then diagnostics are done for all the loaded cubes in the Intelligence Server. After executing the command, the console will output general information about the cube and suggested corrective actions for any problem found. A sample output is like the following: Project:3 Cube: CubeName... [BEGIN] Check basic cube information [INFO] Cube Name: CubeName... [INFO] Cube ID: CD8C4EC511E5E61004DB0080EF552B41 [INFO] Version ID: F29A767711E637C048E20080EFC5C708

27 [INFO] The cube is a multi-table EMMA cube. [INFO] The cube is not partitioned. [INFO] The largest fact table has 96 row(s). [INFO] The cube size is bytes. [INFO] The report instance size is Bytes. [INFO] Detailed information is in memory_usage.log [END] Check basic cube information [BEGIN] Dump cube structure logs [INFO] cubeinfo.log is dumped. [INFO] memory_usage.log is dumped. [INFO] cube header is dumped. [INFO] Server logs are copied from /home/diakite/mstr/ LIN/BIN/Linux [END] Dump cube structure logs [BEGIN] Check Relation tables [INFO] 1 relation tables in the cube [INFO] Detailed information is in cubeinfo.log [END] Check Relation tables [BEGIN] Check fact tables [INFO] There are 1 fact tables [INFO] Detailed information is in cubeinfo.log [BEGIN] Check fact table 0 [INFO] There are 96 row(s) in the table [INFO] There are 2 attribute(s) in the table [INFO] Attributes: State,INSTNM [WARNING] There are level metrics in the cube: Metric with Nulls, Row Count - CubeName.xlsx [WARNING] These level metrics have the same rows as main index, but in different order: Metric with Nulls, Row Count - CubeName.xlsx [SUGGESTION] If the cube is published before MicroStrategy 10.3, you may run cubehealthcheck levelindex <cubeid> to check whether the cube is corrupted and fix it. [END] Check fact table 0 [END] Check fact tables [BEGIN] Check internal pointers [END] Check internal pointers ====== Summary ===== [WARNING] There are level metrics in the cube: Metric with Nulls, Row Count - CubeName.xlsx [WARNING] These level metrics have the same rows as main index, but in different order: Metric with Nulls, Row Count - CubeName.xlsx [SUGGESTION] If the cube is published before MicroStrategy 10.3, you may run cubehealthcheck levelindex <cubeid> to check whether the cube is corrupted and fix it. [INFO] logs are written to cubehealthchecker.log Moreover, the Intelligence Server generates a set of logs for each cube. The locations for these logs are generally these for two sample Operating Systems: Windows: Program Files (x86)/microstrategy/intelligence Server/CubeHealthReport Linux: [INSTALL_PATH]/IntelligenceServer/CubeHealthReport

28 If it is necessary to contact Technical Support for cube-related topics, please collect all the generated logs for the cubes in question and provide this information.

Sub-Second Response Times with New In-Memory Analytics in MicroStrategy 10. Onur Kahraman

Sub-Second Response Times with New In-Memory Analytics in MicroStrategy 10. Onur Kahraman Sub-Second Response Times with New In-Memory Analytics in MicroStrategy 10 Onur Kahraman High Performance Is No Longer A Nice To Have In Analytical Applications Users expect Google Like performance from

More information

Designing dashboards for performance. Reference deck

Designing dashboards for performance. Reference deck Designing dashboards for performance Reference deck Basic principles 1. Everything in moderation 2. If it isn t fast in database, it won t be fast in Tableau 3. If it isn t fast in desktop, it won t be

More information

In-memory Analytics Guide

In-memory Analytics Guide In-memory Analytics Guide Version: 10.10 10.10, December 2017 Copyright 2017 by MicroStrategy Incorporated. All rights reserved. Trademark Information The following are either trademarks or registered

More information

#mstrworld. Analyzing Multiple Data Sources with Multisource Data Federation and In-Memory Data Blending. Presented by: Trishla Maru.

#mstrworld. Analyzing Multiple Data Sources with Multisource Data Federation and In-Memory Data Blending. Presented by: Trishla Maru. Analyzing Multiple Data Sources with Multisource Data Federation and In-Memory Data Blending Presented by: Trishla Maru Agenda Overview MultiSource Data Federation Use Cases Design Considerations Data

More information

Processing of Very Large Data

Processing of Very Large Data Processing of Very Large Data Krzysztof Dembczyński Intelligent Decision Support Systems Laboratory (IDSS) Poznań University of Technology, Poland Software Development Technologies Master studies, first

More information

Accelerating BI on Hadoop: Full-Scan, Cubes or Indexes?

Accelerating BI on Hadoop: Full-Scan, Cubes or Indexes? White Paper Accelerating BI on Hadoop: Full-Scan, Cubes or Indexes? How to Accelerate BI on Hadoop: Cubes or Indexes? Why not both? 1 +1(844)384-3844 INFO@JETHRO.IO Overview Organizations are storing more

More information

Data Preprocessing. Slides by: Shree Jaswal

Data Preprocessing. Slides by: Shree Jaswal Data Preprocessing Slides by: Shree Jaswal Topics to be covered Why Preprocessing? Data Cleaning; Data Integration; Data Reduction: Attribute subset selection, Histograms, Clustering and Sampling; Data

More information

Part 1: Indexes for Big Data

Part 1: Indexes for Big Data JethroData Making Interactive BI for Big Data a Reality Technical White Paper This white paper explains how JethroData can help you achieve a truly interactive interactive response time for BI on big data,

More information

How to Deploy Enterprise Analytics Applications With SAP BW and SAP HANA

How to Deploy Enterprise Analytics Applications With SAP BW and SAP HANA How to Deploy Enterprise Analytics Applications With SAP BW and SAP HANA Peter Huegel SAP Solutions Specialist Agenda MicroStrategy and SAP Drilldown MicroStrategy and SAP BW Drilldown MicroStrategy and

More information

Jet Data Manager 2014 SR2 Product Enhancements

Jet Data Manager 2014 SR2 Product Enhancements Jet Data Manager 2014 SR2 Product Enhancements Table of Contents Overview of New Features... 3 New Features in Jet Data Manager 2014 SR2... 3 Improved Features in Jet Data Manager 2014 SR2... 5 New Features

More information

Database Architectures

Database Architectures Database Architectures CPS352: Database Systems Simon Miner Gordon College Last Revised: 4/15/15 Agenda Check-in Parallelism and Distributed Databases Technology Research Project Introduction to NoSQL

More information

ibaan Diagnostic Analyzer 1.0 User's Guide for Diagnostic Analyzer 1.0

ibaan Diagnostic Analyzer 1.0 User's Guide for Diagnostic Analyzer 1.0 ibaan Diagnostic Analyzer 1.0 User's Guide for Diagnostic Analyzer 1.0 A publication of: Baan Development B.V. P.O.Box 143 3770 AC Barneveld The Netherlands Printed in the Netherlands Baan Development

More information

Business Insight Authoring

Business Insight Authoring Business Insight Authoring Getting Started Guide ImageNow Version: 6.7.x Written by: Product Documentation, R&D Date: August 2016 2014 Perceptive Software. All rights reserved CaptureNow, ImageNow, Interact,

More information

Built for Speed: Comparing Panoply and Amazon Redshift Rendering Performance Utilizing Tableau Visualizations

Built for Speed: Comparing Panoply and Amazon Redshift Rendering Performance Utilizing Tableau Visualizations Built for Speed: Comparing Panoply and Amazon Redshift Rendering Performance Utilizing Tableau Visualizations Table of contents Faster Visualizations from Data Warehouses 3 The Plan 4 The Criteria 4 Learning

More information

Quality Gates User guide

Quality Gates User guide Quality Gates 3.3.5 User guide 06/2013 1 Table of Content 1 - Introduction... 4 2 - Navigation... 5 2.1 Navigation tool bar... 5 2.2 Navigation tree... 5 2.3 Folder Tree... 6 2.4 Test history... 7 3 -

More information

IBM InfoSphere Information Server Version 8 Release 7. Reporting Guide SC

IBM InfoSphere Information Server Version 8 Release 7. Reporting Guide SC IBM InfoSphere Server Version 8 Release 7 Reporting Guide SC19-3472-00 IBM InfoSphere Server Version 8 Release 7 Reporting Guide SC19-3472-00 Note Before using this information and the product that it

More information

Chapter 12: Indexing and Hashing

Chapter 12: Indexing and Hashing Chapter 12: Indexing and Hashing Basic Concepts Ordered Indices B+-Tree Index Files B-Tree Index Files Static Hashing Dynamic Hashing Comparison of Ordered Indexing and Hashing Index Definition in SQL

More information

Chapter 12: Indexing and Hashing. Basic Concepts

Chapter 12: Indexing and Hashing. Basic Concepts Chapter 12: Indexing and Hashing! Basic Concepts! Ordered Indices! B+-Tree Index Files! B-Tree Index Files! Static Hashing! Dynamic Hashing! Comparison of Ordered Indexing and Hashing! Index Definition

More information

Advanced Data Management Technologies

Advanced Data Management Technologies ADMT 2017/18 Unit 10 J. Gamper 1/37 Advanced Data Management Technologies Unit 10 SQL GROUP BY Extensions J. Gamper Free University of Bozen-Bolzano Faculty of Computer Science IDSE Acknowledgements: I

More information

Technical Sheet NITRODB Time-Series Database

Technical Sheet NITRODB Time-Series Database Technical Sheet NITRODB Time-Series Database 10X Performance, 1/10th the Cost INTRODUCTION "#$#!%&''$!! NITRODB is an Apache Spark Based Time Series Database built to store and analyze 100s of terabytes

More information

Learn SQL by Calculating Customer Lifetime Value

Learn SQL by Calculating Customer Lifetime Value Learn SQL Learn SQL by Calculating Customer Lifetime Value Setup, Counting and Filtering 1 Learn SQL CONTENTS Getting Started Scenario Setup Sorting with ORDER BY FilteringwithWHERE FilteringandSorting

More information

Business Analytics Nanodegree Syllabus

Business Analytics Nanodegree Syllabus Business Analytics Nanodegree Syllabus Master data fundamentals applicable to any industry Before You Start There are no prerequisites for this program, aside from basic computer skills. You should be

More information

DB2 SQL Class Outline

DB2 SQL Class Outline DB2 SQL Class Outline The Basics of SQL Introduction Finding Your Current Schema Setting Your Default SCHEMA SELECT * (All Columns) in a Table SELECT Specific Columns in a Table Commas in the Front or

More information

Performance Tuning in SAP BI 7.0

Performance Tuning in SAP BI 7.0 Applies to: SAP Net Weaver BW. For more information, visit the EDW homepage. Summary Detailed description of performance tuning at the back end level and front end level with example Author: Adlin Sundararaj

More information

Guide Users along Information Pathways and Surf through the Data

Guide Users along Information Pathways and Surf through the Data Guide Users along Information Pathways and Surf through the Data Stephen Overton, Overton Technologies, LLC, Raleigh, NC ABSTRACT Business information can be consumed many ways using the SAS Enterprise

More information

Reporter Tutorial Pivot Reports

Reporter Tutorial Pivot Reports Reporter Tutorial Pivot Reports Pivot reports are a special kind of summary report that allows for the aggregation of data along two dimensions, such as counts by shop and status. Pivot reports can also

More information

ETL Transformations Performance Optimization

ETL Transformations Performance Optimization ETL Transformations Performance Optimization Sunil Kumar, PMP 1, Dr. M.P. Thapliyal 2 and Dr. Harish Chaudhary 3 1 Research Scholar at Department Of Computer Science and Engineering, Bhagwant University,

More information

COGNOS (R) 8 GUIDELINES FOR MODELING METADATA FRAMEWORK MANAGER. Cognos(R) 8 Business Intelligence Readme Guidelines for Modeling Metadata

COGNOS (R) 8 GUIDELINES FOR MODELING METADATA FRAMEWORK MANAGER. Cognos(R) 8 Business Intelligence Readme Guidelines for Modeling Metadata COGNOS (R) 8 FRAMEWORK MANAGER GUIDELINES FOR MODELING METADATA Cognos(R) 8 Business Intelligence Readme Guidelines for Modeling Metadata GUIDELINES FOR MODELING METADATA THE NEXT LEVEL OF PERFORMANCE

More information

Day 1 Agenda. Brio 101 Training. Course Presentation and Reference Material

Day 1 Agenda. Brio 101 Training. Course Presentation and Reference Material Data Warehouse www.rpi.edu/datawarehouse Brio 101 Training Course Presentation and Reference Material Day 1 Agenda Training Overview Data Warehouse and Business Intelligence Basics The Brio Environment

More information

Advanced Database Systems

Advanced Database Systems Lecture IV Query Processing Kyumars Sheykh Esmaili Basic Steps in Query Processing 2 Query Optimization Many equivalent execution plans Choosing the best one Based on Heuristics, Cost Will be discussed

More information

2.3 Algorithms Using Map-Reduce

2.3 Algorithms Using Map-Reduce 28 CHAPTER 2. MAP-REDUCE AND THE NEW SOFTWARE STACK one becomes available. The Master must also inform each Reduce task that the location of its input from that Map task has changed. Dealing with a failure

More information

Advanced Multidimensional Reporting

Advanced Multidimensional Reporting Guideline Advanced Multidimensional Reporting Product(s): IBM Cognos 8 Report Studio Area of Interest: Report Design Advanced Multidimensional Reporting 2 Copyright Copyright 2008 Cognos ULC (formerly

More information

MicroStrategy Desktop Quick Start Guide

MicroStrategy Desktop Quick Start Guide MicroStrategy Desktop Quick Start Guide Version: 10.4 10.4, December 2017 Copyright 2017 by MicroStrategy Incorporated. All rights reserved. Trademark Information The following are either trademarks or

More information

Chapter 12: Query Processing

Chapter 12: Query Processing Chapter 12: Query Processing Overview Catalog Information for Cost Estimation $ Measures of Query Cost Selection Operation Sorting Join Operation Other Operations Evaluation of Expressions Transformation

More information

PowerPoint Presentation to Accompany GO! All In One. Chapter 13

PowerPoint Presentation to Accompany GO! All In One. Chapter 13 PowerPoint Presentation to Accompany GO! Chapter 13 Create, Query, and Sort an Access Database; Create Forms and Reports 2013 Pearson Education, Inc. Publishing as Prentice Hall 1 Objectives Identify Good

More information

PRO: Designing a Business Intelligence Infrastructure Using Microsoft SQL Server 2008

PRO: Designing a Business Intelligence Infrastructure Using Microsoft SQL Server 2008 Microsoft 70452 PRO: Designing a Business Intelligence Infrastructure Using Microsoft SQL Server 2008 Version: 33.0 QUESTION NO: 1 Microsoft 70452 Exam You plan to create a SQL Server 2008 Reporting Services

More information

Accurate study guides, High passing rate! Testhorse provides update free of charge in one year!

Accurate study guides, High passing rate! Testhorse provides update free of charge in one year! Accurate study guides, High passing rate! Testhorse provides update free of charge in one year! http://www.testhorse.com Exam : 70-467 Title : Designing Business Intelligence Solutions with Microsoft SQL

More information

In-Memory Data Management Jens Krueger

In-Memory Data Management Jens Krueger In-Memory Data Management Jens Krueger Enterprise Platform and Integration Concepts Hasso Plattner Intitute OLTP vs. OLAP 2 Online Transaction Processing (OLTP) Organized in rows Online Analytical Processing

More information

SAS Web Report Studio 3.1

SAS Web Report Studio 3.1 SAS Web Report Studio 3.1 User s Guide SAS Documentation The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2006. SAS Web Report Studio 3.1: User s Guide. Cary, NC: SAS

More information

Chapter 12: Query Processing. Chapter 12: Query Processing

Chapter 12: Query Processing. Chapter 12: Query Processing Chapter 12: Query Processing Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Chapter 12: Query Processing Overview Measures of Query Cost Selection Operation Sorting Join

More information

Concepts of Database Management Eighth Edition. Chapter 2 The Relational Model 1: Introduction, QBE, and Relational Algebra

Concepts of Database Management Eighth Edition. Chapter 2 The Relational Model 1: Introduction, QBE, and Relational Algebra Concepts of Database Management Eighth Edition Chapter 2 The Relational Model 1: Introduction, QBE, and Relational Algebra Relational Databases A relational database is a collection of tables Each entity

More information

Best Practices for Choosing Content Reporting Tools and Datasources. Andrew Grohe Pentaho Director of Services Delivery, Hitachi Vantara

Best Practices for Choosing Content Reporting Tools and Datasources. Andrew Grohe Pentaho Director of Services Delivery, Hitachi Vantara Best Practices for Choosing Content Reporting Tools and Datasources Andrew Grohe Pentaho Director of Services Delivery, Hitachi Vantara Agenda Discuss best practices for choosing content with Pentaho Business

More information

B.H.GARDI COLLEGE OF MASTER OF COMPUTER APPLICATION. Ch. 1 :- Introduction Database Management System - 1

B.H.GARDI COLLEGE OF MASTER OF COMPUTER APPLICATION. Ch. 1 :- Introduction Database Management System - 1 Basic Concepts :- 1. What is Data? Data is a collection of facts from which conclusion may be drawn. In computer science, data is anything in a form suitable for use with a computer. Data is often distinguished

More information

Working with Pentaho Interactive Reporting and Metadata

Working with Pentaho Interactive Reporting and Metadata Working with Pentaho Interactive Reporting and Metadata Change log (if you want to use it): Date Version Author Changes Contents Overview... 1 Before You Begin... 1 Other Prerequisites... Error! Bookmark

More information

Data about data is database Select correct option: True False Partially True None of the Above

Data about data is database Select correct option: True False Partially True None of the Above Within a table, each primary key value. is a minimal super key is always the first field in each table must be numeric must be unique Foreign Key is A field in a table that matches a key field in another

More information

Query Processing & Optimization

Query Processing & Optimization Query Processing & Optimization 1 Roadmap of This Lecture Overview of query processing Measures of Query Cost Selection Operation Sorting Join Operation Other Operations Evaluation of Expressions Introduction

More information

SAS BI Dashboard 3.1. User s Guide Second Edition

SAS BI Dashboard 3.1. User s Guide Second Edition SAS BI Dashboard 3.1 User s Guide Second Edition The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2007. SAS BI Dashboard 3.1: User s Guide, Second Edition. Cary, NC:

More information

Managing Data Resources

Managing Data Resources Chapter 7 Managing Data Resources 7.1 2006 by Prentice Hall OBJECTIVES Describe basic file organization concepts and the problems of managing data resources in a traditional file environment Describe how

More information

Querying Data with Transact SQL Microsoft Official Curriculum (MOC 20761)

Querying Data with Transact SQL Microsoft Official Curriculum (MOC 20761) Querying Data with Transact SQL Microsoft Official Curriculum (MOC 20761) Course Length: 3 days Course Delivery: Traditional Classroom Online Live MOC on Demand Course Overview The main purpose of this

More information

E(xtract) T(ransform) L(oad)

E(xtract) T(ransform) L(oad) Gunther Heinrich, Tobias Steimer E(xtract) T(ransform) L(oad) OLAP 20.06.08 Agenda 1 Introduction 2 Extract 3 Transform 4 Load 5 SSIS - Tutorial 2 1 Introduction 1.1 What is ETL? 1.2 Alternative Approach

More information

Chapter 12: Query Processing

Chapter 12: Query Processing Chapter 12: Query Processing Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Overview Chapter 12: Query Processing Measures of Query Cost Selection Operation Sorting Join

More information

HANA Performance. Efficient Speed and Scale-out for Real-time BI

HANA Performance. Efficient Speed and Scale-out for Real-time BI HANA Performance Efficient Speed and Scale-out for Real-time BI 1 HANA Performance: Efficient Speed and Scale-out for Real-time BI Introduction SAP HANA enables organizations to optimize their business

More information

Intellicus Enterprise Reporting and BI Platform

Intellicus Enterprise Reporting and BI Platform Designing Adhoc Reports Intellicus Enterprise Reporting and BI Platform Intellicus Technologies info@intellicus.com www.intellicus.com Designing Adhoc Reports i Copyright 2012 Intellicus Technologies This

More information

Accelerated Library Framework for Hybrid-x86

Accelerated Library Framework for Hybrid-x86 Software Development Kit for Multicore Acceleration Version 3.0 Accelerated Library Framework for Hybrid-x86 Programmer s Guide and API Reference Version 1.0 DRAFT SC33-8406-00 Software Development Kit

More information

DATA CUBE : A RELATIONAL AGGREGATION OPERATOR GENERALIZING GROUP-BY, CROSS-TAB AND SUB-TOTALS SNEHA REDDY BEZAWADA CMPT 843

DATA CUBE : A RELATIONAL AGGREGATION OPERATOR GENERALIZING GROUP-BY, CROSS-TAB AND SUB-TOTALS SNEHA REDDY BEZAWADA CMPT 843 DATA CUBE : A RELATIONAL AGGREGATION OPERATOR GENERALIZING GROUP-BY, CROSS-TAB AND SUB-TOTALS SNEHA REDDY BEZAWADA CMPT 843 WHAT IS A DATA CUBE? The Data Cube or Cube operator produces N-dimensional answers

More information

Overview. DW Performance Optimization. Aggregates. Aggregate Use Example

Overview. DW Performance Optimization. Aggregates. Aggregate Use Example Overview DW Performance Optimization Choosing aggregates Maintaining views Bitmapped indices Other optimization issues Original slides were written by Torben Bach Pedersen Aalborg University 07 - DWML

More information

Indexing. Week 14, Spring Edited by M. Naci Akkøk, , Contains slides from 8-9. April 2002 by Hector Garcia-Molina, Vera Goebel

Indexing. Week 14, Spring Edited by M. Naci Akkøk, , Contains slides from 8-9. April 2002 by Hector Garcia-Molina, Vera Goebel Indexing Week 14, Spring 2005 Edited by M. Naci Akkøk, 5.3.2004, 3.3.2005 Contains slides from 8-9. April 2002 by Hector Garcia-Molina, Vera Goebel Overview Conventional indexes B-trees Hashing schemes

More information

Cognos Dynamic Cubes

Cognos Dynamic Cubes Cognos Dynamic Cubes Amit Desai Cognos Support Engineer Open Mic Facilitator Reena Nagrale Cognos Support Engineer Presenter Gracy Mendonca Cognos Support Engineer Technical Panel Member Shashwat Dhyani

More information

CHAPTER 8: ONLINE ANALYTICAL PROCESSING(OLAP)

CHAPTER 8: ONLINE ANALYTICAL PROCESSING(OLAP) CHAPTER 8: ONLINE ANALYTICAL PROCESSING(OLAP) INTRODUCTION A dimension is an attribute within a multidimensional model consisting of a list of values (called members). A fact is defined by a combination

More information

Getting Started Guide. Sage MAS Intelligence 500

Getting Started Guide. Sage MAS Intelligence 500 Getting Started Guide Sage MAS Intelligence 500 Table of Contents Getting Started Guide... 1 Login Properties... 1 Standard Reports Available... 2 Financial Report... 2 Financial Trend Analysis... 3 Dashboard

More information

Oracle Hyperion Profitability and Cost Management

Oracle Hyperion Profitability and Cost Management Oracle Hyperion Profitability and Cost Management Configuration Guidelines for Detailed Profitability Applications November 2015 Contents About these Guidelines... 1 Setup and Configuration Guidelines...

More information

Introduction to Query Processing and Query Optimization Techniques. Copyright 2011 Ramez Elmasri and Shamkant Navathe

Introduction to Query Processing and Query Optimization Techniques. Copyright 2011 Ramez Elmasri and Shamkant Navathe Introduction to Query Processing and Query Optimization Techniques Outline Translating SQL Queries into Relational Algebra Algorithms for External Sorting Algorithms for SELECT and JOIN Operations Algorithms

More information

Advanced Data Management Technologies Written Exam

Advanced Data Management Technologies Written Exam Advanced Data Management Technologies Written Exam 02.02.2016 First name Student number Last name Signature Instructions for Students Write your name, student number, and signature on the exam sheet. This

More information

Jyotheswar Kuricheti

Jyotheswar Kuricheti Jyotheswar Kuricheti 1 Agenda: 1. Performance Tuning Overview 2. Identify Bottlenecks 3. Optimizing at different levels : Target Source Mapping Session System 2 3 Performance Tuning Overview: 4 What is

More information

TABLE OF CONTENTS PAGE

TABLE OF CONTENTS PAGE Alchemex for SAP Business One Getting Started Guide Sept 2010 TABLE OF CONTENTS PAGE Getting Started Guide Introduction... 1 What is Alchemex for SAP Business One?... 1 System Requirements... 2 Recommended

More information

Operations Manager Guide

Operations Manager Guide Operations Manager Guide Version: 10.10 10.10, December 2017 Copyright 2017 by MicroStrategy Incorporated. All rights reserved. Trademark Information The following are either trademarks or registered trademarks

More information

TABLE OF CONTENTS. Getting Started Guide

TABLE OF CONTENTS. Getting Started Guide Alchemex7 Getting Started Guide January 2011 TABLE OF CONTENTS Getting Started Guide Introduction... 3 What are the benefits of using Alchemex?... 3 System Requirements... 4 Database Connectivity Supported...

More information

Intellicus Enterprise Reporting and BI Platform

Intellicus Enterprise Reporting and BI Platform Working with Query Objects Intellicus Enterprise Reporting and BI Platform ` Intellicus Technologies info@intellicus.com www.intellicus.com Working with Query Objects i Copyright 2012 Intellicus Technologies

More information

TABLE OF CONTENTS PAGE

TABLE OF CONTENTS PAGE Alchemex 7 for Sage 50 Getting Started Guide Oct 2010 1 TABLE OF CONTENTS PAGE Getting Started Guide Introduction... 5 What is Alchemex 7 for Sage 50?... 5 System Requirements... 6 Recommended System Requirements...

More information

Transformer Looping Functions for Pivoting the data :

Transformer Looping Functions for Pivoting the data : Transformer Looping Functions for Pivoting the data : Convert a single row into multiple rows using Transformer Looping Function? (Pivoting of data using parallel transformer in Datastage 8.5,8.7 and 9.1)

More information

Kaseya 2. User Guide. Version 7.0. English

Kaseya 2. User Guide. Version 7.0. English Kaseya 2 Custom Reports User Guide Version 7.0 English September 3, 2014 Agreement The purchase and use of all Software and Services is subject to the Agreement as defined in Kaseya s Click-Accept EULATOS

More information

Querying Data with Transact-SQL

Querying Data with Transact-SQL Course 20761A: Querying Data with Transact-SQL Page 1 of 5 Querying Data with Transact-SQL Course 20761A: 2 days; Instructor-Led Introduction The main purpose of this 2 day instructor led course is to

More information

1Z0-526

1Z0-526 1Z0-526 Passing Score: 800 Time Limit: 4 min Exam A QUESTION 1 ABC's Database administrator has divided its region table into several tables so that the west region is in one table and all the other regions

More information

Massive Scalability With InterSystems IRIS Data Platform

Massive Scalability With InterSystems IRIS Data Platform Massive Scalability With InterSystems IRIS Data Platform Introduction Faced with the enormous and ever-growing amounts of data being generated in the world today, software architects need to pay special

More information

Course Contents: 1 Business Objects Online Training

Course Contents: 1 Business Objects Online Training IQ Online training facility offers Business Objects online training by trainers who have expert knowledge in the Business Objects and proven record of training hundreds of students Our Business Objects

More information

Lambda Architecture for Batch and Stream Processing. October 2018

Lambda Architecture for Batch and Stream Processing. October 2018 Lambda Architecture for Batch and Stream Processing October 2018 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Notices This document is provided for informational purposes only.

More information

DATABASE PERFORMANCE AND INDEXES. CS121: Relational Databases Fall 2017 Lecture 11

DATABASE PERFORMANCE AND INDEXES. CS121: Relational Databases Fall 2017 Lecture 11 DATABASE PERFORMANCE AND INDEXES CS121: Relational Databases Fall 2017 Lecture 11 Database Performance 2 Many situations where query performance needs to be improved e.g. as data size grows, query performance

More information

Chapter 13: Query Processing

Chapter 13: Query Processing Chapter 13: Query Processing! Overview! Measures of Query Cost! Selection Operation! Sorting! Join Operation! Other Operations! Evaluation of Expressions 13.1 Basic Steps in Query Processing 1. Parsing

More information

Database Architectures

Database Architectures Database Architectures CPS352: Database Systems Simon Miner Gordon College Last Revised: 11/15/12 Agenda Check-in Centralized and Client-Server Models Parallelism Distributed Databases Homework 6 Check-in

More information

HKTA TANG HIN MEMORIAL SECONDARY SCHOOL SECONDARY 3 COMPUTER LITERACY. Name: ( ) Class: Date: Databases and Microsoft Access

HKTA TANG HIN MEMORIAL SECONDARY SCHOOL SECONDARY 3 COMPUTER LITERACY. Name: ( ) Class: Date: Databases and Microsoft Access Databases and Microsoft Access Introduction to Databases A well-designed database enables huge data storage and efficient data retrieval. Term Database Table Record Field Primary key Index Meaning A organized

More information

Querying Data with Transact SQL

Querying Data with Transact SQL Course 20761A: Querying Data with Transact SQL Course details Course Outline Module 1: Introduction to Microsoft SQL Server 2016 This module introduces SQL Server, the versions of SQL Server, including

More information

TX DWA Contents RELEASE DOCUMENTATION

TX DWA Contents RELEASE DOCUMENTATION TX DWA 16.7 RELEASE DOCUMENTATION Contents Introduction... 2 New Features... 2 Differential Deployment... 3 Deployment Status Report... 3 Managed Deployment... 4 Data Export... 4 Dynamic Project Variables...

More information

COGNOS DYNAMIC CUBES: SET TO RETIRE TRANSFORMER? Update: Pros & Cons

COGNOS DYNAMIC CUBES: SET TO RETIRE TRANSFORMER? Update: Pros & Cons COGNOS DYNAMIC CUBES: SET TO RETIRE TRANSFORMER? 10.2.2 Update: Pros & Cons GoToWebinar Control Panel Submit questions here Click arrow to restore full control panel Copyright 2015 Senturus, Inc. All Rights

More information

ORANET- Course Contents

ORANET- Course Contents ORANET- Course Contents 1. Oracle 11g SQL Fundamental-l 2. Oracle 11g Administration-l 3. Oracle 11g Administration-ll Oracle 11g Structure Query Language Fundamental-l (SQL) This Intro to SQL training

More information

Optimizing Performance for Partitioned Mappings

Optimizing Performance for Partitioned Mappings Optimizing Performance for Partitioned Mappings 1993-2015 Informatica LLC. No part of this document may be reproduced or transmitted in any form, by any means (electronic, photocopying, recording or otherwise)

More information

Performance Optimization for Informatica Data Services ( Hotfix 3)

Performance Optimization for Informatica Data Services ( Hotfix 3) Performance Optimization for Informatica Data Services (9.5.0-9.6.1 Hotfix 3) 1993-2015 Informatica Corporation. No part of this document may be reproduced or transmitted in any form, by any means (electronic,

More information

Computing Data Cubes Using Massively Parallel Processors

Computing Data Cubes Using Massively Parallel Processors Computing Data Cubes Using Massively Parallel Processors Hongjun Lu Xiaohui Huang Zhixian Li {luhj,huangxia,lizhixia}@iscs.nus.edu.sg Department of Information Systems and Computer Science National University

More information

Data Mining. Data preprocessing. Hamid Beigy. Sharif University of Technology. Fall 1395

Data Mining. Data preprocessing. Hamid Beigy. Sharif University of Technology. Fall 1395 Data Mining Data preprocessing Hamid Beigy Sharif University of Technology Fall 1395 Hamid Beigy (Sharif University of Technology) Data Mining Fall 1395 1 / 15 Table of contents 1 Introduction 2 Data preprocessing

More information

Data Mining. Data preprocessing. Hamid Beigy. Sharif University of Technology. Fall 1394

Data Mining. Data preprocessing. Hamid Beigy. Sharif University of Technology. Fall 1394 Data Mining Data preprocessing Hamid Beigy Sharif University of Technology Fall 1394 Hamid Beigy (Sharif University of Technology) Data Mining Fall 1394 1 / 15 Table of contents 1 Introduction 2 Data preprocessing

More information

Table of Contents. Table of Contents

Table of Contents. Table of Contents Powered by 1 Table of Contents Table of Contents Dashboard for Windows... 4 Dashboard Designer... 5 Creating Dashboards... 5 Printing and Exporting... 5 Dashboard Items... 5 UI Elements... 5 Providing

More information

MicroStrategy Academic Program

MicroStrategy Academic Program MicroStrategy Academic Program Creating a center of excellence for enterprise analytics and mobility. HOW TO DEPLOY ENTERPRISE ANALYTICS AND MOBILITY ON AWS APPROXIMATE TIME NEEDED: 1 HOUR In this workshop,

More information

REPORTING AND QUERY TOOLS AND APPLICATIONS

REPORTING AND QUERY TOOLS AND APPLICATIONS Tool Categories: REPORTING AND QUERY TOOLS AND APPLICATIONS There are five categories of decision support tools Reporting Managed query Executive information system OLAP Data Mining Reporting Tools Production

More information

Sepand Gojgini. ColumnStore Index Primer

Sepand Gojgini. ColumnStore Index Primer Sepand Gojgini ColumnStore Index Primer SQLSaturday Sponsors! Titanium & Global Partner Gold Silver Bronze Without the generosity of these sponsors, this event would not be possible! Please, stop by the

More information

Data Validation Option Best Practices

Data Validation Option Best Practices Data Validation Option Best Practices 1993-2016 Informatica LLC. No part of this document may be reproduced or transmitted in any form, by any means (electronic, photocopying, recording or otherwise) without

More information

Table of Contents: Microsoft Power Tools for Data Analysis #15 Comprehensive Introduction to Power Pivot & DAX. Notes from Video:

Table of Contents: Microsoft Power Tools for Data Analysis #15 Comprehensive Introduction to Power Pivot & DAX. Notes from Video: Microsoft Power Tools for Data Analysis #15 Comprehensive Introduction to Power Pivot & DAX Table of Contents: Notes from Video: 1) Standard PivotTable or Data Model PivotTable?... 3 2) Excel Power Pivot

More information

Querying Microsoft SQL Server

Querying Microsoft SQL Server Querying Microsoft SQL Server Course 20461D 5 Days Instructor-led, Hands-on Course Description This 5-day instructor led course is designed for customers who are interested in learning SQL Server 2012,

More information

Business Intelligence

Business Intelligence Business Intelligence The Metadata Layer Asroni Ver. 01 asroni@umy.ac.id Part IV Business Intelligence Applications 345 Applications In This Part Chapter 12: The Metadata Layer Chapter 13: Using the Pentaho

More information

CSE 544, Winter 2009, Final Examination 11 March 2009

CSE 544, Winter 2009, Final Examination 11 March 2009 CSE 544, Winter 2009, Final Examination 11 March 2009 Rules: Open books and open notes. No laptops or other mobile devices. Calculators allowed. Please write clearly. Relax! You are here to learn. Question

More information

SQL Interview Questions

SQL Interview Questions SQL Interview Questions SQL stands for Structured Query Language. It is used as a programming language for querying Relational Database Management Systems. In this tutorial, we shall go through the basic

More information

T-SQL Training: T-SQL for SQL Server for Developers

T-SQL Training: T-SQL for SQL Server for Developers Duration: 3 days T-SQL Training Overview T-SQL for SQL Server for Developers training teaches developers all the Transact-SQL skills they need to develop queries and views, and manipulate data in a SQL

More information