SlideShare a Scribd company logo
1 of 27
28th IEEE International Conference on Data Engineering (ICDE)
Washington, DC, USA, April 1-5, 2012

A meta-language for MDX
queries in eLog Business Solution
Sonia Bergamaschi*, Matteo Interlandi*, Mario Longo°,

Laura Po*, Maurizio Vincini*

*Department of Computer Engineering University of Modena & Reggio Emilia
°eBilling S.p.A.
eLog
• eLog, a business intelligence solution re-designed and
upgraded jointly with the database group of the University
of Modena and Reggio Emilia and eBilling
• eBilling - an Italian SME supplier of solutions for the
design, production and automation of documentary
processes for top Italian companies.
• Over 140 medium and large companies
• Sky, Mediaset, H3G, Tim Brazil
• In a period of 18 months 150 millions mail pieces = 1 TB of
data

Laura Po

"A meta-language for MDX queries in eLog Business Solution"
BCPortal
• The BCPortal® framework core consists of several modules
for generating, delivering, managing company business
communications.

Laura Po

"A meta-language for MDX queries in eLog Business Solution"
eLog
Client

eLog

Service
Provider

FRONT END

BACK END

Document
generation
system

Document
Reception
System

Document
Formatting
System

Document
Delivery
System

Shipment
Processing
& Delivery
System

• KPIs (Key Performance Indicators)
• SLAs (Service Level Agreements).
Laura Po

"A meta-language for MDX queries in eLog Business Solution"
Toward a multidimensional approach
transactional system

multidimensional system

• MDX is very powerful and effective but unfeasible for
unskilled users
semi-static reporting: an intermediate
approach between static reporting and OLAP

eLog - the new version

the decision maker
- is autonomous in the process of
creating, managing and sharing new analysis
- can intuitively define new indicators and
aggregate functions
Meta-language
Laura Po

"A meta-language for MDX queries in eLog Business Solution"
Key features
• Simple GUI - all the complexities are masked by the underlying
system.
• Data conceptualization - a set of XSD schemas (for defining
mapping between cube attributes and visualized attributes)
decouple the GUI and the OLAP server
• Modular and reusable software – MDXGenerator is a stand-alone
java library, OLAP engine independent.

Laura Po

"A meta-language for MDX queries in eLog Business Solution"
GUI

Save and load functionalities

Predefined and custom attributes

Laura Po

4 quadrants the user fills with
attributes in order to create
the desired query

"A meta-language for MDX queries in eLog Business Solution"
Data Conceptualization
• Each pivot configuration is codified in a set of XML files
that will be the input of the MDXGenerator component.
• Each XML
configuration
conforms to an high
level
conceptualization
implemented in a
XML Schema (XSD)

• 9 XSD schemas, each
of which models a
particular part of the
pivot configuration.
Laura Po

"A meta-language for MDX queries in eLog Business Solution"
MDX Generator
• A standalone library that provides functionalities for
automatic multidimensional queries generation starting
from a XML pivot configuration.
• It is also responsible for
• the syntactic verification of the pivot configuration
• the semantic correctness of the MDX expression

Laura Po

"A meta-language for MDX queries in eLog Business Solution"
Syntactic verification
• syntactic verification of the pivot
configuration
• the input is verified to be
syntactically well formed,
• it is divided in subsections of
interest and parsed,
• six different structures are filled
with the elements extracted from
the pivot configuration
• Data Cubes
• Data Attributes
• 4 structure, one for each quadrant.

Laura Po

"A meta-language for MDX queries in eLog Business Solution"
Semantic correctness
• semantic correctness of the MDX expression
• For every custom attribute, it performs on-the-fly
translation of the meta-language expression
into MDX.
• It verifies that the elements contained in the
configuration can be mapped into the data schema
on the OLAP server.

Laura Po

"A meta-language for MDX queries in eLog Business Solution"
MDX query
• MDXGenerator starts the composition of the final
query: a java object containing strings for each section
of the MDX query

SELECT

It is filled wrapping the information
from the 6 structures with MDX
language constructs

FROM

WHERE

It contains a list of cubes – then, the
Cube Selection algorithm choses the
best cube and consequently
reassembles the query
Laura Po

"A meta-language for MDX queries in eLog Business Solution"
Meta-language &
custom attributes definition
• a simplified version of the MDX language both in semantics
and syntax
• the requirements were defined by eBilling after an analysis
conducted on the KPIs.
• multiple versions of the meta-language for the different
localizations
The main features are:
• a list of functions to combine and manage attributes
values;
• the hierarchy management, to create new members inside
a hierarchy or new hierarchies embracing a subset of
members in a hierarchy
Laura Po

"A meta-language for MDX queries in eLog Business Solution"
Number, Constant, MDX Entity, Expression
• Number
• Constant - any sequence of characters and (potentially)
numbers
• MDX Entity - any member belonging to a dimension inside
a cube
• Expression can be of three types:
• Arithmetic Expression  arithmetic operators (“+”, “-”, “*”, “/”)
• Comparison Expression  relational operators (“ >”, “ <”, “ =”, “
>=”, “ <=” “ <>”)
• Logic Expression  logic operands separated by “AND”, “OR”,
“XOR” and “NOT” operators.

Laura Po

"A meta-language for MDX queries in eLog Business Solution"
Functions
• The functions that have been implemented in order to
combine and manage values within the measures (and
dimensions) are the following:
• format, if, concat, contains, current, previous, following
• create hierarchy

Laura Po

"A meta-language for MDX queries in eLog Business Solution"
Example
This Dimensional Fact
Model represents the
monitoring activity of the
SLA related to some mail
pieces, called missives.

