• No results found

HP Vertica and MicroStrategy 10: a functional overview including recommendations for performance optimization. Presented by: Ritika Rahate

N/A
N/A
Protected

Academic year: 2021

Share "HP Vertica and MicroStrategy 10: a functional overview including recommendations for performance optimization. Presented by: Ritika Rahate"

Copied!
21
0
0

Loading.... (view fulltext now)

Full text

(1)

HP Vertica and MicroStrategy 10: a functional overview including

recommendations for performance optimization

(2)

MicroStrategy Data Access Workflows

There are numerous ways for MicroStrategy to interact with HP Vertica

Ad-hoc Schema

Live Connect

In-Memory Cube

(3)

MicroStrategy Is Most Commonly Used To Send Analytical Queries to HP Vertica

Analytical Queries have specific characteristics that differentiate them from operational queries

Analytical queries involve processing of massive

quantities of data

Accessing large data volumes

Processing massive data volumes

Typical Challenge

Achieve interactive response time

Vertica offers the following key features:

Columnar Orientation

Compression

Projections

(4)

Schema Design Is Essential for Analytical Query Performance

All key features are implemented as part of schema design

(5)

MicroStrategy Unique Optimizations for HP Vertica

Vertica-specific SQL syntax

Analytical functions (OLAP functions)

CASE expressions

Full outer joins

Set operators

Subqueries

Multi-pass SQL for Analytical

Sophistication

Use of temporary tables

Use Read Optimized Storage

Analyze statistics on temporary tables

Middle-tier computation of calculations not available in Vertica

Support for key Vertica features

Massively Parallel Processing

Label queries for simplified analysis

High Availability and Load Balancing

Secure connectivity

Extensions to Vertica functionality

Aggregate awareness with physical summary tables

Middle-tier caching via In-Memory Cubes

Report caching

(6)

MicroStrategy Generates Vertica-Specific SQL Syntax

MicroStrategy integrates with HP Vertica’s broad list of database functions and SQL functionality to

improve analytical performance

(7)

MicroStrategy Unique Optimizations for HP Vertica

Vertica-specific SQL syntax

Analytical functions (OLAP functions)

CASE expressions

Full outer joins

Set operators

Subqueries

Multi-pass SQL for Analytical

Sophistication

Use of temporary tables

Use Read Optimized Storage

Analyze statistics on temporary tables

M iddle-tier computation of calculations not available in

Vertica

Support for key Vertica features

Massively Parallel Processing

Label queries for simplified analysis

High Availability and Load Balancing

Secure connectivity

Extensions to Vertica functionality

Aggregate awareness with physical summary tables

Middle-tier caching via In-Memory Cubes

Report caching

(8)

MicroStrategy Generates Multi-Pass SQL Queries For Analytical Richness

By default MicroStrategy creates temporary tables to hold intermediate result sets

create

local

temporary table

ZZSP00

on commit preserve rows

as

select a13.YEAR_ID YEAR_ID,

a12.SUBCAT_ID SUBCAT_ID,

sum(a11.TOT_UNIT_SALES) WJXBFS1

from ITEM_MNTH_SLS a11,

LU_ITEM a12,

LU_MONTH a13

where a11.ITEM_ID = a12.ITEM_ID and

a11.MONTH_ID = a13.MONTH_ID

group by a13.YEAR_ID,

a12.SUBCAT_ID

unsegmented all nodes

user-session visibility

session-scoped data

(9)

Large Intermediate Result Sets Can Bypass Write Store for Better Performance

Query hint forces storage to Read Optimized Storage (ROS)

Example:

create local temporary table ZZMD00 on

commit preserve rows as

select

/*+ DIRECT */

a11.YEAR_ID YEAR_ID,

sum(a11.TOT_UNIT_SALES) WJXBFS1

from ITEM_MNTH_SLS a11

Data stored in the Read Optimized

Storage(ROS)

Highly organized by compression

(10)

Analyzing Large Intermediate Result Sets Improves Query Execution

MicroStrategy can instruct Vertica to generate statistics on temporary tables

Vertica Query Optimizer

101110010101

Analyze_statistics for temp table

(11)

MicroStrategy Provides Middle-tier Computations for Analytical Sophistication

Combining multiple insert statements, removes the overhead of parsing structurally identical statements

repeatedly

Row-by-Row Inserts are Slow

Bulk-Inserts are Fast

Requires time-consuming locking/unlocking of table

Uses Parameterized Statements to insert blocks of data

(12)

Enabling Parameterized Inserts in MicroStrategy Significantly Improves Response Time

Parameterized inserts are enabled a DB Instance level in MicroStrategy

Navigate to DB instance  DB connection

Click Modify to edit the Database Connection.

(13)

MicroStrategy Avoids Unnecessary Workload on Vertica

Enabling SQL Global Optimization reduces the number of SQL passes improving query performance

SELECT Category

FROM ……

WHERE ……

HAVING Sum(Sales)>50000

SELECT Units Sold

Units Received FROM SQL Pass #N-2 SQL Pass #N-1 WHERE …… SELECT Category FROM …… WHERE …… HAVING Sum(Sales)>50000 SELECT Category FROM …… WHERE …… HAVING Sum(Sales)>50000

SELECT Units Sold

Units Received FROM SQL Pass #N-3 SQL Pass #N-2 WHERE

……

SQ L P as s #1 SQ L P as s #2 SQ L P as s #N -1 SQ L Pa ss #1 S Q L P a ss # N -1

Before Global Optimization

Redundant SQL Pass

After Global Optimization Level 1

Redundant SQL Pass automatically