Laura Po

"A meta-language for MDX queries in eLog Business Solution"
Example – new member inside a hierarchy
• Query : for the first and
the second quarter of each
year, compute for every
client and for the cities of
Naples and Rome, the
number of missives in SLA
and the total number of
missives that are both in
SLA and out SLA.

Laura Po

"A meta-language for MDX queries in eLog Business Solution"
Define a new custom attribute

XML file

Laura Po

"A meta-language for MDX queries in eLog Business Solution"
Define the pivot configuration
• Query : for the first
and the second
quarter of each
year, compute for
every client and for
the cities of Naples
and Rome, the
number of missives
in SLA and the total
number of missives
that are both in SLA
and out SLA.

MDXquery

Laura Po

"A meta-language for MDX queries in eLog Business Solution"
Moreover…
To improve time-performance:
• Cache – MDXGenerator
• Already parsed configurations are stored in a cache
• If a pivot configuration is stored in memory, the data can be
retrieved directly from the cache, thus decreasing the query
generation time

• Cube Selection
• The Cube selection is an algorithm that chooses among all the
cubes contained in the pivot configuration the optimal one for
the execution of the query
• The algorithm has been designed to be as general as possible
and completely independent on the input cubes.

Laura Po

"A meta-language for MDX queries in eLog Business Solution"
Test
• 15 typical queries from a minimum of 3 dimensions to a
maximum of 8 different dimensions (a typical pivot analysis)
• 8.974.662 facts (related to 8 months of eLog’s data production) Btree index for the foreign keys on the fact table
• concurrent access for up to 25 users

Exploiting the cache outperforms by 7 times the
performance of the MDXGenerator
Laura Po

"A meta-language for MDX queries in eLog Business Solution"
Conclusion
• New version of eLog: the business intelligence solution of
eBilling for document management
traceability, optimization and analysis.
transactional system

multidimensional system

Data model conceptualization: XSD schemas
MDX Generator – a stand alone library
Customized attributes – Meta-language
Cache (pivot configurations)
Cube Selection algorithm
Laura Po

}

}

middle layer
between the
framework and
the OLAP
engine

optimization of
the query

"A meta-language for MDX queries in eLog Business Solution"
Future Work
• To extend the compliance of MDX language also for
Microsoft SQL Server (so far, it is compliant with Mondrian
system).
• More experiments on the use of the eLog system on
customer data.
• To investigate how MDXGenerator can be enhanced to
improve the query rewriting for optimizing the query
processing

Laura Po

"A meta-language for MDX queries in eLog Business Solution"
Thanks for your attention
• Contacts:
• just type «Laura Po» at Google.com
• laura.po@unimore.it

• DBGROUP
• www.dbgroup.unimo.it

• Ebilling
• www.ebilling.it

• Download this presentation:
• http://www.dbgroup.unimo.it/~po/pubs.html
• or http://db.tt/1aJsuTJo
Laura Po

"A meta-language for MDX queries in eLog Business Solution"
Cube Selection
• The query object created by the MDXGenerator contains in
the FROM field all the cubes that might be used.
• The Cube selection is an algorithm that chooses among all
the cubes contained in the pivot configuration the optimal
one for the execution of the query
• The algorithm has been designed to be as general as
possible and completely independent on the input cubes.
• it is not mandatory that the input cubes share the same
semantic structure
• in eLog each of the input cubes takes into consideration
different portion of the schema containing data at different
granularity
Laura Po

"A meta-language for MDX queries in eLog Business Solution"
Cube Selection
Given
• S(C,D) schema
• C the set containing all the cubes
• D the set of all dimensions
• Q the query derived from the pivot table configuration,
• L the set of all the distinct levels belonging to at least one
dimension contained in the set D
we define
• QL’ the query that involves the non empty set L’ of hierarchical
levels of dimensions, where L’ L and CL[l] the not empty subset
of C containing the cubes where the dimension of the level l L is
used.
• |c| the number of dimensions in the cube c
• co the cube containing all the levels with lowest granularity.
Laura Po

"A meta-language for MDX queries in eLog Business Solution"
Semantic correctness
• semantic correctness of the MDX expression
• For every custom attribute, it performs on-the-fly
translation of the meta-language expression into
MDX.
• During the meta-language translation, the solve order
sequence is automatically defined following the position in
the quadrant, chosen by the user

• It verifies that the elements contained in the
configuration can be mapped into the data schema on
the OLAP server.

Laura Po

"A meta-language for MDX queries in eLog Business Solution"

More Related Content

What's hot

Venkatachandu rajana
Venkatachandu rajanaVenkatachandu rajana
Venkatachandu rajanarajanachandu
 
Resume_Md ZakirHussain
Resume_Md ZakirHussainResume_Md ZakirHussain
Resume_Md ZakirHussainzakir hussain
 
Arun-Kumar-OEDQ-Developer
Arun-Kumar-OEDQ-DeveloperArun-Kumar-OEDQ-Developer
Arun-Kumar-OEDQ-DeveloperArun Kumar
 
Ramesh_CV_4_Years_Experience
Ramesh_CV_4_Years_ExperienceRamesh_CV_4_Years_Experience
Ramesh_CV_4_Years_ExperienceRamesh Thadivada
 
Scalable database, Scalable language @ JDC 2013
Scalable database, Scalable language @ JDC 2013Scalable database, Scalable language @ JDC 2013
Scalable database, Scalable language @ JDC 2013Maciek Próchniak
 
Free Hibernate Tutorial | VirtualNuggets
Free Hibernate Tutorial  | VirtualNuggetsFree Hibernate Tutorial  | VirtualNuggets
Free Hibernate Tutorial | VirtualNuggetsVirtual Nuggets
 
Mukhtar resume etl_developer
Mukhtar resume etl_developerMukhtar resume etl_developer
Mukhtar resume etl_developerMukhtar Mohammed
 
Kasinathan_P-Resume
Kasinathan_P-ResumeKasinathan_P-Resume
Kasinathan_P-ResumeKASINATHAN P
 
ETL_Developer_Resume_Shipra_7_02_17
ETL_Developer_Resume_Shipra_7_02_17ETL_Developer_Resume_Shipra_7_02_17
ETL_Developer_Resume_Shipra_7_02_17Shipra Jaiswal
 
What is Hibernate Framework?
What is Hibernate Framework?What is Hibernate Framework?
What is Hibernate Framework?Ducat India
 
The LINQ Between XML and Database
The LINQ Between XML and DatabaseThe LINQ Between XML and Database
The LINQ Between XML and DatabaseIRJET Journal
 
Webinar: MongoDB and Analytics: Building Solutions with the MongoDB BI Connector
Webinar: MongoDB and Analytics: Building Solutions with the MongoDB BI ConnectorWebinar: MongoDB and Analytics: Building Solutions with the MongoDB BI Connector
Webinar: MongoDB and Analytics: Building Solutions with the MongoDB BI ConnectorMongoDB
 
Munir_Database_Developer
Munir_Database_DeveloperMunir_Database_Developer
Munir_Database_DeveloperMunir Muhammad
 
NoSQL support in Informix (JSON storage, Mongo DB API)
NoSQL support in Informix (JSON storage, Mongo DB API)NoSQL support in Informix (JSON storage, Mongo DB API)
NoSQL support in Informix (JSON storage, Mongo DB API)Keshav Murthy
 
ГАННА КАПЛУН «noSQL vs SQL: порівняння використання реляційних та нереляційни...
ГАННА КАПЛУН «noSQL vs SQL: порівняння використання реляційних та нереляційни...ГАННА КАПЛУН «noSQL vs SQL: порівняння використання реляційних та нереляційни...
ГАННА КАПЛУН «noSQL vs SQL: порівняння використання реляційних та нереляційни...GoQA
 

What's hot (20)

Venkatachandu rajana
Venkatachandu rajanaVenkatachandu rajana
Venkatachandu rajana
 
ZakirHussain
ZakirHussainZakirHussain
ZakirHussain
 
Resume_Md ZakirHussain
Resume_Md ZakirHussainResume_Md ZakirHussain
Resume_Md ZakirHussain
 
Arun-Kumar-OEDQ-Developer
Arun-Kumar-OEDQ-DeveloperArun-Kumar-OEDQ-Developer
Arun-Kumar-OEDQ-Developer
 
Ramesh_CV_4_Years_Experience
Ramesh_CV_4_Years_ExperienceRamesh_CV_4_Years_Experience
Ramesh_CV_4_Years_Experience
 
Nosql databases
Nosql databasesNosql databases
Nosql databases
 
Scalable database, Scalable language @ JDC 2013
Scalable database, Scalable language @ JDC 2013Scalable database, Scalable language @ JDC 2013
Scalable database, Scalable language @ JDC 2013
 
Free Hibernate Tutorial | VirtualNuggets
Free Hibernate Tutorial  | VirtualNuggetsFree Hibernate Tutorial  | VirtualNuggets
Free Hibernate Tutorial | VirtualNuggets
 
Mukhtar resume etl_developer
Mukhtar resume etl_developerMukhtar resume etl_developer
Mukhtar resume etl_developer
 
Kasinathan_P-Resume
Kasinathan_P-ResumeKasinathan_P-Resume
Kasinathan_P-Resume
 
ETL_Developer_Resume_Shipra_7_02_17
ETL_Developer_Resume_Shipra_7_02_17ETL_Developer_Resume_Shipra_7_02_17
ETL_Developer_Resume_Shipra_7_02_17
 
What is Hibernate Framework?
What is Hibernate Framework?What is Hibernate Framework?
What is Hibernate Framework?
 
The LINQ Between XML and Database
The LINQ Between XML and DatabaseThe LINQ Between XML and Database
The LINQ Between XML and Database
 
Zakir_Hussain_cv
Zakir_Hussain_cvZakir_Hussain_cv
Zakir_Hussain_cv
 
Webinar: MongoDB and Analytics: Building Solutions with the MongoDB BI Connector
Webinar: MongoDB and Analytics: Building Solutions with the MongoDB BI ConnectorWebinar: MongoDB and Analytics: Building Solutions with the MongoDB BI Connector
Webinar: MongoDB and Analytics: Building Solutions with the MongoDB BI Connector
 
Munir_Database_Developer
Munir_Database_DeveloperMunir_Database_Developer
Munir_Database_Developer
 
Resume
ResumeResume
Resume
 
NoSQL support in Informix (JSON storage, Mongo DB API)
NoSQL support in Informix (JSON storage, Mongo DB API)NoSQL support in Informix (JSON storage, Mongo DB API)
NoSQL support in Informix (JSON storage, Mongo DB API)
 
Magesh_Babu_Resume
Magesh_Babu_ResumeMagesh_Babu_Resume
Magesh_Babu_Resume
 