removed

SELECT Sum(Revenue) FROM ITEM_MTH_SLS WHERE …… GROUPBY ….. SELECT Sum(Revenue) Count(Item) FROM SQL Pass #1 SQL Pass #2 WHERE …… SQ L P as s #1 SQ L P as s #2 SQ L P as s #3 SELECT Count(item) FROM ITEM_MTH_SLS WHERE …… GROUPBY ….. SELECT Sum(Revenue) Count(Item) FROM ITEM_MTH_SLS ……. WHERE ……

Si

n

gl

e

S

Q

L

P

as

s

Before Global Optimization

Metric definitions force different

SQL passes

After Global Optimization Level 2

SQL Engine automatically combines

(14)

MicroStrategy Pushes Smart SQL to Vertica

SQL Global Optimization is enabled by default for Vertica

SELECT …… FROM ……

WHERE SLS.REGION

=LU_REGION.REGION

AND REGION = Central

SELECT Northeast Revenue, Central Revenue , Southeast Revenue FROM SQL Pass #1 SQL Pass #2 SQL Pass #3 WHERE …. SELECT …… FROM …… WHERE SLS.REGION =LU_REGION.REGION

AND REGION = Northeast

SELECT Sum(SLS.Revenue(IF LU_REGION.REGION = Northeast,0), Sum(SLS.Revenue(IF LU_REGION.REGION = Central), Sum(SLS.Revenue(IF LU_REGION.REGION = Southeast), FROM …… WHERE SLS.REGION =LU_REGION.REGION SQ L P as s #1 SQ L P as s #2 SQ L P as s #4

Before Global Optimization

Filter Conditions Force Four

Separate SQL Passes

After Global Optimization Level 3

Resolve Filter Conditions into a Single SQL

Pass

CREATE TABLE ZZMD01 AS

SELECT Category

……

FROM ……

WHERE Region = Northeast

AND …… S Q L P a ss # 1 SQ L P as s #1 CREATE TABLE ZZMD02 AS SELECT Category ……. FROM ……

WHERE Region = Central

AND …… CREATE TABLE ZZMD01 AS SELECT Category Sum(Revenue(IF.REGION = Northeast,0)), Sum(Revenue(IF REGION = Central,0)) …… FROM …… WHERE ……

Before Global Optimization

Intermediate results stored in

multiple temp tables

After Global Optimization

Level 4

(15)

MicroStrategy Unique Optimizations for HP Vertica

Vertica-specific SQL syntax

Analytical functions (OLAP functions)

CASE expressions

Full outer joins

Set operators

Subqueries

Multi-pass SQL for Analytical

Sophistication

Use of temporary tables

Use Read Optimized Storage

Analyze statistics on temporary tables

Middle-tier computation of calculations not available in Vertica

Support for key Vertica features

Massively Parallel Processing

Label queries for simplified analysis

High Availability and Load Balancing

Secure connectivity

Extensions to Vertica functionality

Aggregate awareness with physical summary tables

Middle-tier caching via In-Memory Cubes

Report caching

(16)

Easily Identify MicroStrategy Workloads in Vertica for Profiling and Debugging purposes

Monitoring MicroStrategy workloads in Vertica using Query Labels to ensure efficient utilization of

available resources

MicroStrategy queries can be easily

identified in vertica using the

/*+label(label-name)*/

hint

These query label hints can be

passed as a prefix to SELECT,

INSERT statements.

select identifier, projections_used,

query_duration_us, query_start, user_name,

processed_row_count from

QUERY_PROFILES

where identifier =

(17)

Configuring High Availability and Load Balancing in an MPP Environment

Leverage Vertica-specific features

Vertica cluster failover scenarios

Initiator node goes down

Session ends and the query is lost

Executor node goes down

If node goes down in the middle of processing a

multi-pass sql job, a query failure error message

is sent to the end user and the report has to be

re-run

If No results have been sent back yet. In this case

(18)

Connect Securely to HP Vertica

MicroStrategy recommends using encrypted data connections

Security features in Vertica

Client Authentication

Connection Encryption

(19)

Summary

MicroStrategy and HP Vertica continue to

have a strong partnership

Multi-faceted technical integration of products

Continued optimization provides a seamless

(20)

Resources

Link to integration paper:

TN47683

Contact:

Ritika Rahate

(21)

References

Related documents

CAGNES SUR MER LILLE METZ NANCY STRASBOURG PARIS NANTES RENNES BORDEAUX TOULOUSE MARSEILLE AIX TOULON CANNES NICE LYON ST ETIENNE AMIENS BEAUVAIS COMPIEGNE REIMS

- Matthew Daubert, LifeLock Member.. is proud to support our members and has teamed up with FedEx to help boost your bottom line. Now more than ever, you need to get the most value

The catalytic activity of platinum (Pt) nanoparticles (NPs) towards methanol electrooxidation in alkaline media was demonstrated to be dependent on their interactions with

To support the maximum performance DL380 Gen9 24-SFF node configuration, Hewlett-Packard recommends the following Linux I/O configuration settings for the HP Vertica data

The efficiency of in vitro wheat anther culture is influenced by many factors, such as the genotype, growing conditions, collection time, pre-treatments of the

The Tableau software leverages the Vertica Analytic Database to do the query processing and calculations, while the desktop and web based client does the interactive manipulation

Controllable flexible loads are an efficient alternative for customers to respond to electricity prices and charges. They include storage, electric vehicle, and heat

Students find this process of social integration and identity formation particularly challenging in the first weeks of higher education (Hughes and Smail, 2015; Warin and