ГАННА КАПЛУН «noSQL vs SQL: порівняння використання реляційних та нереляційни...
ГАННА КАПЛУН «noSQL vs SQL: порівняння використання реляційних та нереляційни...ГАННА КАПЛУН «noSQL vs SQL: порівняння використання реляційних та нереляційни...
ГАННА КАПЛУН «noSQL vs SQL: порівняння використання реляційних та нереляційни...
 

Viewers also liked

Mdx 2nddraft
Mdx 2nddraftMdx 2nddraft
Mdx 2nddraftedarsoft
 
Getting Started with MDX 20140625a
Getting Started with MDX 20140625aGetting Started with MDX 20140625a
Getting Started with MDX 20140625aRon Moore
 
MDX (Multi Dimensional Expressions) Introduction
MDX (Multi Dimensional Expressions) IntroductionMDX (Multi Dimensional Expressions) Introduction
MDX (Multi Dimensional Expressions) IntroductionDigvendra Singh
 
MDX - What BI Developers Need To Know
MDX - What BI Developers Need To KnowMDX - What BI Developers Need To Know
MDX - What BI Developers Need To KnowMark Ginnebaugh
 
Multidimensional expressions mdx - reference
Multidimensional expressions   mdx - referenceMultidimensional expressions   mdx - reference
Multidimensional expressions mdx - referenceSteve Xu
 

Viewers also liked (7)

Mdx 2nddraft
Mdx 2nddraftMdx 2nddraft
Mdx 2nddraft
 
Introduction to mdx query ppt
Introduction to mdx query pptIntroduction to mdx query ppt
Introduction to mdx query ppt
 
Getting Started with MDX 20140625a
Getting Started with MDX 20140625aGetting Started with MDX 20140625a
Getting Started with MDX 20140625a
 
Mdx Basics
Mdx BasicsMdx Basics
Mdx Basics
 
MDX (Multi Dimensional Expressions) Introduction
MDX (Multi Dimensional Expressions) IntroductionMDX (Multi Dimensional Expressions) Introduction
MDX (Multi Dimensional Expressions) Introduction
 
MDX - What BI Developers Need To Know
MDX - What BI Developers Need To KnowMDX - What BI Developers Need To Know
MDX - What BI Developers Need To Know
 
Multidimensional expressions mdx - reference
Multidimensional expressions   mdx - referenceMultidimensional expressions   mdx - reference
Multidimensional expressions mdx - reference
 

Similar to A meta language for mdx queries in e log business

Webinar: Enterprise Data Management in the Era of MongoDB and Data Lakes
Webinar: Enterprise Data Management in the Era of MongoDB and Data LakesWebinar: Enterprise Data Management in the Era of MongoDB and Data Lakes
Webinar: Enterprise Data Management in the Era of MongoDB and Data LakesMongoDB
 
ESWC SS 2012 - Wednesday Tutorial Barry Norton: Building (Production) Semanti...
ESWC SS 2012 - Wednesday Tutorial Barry Norton: Building (Production) Semanti...ESWC SS 2012 - Wednesday Tutorial Barry Norton: Building (Production) Semanti...
ESWC SS 2012 - Wednesday Tutorial Barry Norton: Building (Production) Semanti...eswcsummerschool
 
The Challenges of Bringing Machine Learning to the Masses
The Challenges of Bringing Machine Learning to the MassesThe Challenges of Bringing Machine Learning to the Masses
The Challenges of Bringing Machine Learning to the MassesAlice Zheng
 
Budapest Spring MUG 2016 - MongoDB User Group
Budapest Spring MUG 2016 - MongoDB User GroupBudapest Spring MUG 2016 - MongoDB User Group
Budapest Spring MUG 2016 - MongoDB User GroupMarc Schwering
 
Confluent & MongoDB APAC Lunch & Learn
Confluent & MongoDB APAC Lunch & LearnConfluent & MongoDB APAC Lunch & Learn
Confluent & MongoDB APAC Lunch & Learnconfluent
 
MongoDB Tick Data Presentation
MongoDB Tick Data PresentationMongoDB Tick Data Presentation
MongoDB Tick Data PresentationMongoDB
 
MongoDB What's new in 3.2 version
MongoDB What's new in 3.2 versionMongoDB What's new in 3.2 version
MongoDB What's new in 3.2 versionHéliot PERROQUIN
 
L’architettura di Classe Enterprise di Nuova Generazione
L’architettura di Classe Enterprise di Nuova GenerazioneL’architettura di Classe Enterprise di Nuova Generazione
L’architettura di Classe Enterprise di Nuova GenerazioneMongoDB
 
MongoDB Europe 2016 - The Rise of the Data Lake
MongoDB Europe 2016 - The Rise of the Data LakeMongoDB Europe 2016 - The Rise of the Data Lake
MongoDB Europe 2016 - The Rise of the Data LakeMongoDB
 
Webinar: “ditch Oracle NOW”: Best Practices for Migrating to MongoDB
 Webinar: “ditch Oracle NOW”: Best Practices for Migrating to MongoDB Webinar: “ditch Oracle NOW”: Best Practices for Migrating to MongoDB
Webinar: “ditch Oracle NOW”: Best Practices for Migrating to MongoDBMongoDB
 
Meetup#2: Building responsive Symbology & Suggest WebService
Meetup#2: Building responsive Symbology & Suggest WebServiceMeetup#2: Building responsive Symbology & Suggest WebService
Meetup#2: Building responsive Symbology & Suggest WebServiceMinsk MongoDB User Group
 
A full Machine learning pipeline in Scikit-learn vs in scala-Spark: pros and ...
A full Machine learning pipeline in Scikit-learn vs in scala-Spark: pros and ...A full Machine learning pipeline in Scikit-learn vs in scala-Spark: pros and ...
A full Machine learning pipeline in Scikit-learn vs in scala-Spark: pros and ...Jose Quesada (hiring)
 
Neo4j GraphDay Seattle- Sept19- in the enterprise
Neo4j GraphDay Seattle- Sept19-  in the enterpriseNeo4j GraphDay Seattle- Sept19-  in the enterprise
Neo4j GraphDay Seattle- Sept19- in the enterpriseNeo4j
 
Introduction to SalesForce
Introduction to SalesForceIntroduction to SalesForce
Introduction to SalesForceSujit Kumar
 
Serena Mainframe VUG In-Com
Serena Mainframe VUG In-Com Serena Mainframe VUG In-Com
Serena Mainframe VUG In-Com Serena Software
 
L’architettura di classe enterprise di nuova generazione
L’architettura di classe enterprise di nuova generazioneL’architettura di classe enterprise di nuova generazione
L’architettura di classe enterprise di nuova generazioneMongoDB
 
Building FoundationDB
Building FoundationDBBuilding FoundationDB
Building FoundationDBFoundationDB
 
Scaling up Machine Learning Development
Scaling up Machine Learning DevelopmentScaling up Machine Learning Development
Scaling up Machine Learning DevelopmentMatei Zaharia
 

Similar to A meta language for mdx queries in e log business (20)

Webinar: Enterprise Data Management in the Era of MongoDB and Data Lakes
Webinar: Enterprise Data Management in the Era of MongoDB and Data LakesWebinar: Enterprise Data Management in the Era of MongoDB and Data Lakes
Webinar: Enterprise Data Management in the Era of MongoDB and Data Lakes
 
ESWC SS 2012 - Wednesday Tutorial Barry Norton: Building (Production) Semanti...
ESWC SS 2012 - Wednesday Tutorial Barry Norton: Building (Production) Semanti...ESWC SS 2012 - Wednesday Tutorial Barry Norton: Building (Production) Semanti...
ESWC SS 2012 - Wednesday Tutorial Barry Norton: Building (Production) Semanti...
 
The Challenges of Bringing Machine Learning to the Masses
The Challenges of Bringing Machine Learning to the MassesThe Challenges of Bringing Machine Learning to the Masses
The Challenges of Bringing Machine Learning to the Masses
 
Budapest Spring MUG 2016 - MongoDB User Group
Budapest Spring MUG 2016 - MongoDB User GroupBudapest Spring MUG 2016 - MongoDB User Group
Budapest Spring MUG 2016 - MongoDB User Group
 
Confluent & MongoDB APAC Lunch & Learn
Confluent & MongoDB APAC Lunch & LearnConfluent & MongoDB APAC Lunch & Learn
Confluent & MongoDB APAC Lunch & Learn
 
MongoDB Tick Data Presentation
MongoDB Tick Data PresentationMongoDB Tick Data Presentation
MongoDB Tick Data Presentation
 
MongoDB What's new in 3.2 version
MongoDB What's new in 3.2 versionMongoDB What's new in 3.2 version
MongoDB What's new in 3.2 version
 
L’architettura di Classe Enterprise di Nuova Generazione
L’architettura di Classe Enterprise di Nuova GenerazioneL’architettura di Classe Enterprise di Nuova Generazione
L’architettura di Classe Enterprise di Nuova Generazione
 
MongoDB Europe 2016 - The Rise of the Data Lake
MongoDB Europe 2016 - The Rise of the Data LakeMongoDB Europe 2016 - The Rise of the Data Lake
MongoDB Europe 2016 - The Rise of the Data Lake
 
Webinar: “ditch Oracle NOW”: Best Practices for Migrating to MongoDB
 Webinar: “ditch Oracle NOW”: Best Practices for Migrating to MongoDB Webinar: “ditch Oracle NOW”: Best Practices for Migrating to MongoDB
Webinar: “ditch Oracle NOW”: Best Practices for Migrating to MongoDB
 
Meetup#2: Building responsive Symbology & Suggest WebService
Meetup#2: Building responsive Symbology & Suggest WebServiceMeetup#2: Building responsive Symbology & Suggest WebService
Meetup#2: Building responsive Symbology & Suggest WebService
 
A full Machine learning pipeline in Scikit-learn vs in scala-Spark: pros and ...
A full Machine learning pipeline in Scikit-learn vs in scala-Spark: pros and ...A full Machine learning pipeline in Scikit-learn vs in scala-Spark: pros and ...
A full Machine learning pipeline in Scikit-learn vs in scala-Spark: pros and ...
 
MongoDB Basics
MongoDB BasicsMongoDB Basics
MongoDB Basics
 
Neo4j GraphDay Seattle- Sept19- in the enterprise
Neo4j GraphDay Seattle- Sept19-  in the enterpriseNeo4j GraphDay Seattle- Sept19-  in the enterprise
Neo4j GraphDay Seattle- Sept19- in the enterprise
 
Introduction to SalesForce
Introduction to SalesForceIntroduction to SalesForce
Introduction to SalesForce
 
Serena Mainframe VUG In-Com
Serena Mainframe VUG In-Com Serena Mainframe VUG In-Com
Serena Mainframe VUG In-Com
 
Python for ML
Python for MLPython for ML
Python for ML
 
L’architettura di classe enterprise di nuova generazione
L’architettura di classe enterprise di nuova generazioneL’architettura di classe enterprise di nuova generazione
L’architettura di classe enterprise di nuova generazione
 
Building FoundationDB
Building FoundationDBBuilding FoundationDB
Building FoundationDB
 
Scaling up Machine Learning Development
Scaling up Machine Learning DevelopmentScaling up Machine Learning Development
Scaling up Machine Learning Development
 

More from Laura Po

Towards sustainable mobility for citizens and the environment @ AI, HPC and B...
Towards sustainable mobility for citizens and the environment @ AI, HPC and B...Towards sustainable mobility for citizens and the environment @ AI, HPC and B...
Towards sustainable mobility for citizens and the environment @ AI, HPC and B...Laura Po
 
Big data analytics for smart and sustainable city galway
Big data analytics for smart and sustainable city galwayBig data analytics for smart and sustainable city galway
Big data analytics for smart and sustainable city galwayLaura Po
 
TRAFAIR - Premio PA sostenibile 2019 - slide di presentazione
TRAFAIR - Premio PA sostenibile 2019 - slide di presentazioneTRAFAIR - Premio PA sostenibile 2019 - slide di presentazione
TRAFAIR - Premio PA sostenibile 2019 - slide di presentazioneLaura Po
 
TRAFAIR - Premio PA sostenibile 2019
TRAFAIR - Premio PA sostenibile 2019TRAFAIR - Premio PA sostenibile 2019
TRAFAIR - Premio PA sostenibile 2019Laura Po
 
Session 1 and 2 "Challenges and Opportunities with Big Linked Data Visualiza...
Session 1 and 2  "Challenges and Opportunities with Big Linked Data Visualiza...Session 1 and 2  "Challenges and Opportunities with Big Linked Data Visualiza...
Session 1 and 2 "Challenges and Opportunities with Big Linked Data Visualiza...Laura Po
 
Session 3 "Challenges and Opportunities with Big Linked Data Visualization" t...
Session 3 "Challenges and Opportunities with Big Linked Data Visualization" t...Session 3 "Challenges and Opportunities with Big Linked Data Visualization" t...
Session 3 "Challenges and Opportunities with Big Linked Data Visualization" t...Laura Po
 
Building an urban theft map by analyzing newspaper - SMAP 2018
Building an urban theft map by analyzing newspaper - SMAP 2018Building an urban theft map by analyzing newspaper - SMAP 2018
Building an urban theft map by analyzing newspaper - SMAP 2018Laura Po
 
Linked Open Data Visualization
Linked Open Data VisualizationLinked Open Data Visualization
Linked Open Data VisualizationLaura Po
 
Wi2015 - Clustering of Linked Open Data - the LODeX tool
Wi2015 - Clustering of Linked Open Data - the LODeX toolWi2015 - Clustering of Linked Open Data - the LODeX tool
Wi2015 - Clustering of Linked Open Data - the LODeX toolLaura Po
 
Exploration, visualization and querying of linked open data sources
Exploration, visualization and querying of linked open data sourcesExploration, visualization and querying of linked open data sources
Exploration, visualization and querying of linked open data sourcesLaura Po
 
Introduction to linked data
Introduction to linked dataIntroduction to linked data
Introduction to linked dataLaura Po
 
Comparing topic models for a movie recommendation system webist2014
Comparing topic models for a movie recommendation system webist2014Comparing topic models for a movie recommendation system webist2014
Comparing topic models for a movie recommendation system webist2014Laura Po
 
An iPad Order Management System for Fashion Trade
An iPad Order Management System for Fashion TradeAn iPad Order Management System for Fashion Trade
An iPad Order Management System for Fashion TradeLaura Po
 
A Non-Intrusive Movie Recommendation System
A Non-Intrusive Movie Recommendation SystemA Non-Intrusive Movie Recommendation System
A Non-Intrusive Movie Recommendation SystemLaura Po
 

More from Laura Po (14)

Towards sustainable mobility for citizens and the environment @ AI, HPC and B...
Towards sustainable mobility for citizens and the environment @ AI, HPC and B...Towards sustainable mobility for citizens and the environment @ AI, HPC and B...
Towards sustainable mobility for citizens and the environment @ AI, HPC and B...
 
Big data analytics for smart and sustainable city galway
Big data analytics for smart and sustainable city galwayBig data analytics for smart and sustainable city galway
Big data analytics for smart and sustainable city galway
 
TRAFAIR - Premio PA sostenibile 2019 - slide di presentazione
TRAFAIR - Premio PA sostenibile 2019 - slide di presentazioneTRAFAIR - Premio PA sostenibile 2019 - slide di presentazione
TRAFAIR - Premio PA sostenibile 2019 - slide di presentazione
 
TRAFAIR - Premio PA sostenibile 2019
TRAFAIR - Premio PA sostenibile 2019TRAFAIR - Premio PA sostenibile 2019
TRAFAIR - Premio PA sostenibile 2019
 
Session 1 and 2 "Challenges and Opportunities with Big Linked Data Visualiza...
Session 1 and 2  "Challenges and Opportunities with Big Linked Data Visualiza...Session 1 and 2  "Challenges and Opportunities with Big Linked Data Visualiza...
Session 1 and 2 "Challenges and Opportunities with Big Linked Data Visualiza...
 
Session 3 "Challenges and Opportunities with Big Linked Data Visualization" t...
Session 3 "Challenges and Opportunities with Big Linked Data Visualization" t...Session 3 "Challenges and Opportunities with Big Linked Data Visualization" t...
Session 3 "Challenges and Opportunities with Big Linked Data Visualization" t...
 
Building an urban theft map by analyzing newspaper - SMAP 2018
Building an urban theft map by analyzing newspaper - SMAP 2018Building an urban theft map by analyzing newspaper - SMAP 2018
Building an urban theft map by analyzing newspaper - SMAP 2018
 
Linked Open Data Visualization
Linked Open Data VisualizationLinked Open Data Visualization
Linked Open Data Visualization
 
Wi2015 - Clustering of Linked Open Data - the LODeX tool
Wi2015 - Clustering of Linked Open Data - the LODeX toolWi2015 - Clustering of Linked Open Data - the LODeX tool
Wi2015 - Clustering of Linked Open Data - the LODeX tool
 
Exploration, visualization and querying of linked open data sources
Exploration, visualization and querying of linked open data sourcesExploration, visualization and querying of linked open data sources
Exploration, visualization and querying of linked open data sources
 
Introduction to linked data
Introduction to linked dataIntroduction to linked data
Introduction to linked data
 
Comparing topic models for a movie recommendation system webist2014
Comparing topic models for a movie recommendation system webist2014Comparing topic models for a movie recommendation system webist2014
Comparing topic models for a movie recommendation system webist2014
 
An iPad Order Management System for Fashion Trade
An iPad Order Management System for Fashion TradeAn iPad Order Management System for Fashion Trade
An iPad Order Management System for Fashion Trade
 
A Non-Intrusive Movie Recommendation System
A Non-Intrusive Movie Recommendation SystemA Non-Intrusive Movie Recommendation System
A Non-Intrusive Movie Recommendation System
 

Recently uploaded

#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 

Recently uploaded (20)

#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 

A meta language for mdx queries in e log business

  • 1. 28th IEEE International Conference on Data Engineering (ICDE) Washington, DC, USA, April 1-5, 2012 A meta-language for MDX queries in eLog Business Solution Sonia Bergamaschi*, Matteo Interlandi*, Mario Longo°, Laura Po*, Maurizio Vincini* *Department of Computer Engineering University of Modena & Reggio Emilia °eBilling S.p.A.
  • 2. eLog • eLog, a business intelligence solution re-designed and upgraded jointly with the database group of the University of Modena and Reggio Emilia and eBilling • eBilling - an Italian SME supplier of solutions for the design, production and automation of documentary processes for top Italian companies. • Over 140 medium and large companies • Sky, Mediaset, H3G, Tim Brazil • In a period of 18 months 150 millions mail pieces = 1 TB of data Laura Po "A meta-language for MDX queries in eLog Business Solution"
  • 3. BCPortal • The BCPortal® framework core consists of several modules for generating, delivering, managing company business communications. Laura Po "A meta-language for MDX queries in eLog Business Solution"
  • 4. eLog Client eLog Service Provider FRONT END BACK END Document generation system Document Reception System Document Formatting System Document Delivery System Shipment Processing & Delivery System • KPIs (Key Performance Indicators) • SLAs (Service Level Agreements). Laura Po "A meta-language for MDX queries in eLog Business Solution"
  • 5. Toward a multidimensional approach transactional system multidimensional system • MDX is very powerful and effective but unfeasible for unskilled users semi-static reporting: an intermediate approach between static reporting and OLAP eLog - the new version the decision maker - is autonomous in the process of creating, managing and sharing new analysis - can intuitively define new indicators and aggregate functions Meta-language Laura Po "A meta-language for MDX queries in eLog Business Solution"
  • 6. Key features • Simple GUI - all the complexities are masked by the underlying system. • Data conceptualization - a set of XSD schemas (for defining mapping between cube attributes and visualized attributes) decouple the GUI and the OLAP server • Modular and reusable software – MDXGenerator is a stand-alone java library, OLAP engine independent. Laura Po "A meta-language for MDX queries in eLog Business Solution"
  • 7. GUI Save and load functionalities Predefined and custom attributes Laura Po 4 quadrants the user fills with attributes in order to create the desired query "A meta-language for MDX queries in eLog Business Solution"
  • 8. Data Conceptualization • Each pivot configuration is codified in a set of XML files that will be the input of the MDXGenerator component. • Each XML configuration conforms to an high level conceptualization implemented in a XML Schema (XSD) • 9 XSD schemas, each of which models a particular part of the pivot configuration. Laura Po "A meta-language for MDX queries in eLog Business Solution"
  • 9. MDX Generator • A standalone library that provides functionalities for automatic multidimensional queries generation starting from a XML pivot configuration. • It is also responsible for • the syntactic verification of the pivot configuration • the semantic correctness of the MDX expression Laura Po "A meta-language for MDX queries in eLog Business Solution"
  • 10. Syntactic verification • syntactic verification of the pivot configuration • the input is verified to be syntactically well formed, • it is divided in subsections of interest and parsed, • six different structures are filled with the elements extracted from the pivot configuration • Data Cubes • Data Attributes • 4 structure, one for each quadrant. Laura Po "A meta-language for MDX queries in eLog Business Solution"
  • 11. Semantic correctness • semantic correctness of the MDX expression • For every custom attribute, it performs on-the-fly translation of the meta-language expression into MDX. • It verifies that the elements contained in the configuration can be mapped into the data schema on the OLAP server. Laura Po "A meta-language for MDX queries in eLog Business Solution"
  • 12. MDX query • MDXGenerator starts the composition of the final query: a java object containing strings for each section of the MDX query SELECT It is filled wrapping the information from the 6 structures with MDX language constructs FROM WHERE It contains a list of cubes – then, the Cube Selection algorithm choses the best cube and consequently reassembles the query Laura Po "A meta-language for MDX queries in eLog Business Solution"
  • 13. Meta-language & custom attributes definition • a simplified version of the MDX language both in semantics and syntax • the requirements were defined by eBilling after an analysis conducted on the KPIs. • multiple versions of the meta-language for the different localizations The main features are: • a list of functions to combine and manage attributes values; • the hierarchy management, to create new members inside a hierarchy or new hierarchies embracing a subset of members in a hierarchy Laura Po "A meta-language for MDX queries in eLog Business Solution"
  • 14. Number, Constant, MDX Entity, Expression • Number • Constant - any sequence of characters and (potentially) numbers • MDX Entity - any member belonging to a dimension inside a cube • Expression can be of three types: • Arithmetic Expression  arithmetic operators (“+”, “-”, “*”, “/”) • Comparison Expression  relational operators (“ >”, “ <”, “ =”, “ >=”, “ <=” “ <>”) • Logic Expression  logic operands separated by “AND”, “OR”, “XOR” and “NOT” operators. Laura Po "A meta-language for MDX queries in eLog Business Solution"
  • 15. Functions • The functions that have been implemented in order to combine and manage values within the measures (and dimensions) are the following: • format, if, concat, contains, current, previous, following • create hierarchy Laura Po "A meta-language for MDX queries in eLog Business Solution"
  • 16. Example This Dimensional Fact Model represents the monitoring activity of the SLA related to some mail pieces, called missives. Laura Po "A meta-language for MDX queries in eLog Business Solution"
  • 17. Example – new member inside a hierarchy • Query : for the first and the second quarter of each year, compute for every client and for the cities of Naples and Rome, the number of missives in SLA and the total number of missives that are both in SLA and out SLA. Laura Po "A meta-language for MDX queries in eLog Business Solution"
  • 18. Define a new custom attribute XML file Laura Po "A meta-language for MDX queries in eLog Business Solution"
  • 19. Define the pivot configuration • Query : for the first and the second quarter of each year, compute for every client and for the cities of Naples and Rome, the number of missives in SLA and the total number of missives that are both in SLA and out SLA. MDXquery Laura Po "A meta-language for MDX queries in eLog Business Solution"
  • 20. Moreover… To improve time-performance: • Cache – MDXGenerator • Already parsed configurations are stored in a cache • If a pivot configuration is stored in memory, the data can be retrieved directly from the cache, thus decreasing the query generation time • Cube Selection • The Cube selection is an algorithm that chooses among all the cubes contained in the pivot configuration the optimal one for the execution of the query • The algorithm has been designed to be as general as possible and completely independent on the input cubes. Laura Po "A meta-language for MDX queries in eLog Business Solution"
  • 21. Test • 15 typical queries from a minimum of 3 dimensions to a maximum of 8 different dimensions (a typical pivot analysis) • 8.974.662 facts (related to 8 months of eLog’s data production) Btree index for the foreign keys on the fact table • concurrent access for up to 25 users Exploiting the cache outperforms by 7 times the performance of the MDXGenerator Laura Po "A meta-language for MDX queries in eLog Business Solution"
  • 22. Conclusion • New version of eLog: the business intelligence solution of eBilling for document management traceability, optimization and analysis. transactional system multidimensional system Data model conceptualization: XSD schemas MDX Generator – a stand alone library Customized attributes – Meta-language Cache (pivot configurations) Cube Selection algorithm Laura Po } } middle layer between the framework and the OLAP engine optimization of the query "A meta-language for MDX queries in eLog Business Solution"
  • 23. Future Work • To extend the compliance of MDX language also for Microsoft SQL Server (so far, it is compliant with Mondrian system). • More experiments on the use of the eLog system on customer data. • To investigate how MDXGenerator can be enhanced to improve the query rewriting for optimizing the query processing Laura Po "A meta-language for MDX queries in eLog Business Solution"
  • 24. Thanks for your attention • Contacts: • just type «Laura Po» at Google.com • laura.po@unimore.it • DBGROUP • www.dbgroup.unimo.it • Ebilling • www.ebilling.it • Download this presentation: • http://www.dbgroup.unimo.it/~po/pubs.html • or http://db.tt/1aJsuTJo Laura Po "A meta-language for MDX queries in eLog Business Solution"
  • 25. Cube Selection • The query object created by the MDXGenerator contains in the FROM field all the cubes that might be used. • The Cube selection is an algorithm that chooses among all the cubes contained in the pivot configuration the optimal one for the execution of the query • The algorithm has been designed to be as general as possible and completely independent on the input cubes. • it is not mandatory that the input cubes share the same semantic structure • in eLog each of the input cubes takes into consideration different portion of the schema containing data at different granularity Laura Po "A meta-language for MDX queries in eLog Business Solution"
  • 26. Cube Selection Given • S(C,D) schema • C the set containing all the cubes • D the set of all dimensions • Q the query derived from the pivot table configuration, • L the set of all the distinct levels belonging to at least one dimension contained in the set D we define • QL’ the query that involves the non empty set L’ of hierarchical levels of dimensions, where L’ L and CL[l] the not empty subset of C containing the cubes where the dimension of the level l L is used. • |c| the number of dimensions in the cube c • co the cube containing all the levels with lowest granularity. Laura Po "A meta-language for MDX queries in eLog Business Solution"
  • 27. Semantic correctness • semantic correctness of the MDX expression • For every custom attribute, it performs on-the-fly translation of the meta-language expression into MDX. • During the meta-language translation, the solve order sequence is automatically defined following the position in the quadrant, chosen by the user • It verifies that the elements contained in the configuration can be mapped into the data schema on the OLAP server. Laura Po "A meta-language for MDX queries in eLog Business Solution"