Download Informationslogistik Unit 10: OLTP, OLAP, SAP, Data Warehouse

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
SQL: Subtleties for COUNT and JOINs OLTP, OLAP, SAP, and Data Warehouse Objectrelational Databases Ranking and Data Min
Informationslogistik
Unit 10: OLTP, OLAP, SAP, Data Warehouse, and
Object-relational Databases
Ronald Ortner
20. V. 2014
Ronald Ortner
SQL: Subtleties for COUNT and JOINs OLTP, OLAP, SAP, and Data Warehouse Objectrelational Databases Ranking and Data Min
Outline
1
SQL: Subtleties for COUNT and JOINs
2
OLTP, OLAP, SAP, and Data Warehouse
OLTP and OLAP
SAP
Data Warehouse & OLAP
3
Objectrelational Databases
An Example
Objectrelational Databases
4
Ranking and Data Mining
Ranking
Ronald Ortner
SQL: Subtleties for COUNT and JOINs OLTP, OLAP, SAP, and Data Warehouse Objectrelational Databases Ranking and Data Min
SQL-Lesson
Today:
Extensions I:
counting with 0
Extensions II:
when to put conditions in the ON / WHERE part
Ronald Ortner
SQL: Subtleties for COUNT and JOINs OLTP, OLAP, SAP, and Data Warehouse Objectrelational Databases Ranking and Data Min
OLTP and OLAP
Outline
1
SQL: Subtleties for COUNT and JOINs
2
OLTP, OLAP, SAP, and Data Warehouse
OLTP and OLAP
SAP
Data Warehouse & OLAP
3
Objectrelational Databases
An Example
Objectrelational Databases
4
Ranking and Data Mining
Ranking
Ronald Ortner
SQL: Subtleties for COUNT and JOINs OLTP, OLAP, SAP, and Data Warehouse Objectrelational Databases Ranking and Data Min
OLTP and OLAP
OLTP vs. OLAP
OLTP: online transaction processing
Database applications for ongoing work
Examples: orders, bookings, etc.
current data is important
→ many updates and changes in database
Ronald Ortner
SQL: Subtleties for COUNT and JOINs OLTP, OLAP, SAP, and Data Warehouse Objectrelational Databases Ranking and Data Min
OLTP and OLAP
OLTP vs. OLAP
OLTP: online transaction processing
Database applications for ongoing work
Examples: orders, bookings, etc.
current data is important
→ many updates and changes in database
OLAP: online analytical processing
Database applications for analysis and decision support
Example: analysis of trends
historical data is important
→ lots of data, need information in aggregated form
Ronald Ortner
SQL: Subtleties for COUNT and JOINs OLTP, OLAP, SAP, and Data Warehouse Objectrelational Databases Ranking and Data Min
SAP
Outline
1
SQL: Subtleties for COUNT and JOINs
2
OLTP, OLAP, SAP, and Data Warehouse
OLTP and OLAP
SAP
Data Warehouse & OLAP
3
Objectrelational Databases
An Example
Objectrelational Databases
4
Ranking and Data Mining
Ranking
Ronald Ortner
SQL: Subtleties for COUNT and JOINs OLTP, OLAP, SAP, and Data Warehouse Objectrelational Databases Ranking and Data Min
SAP
SAP
SAP: software system, mainly for OLTP
SAP has three levels:
big relational database system in the background
applications that work on the database system
graphical user interface
Ronald Ortner
SQL: Subtleties for COUNT and JOINs OLTP, OLAP, SAP, and Data Warehouse Objectrelational Databases Ranking and Data Min
SAP
SAP
SAP: software system, mainly for OLTP
SAP has three levels:
big relational database system in the background
applications that work on the database system
graphical user interface
Access to underlying database system:
Some tables can be accessed also outside SAP (using SQL).
Usually only read access is sensible.
Some other tables can be accessed only via SAP.
Ronald Ortner
SQL: Subtleties for COUNT and JOINs OLTP, OLAP, SAP, and Data Warehouse Objectrelational Databases Ranking and Data Min
SAP
SAP
SAP: software system, mainly for OLTP
SAP has three levels:
big relational database system in the background
applications that work on the database system
graphical user interface
Writing applications with ABAP/4 – access to databases with
Native SQL (using special interface)
Open SQL (direct access to databases)
Ronald Ortner
SQL: Subtleties for COUNT and JOINs OLTP, OLAP, SAP, and Data Warehouse Objectrelational Databases Ranking and Data Min
Data Warehouse & OLAP
Outline
1
SQL: Subtleties for COUNT and JOINs
2
OLTP, OLAP, SAP, and Data Warehouse
OLTP and OLAP
SAP
Data Warehouse & OLAP
3
Objectrelational Databases
An Example
Objectrelational Databases
4
Ranking and Data Mining
Ranking
Ronald Ortner
SQL: Subtleties for COUNT and JOINs OLTP, OLAP, SAP, and Data Warehouse Objectrelational Databases Ranking and Data Min
Data Warehouse & OLAP
OLTP vs. OLAP
OLTP: online transaction processing
Database applications for ongoing work
Examples: orders, bookings, etc.
current data is important
→ many updates and changes in database
OLAP: online analytical processing
Database applications for analysis and decision support
Example: analysis of trends
historical data is important
→ lots of data, need information in aggregated form
Ronald Ortner
SQL: Subtleties for COUNT and JOINs OLTP, OLAP, SAP, and Data Warehouse Objectrelational Databases Ranking and Data Min
Data Warehouse & OLAP
OLTP vs. OLAP
OLTP: online transaction processing
Database applications for ongoing work
Examples: orders, bookings, etc.
current data is important
→ many updates and changes in database
OLAP: online analytical processing
Database applications for analysis and decision support
Example: analysis of trends
historical data is important
→ lots of data, need information in aggregated form
→ no good idea to do OLTP and OLAP on the same database system
Ronald Ortner
SQL: Subtleties for COUNT and JOINs OLTP, OLAP, SAP, and Data Warehouse Objectrelational Databases Ranking and Data Min
Data Warehouse & OLAP
Data Warehouse
Idea of Data Warehouse:
Do OLTP on operational databases
Store information from operational databases regularly
(but not online!) in data warehouse
Ronald Ortner
SQL: Subtleties for COUNT and JOINs OLTP, OLAP, SAP, and Data Warehouse Objectrelational Databases Ranking and Data Min
Data Warehouse & OLAP
Data Warehouse
Idea of Data Warehouse:
Do OLTP on operational databases
Store information from operational databases regularly
(but not online!) in data warehouse
Database Scheme for Data Warehouse:
Star Scheme:
Central ‘fact’ table
other tables not normalized
Ronald Ortner
SQL: Subtleties for COUNT and JOINs OLTP, OLAP, SAP, and Data Warehouse Objectrelational Databases Ranking and Data Min
Data Warehouse & OLAP
Data Warehouse
Idea of Data Warehouse:
Do OLTP on operational databases
Store information from operational databases regularly
(but not online!) in data warehouse
Database Scheme for Data Warehouse:
Star Scheme:
Central ‘fact’ table
other tables not normalized
Snowflake Scheme:
Central ‘fact’ table
other tables normalized (→ more joins necessary)
Ronald Ortner
SQL: Subtleties for COUNT and JOINs OLTP, OLAP, SAP, and Data Warehouse Objectrelational Databases Ranking and Data Min
Data Warehouse & OLAP
Roll Up and Drill Down
Queries on Data Warehouse for analysis usually aggregate data
(→ GROUP BY)
Drill down: more attributes in GROUP BY
Roll up: fewer attributes in GROUP BY
Data can be summarized in a cross table (data cube)
Ronald Ortner
SQL: Subtleties for COUNT and JOINs OLTP, OLAP, SAP, and Data Warehouse Objectrelational Databases Ranking and Data Min
Data Warehouse & OLAP
Relations for Aggregation & the Cube Operator
Creating the data cube:
expensive to execute all queries for creating cube
Ronald Ortner
SQL: Subtleties for COUNT and JOINs OLTP, OLAP, SAP, and Data Warehouse Objectrelational Databases Ranking and Data Min
Data Warehouse & OLAP
Relations for Aggregation & the Cube Operator
Creating the data cube:
expensive to execute all queries for creating cube
can store relation for data cube
(using NULL values where aggregated)
Ronald Ortner
SQL: Subtleties for COUNT and JOINs OLTP, OLAP, SAP, and Data Warehouse Objectrelational Databases Ranking and Data Min
Data Warehouse & OLAP
Relations for Aggregation & the Cube Operator
Creating the data cube:
expensive to execute all queries for creating cube
can store relation for data cube
(using NULL values where aggregated)
still elaborate and uncomfortable
Ronald Ortner
SQL: Subtleties for COUNT and JOINs OLTP, OLAP, SAP, and Data Warehouse Objectrelational Databases Ranking and Data Min
Data Warehouse & OLAP
Relations for Aggregation & the Cube Operator
Creating the data cube:
expensive to execute all queries for creating cube
can store relation for data cube
(using NULL values where aggregated)
still elaborate and uncomfortable
→ idea: new SQL operator CUBE
Usage: GROUP BY CUBE( attr1, attr2, . . . )
Ronald Ortner
SQL: Subtleties for COUNT and JOINs OLTP, OLAP, SAP, and Data Warehouse Objectrelational Databases Ranking and Data Min
Data Warehouse & OLAP
Relations for Aggregation & the Cube Operator
Creating the data cube:
expensive to execute all queries for creating cube
can store relation for data cube
(using NULL values where aggregated)
still elaborate and uncomfortable
→ idea: new SQL operator CUBE
Usage: GROUP BY CUBE( attr1, attr2, . . . )
Other possibility:
storing maximally drilled-down table
aggregate this table
(cheaper than doing each aggregation from scratch)
Ronald Ortner
SQL: Subtleties for COUNT and JOINs OLTP, OLAP, SAP, and Data Warehouse Objectrelational Databases Ranking and Data Min
Data Warehouse & OLAP
Row Store vs. Column Store
Usually, tables are stored row-wise.
Ronald Ortner
SQL: Subtleties for COUNT and JOINs OLTP, OLAP, SAP, and Data Warehouse Objectrelational Databases Ranking and Data Min
Data Warehouse & OLAP
Row Store vs. Column Store
Usually, tables are stored row-wise.
When there are many columns, it may be better to store
column-wise:
Ronald Ortner
SQL: Subtleties for COUNT and JOINs OLTP, OLAP, SAP, and Data Warehouse Objectrelational Databases Ranking and Data Min
Data Warehouse & OLAP
Row Store vs. Column Store
Usually, tables are stored row-wise.
When there are many columns, it may be better to store
column-wise:
Most queries consider only few columns.
Ronald Ortner
SQL: Subtleties for COUNT and JOINs OLTP, OLAP, SAP, and Data Warehouse Objectrelational Databases Ranking and Data Min
Data Warehouse & OLAP
Row Store vs. Column Store
Usually, tables are stored row-wise.
When there are many columns, it may be better to store
column-wise:
Most queries consider only few columns.
Column values can be better compressed.
Ronald Ortner
SQL: Subtleties for COUNT and JOINs OLTP, OLAP, SAP, and Data Warehouse Objectrelational Databases Ranking and Data Min
Data Warehouse & OLAP
Row Store vs. Column Store
Usually, tables are stored row-wise.
When there are many columns, it may be better to store
column-wise:
Most queries consider only few columns.
Column values can be better compressed.
Use e.g. dictionary table.
Ronald Ortner
SQL: Subtleties for COUNT and JOINs OLTP, OLAP, SAP, and Data Warehouse Objectrelational Databases Ranking and Data Min
An Example
Outline
1
SQL: Subtleties for COUNT and JOINs
2
OLTP, OLAP, SAP, and Data Warehouse
OLTP and OLAP
SAP
Data Warehouse & OLAP
3
Objectrelational Databases
An Example
Objectrelational Databases
4
Ranking and Data Mining
Ranking
Ronald Ortner
SQL: Subtleties for COUNT and JOINs OLTP, OLAP, SAP, and Data Warehouse Objectrelational Databases Ranking and Data Min
An Example
An Example: Storing Books
Ronald Ortner
SQL: Subtleties for COUNT and JOINs OLTP, OLAP, SAP, and Data Warehouse Objectrelational Databases Ranking and Data Min
An Example
An Example: Storing Books
We introduce IDs for authors, books and key words.
Then:
One table for each entity type (with IDs being the primary key):
authors: {[a_id, name]}
books: {[b_id, title, publisher]}
key words: {[k_id, keyword]}
One table for each relation:
writes: {[a_id, b_id]}
has_keyword: {[b_id, k_id, weight]}
Ronald Ortner
SQL: Subtleties for COUNT and JOINs OLTP, OLAP, SAP, and Data Warehouse Objectrelational Databases Ranking and Data Min
An Example
An Example: Storing Books
We introduce IDs for authors, books and key words.
Then:
One table for each entity type (with IDs being the primary key):
authors: {[a_id, name]}
books: {[b_id, title, publisher]}
key words: {[k_id, keyword]}
One table for each relation:
writes: {[a_id, b_id]}
has_keyword: {[b_id, k_id, weight]}
→ need five (!) tables for storing books (actually one entity)
Ronald Ortner
SQL: Subtleties for COUNT and JOINs OLTP, OLAP, SAP, and Data Warehouse Objectrelational Databases Ranking and Data Min
Objectrelational Databases
Outline
1
SQL: Subtleties for COUNT and JOINs
2
OLTP, OLAP, SAP, and Data Warehouse
OLTP and OLAP
SAP
Data Warehouse & OLAP
3
Objectrelational Databases
An Example
Objectrelational Databases
4
Ranking and Data Mining
Ranking
Ronald Ortner
SQL: Subtleties for COUNT and JOINs OLTP, OLAP, SAP, and Data Warehouse Objectrelational Databases Ranking and Data Min
Objectrelational Databases
Object-oriented Extensions
→ extend relational database theory with more object-oriented ideas:
Possible approaches:
Ronald Ortner
SQL: Subtleties for COUNT and JOINs OLTP, OLAP, SAP, and Data Warehouse Objectrelational Databases Ranking and Data Min
Objectrelational Databases
Object-oriented Extensions
→ extend relational database theory with more object-oriented ideas:
Possible approaches:
include structure into database system:
→ implicit joins (no join condition necessary)
Ronald Ortner
SQL: Subtleties for COUNT and JOINs OLTP, OLAP, SAP, and Data Warehouse Objectrelational Databases Ranking and Data Min
Objectrelational Databases
Object-oriented Extensions
→ extend relational database theory with more object-oriented ideas:
Possible approaches:
include structure into database system:
→ implicit joins (no join condition necessary)
give up first NF and allow structured information:
→ can store several authors/keywords in set
Ronald Ortner
SQL: Subtleties for COUNT and JOINs OLTP, OLAP, SAP, and Data Warehouse Objectrelational Databases Ranking and Data Min
Objectrelational Databases
Objectrelational Databases
In a proper objectrelational database system one also has
possibility to define objects with other objects
inheritance
object methods
→ cf. object-oriented programming languages like Java
Ronald Ortner
SQL: Subtleties for COUNT and JOINs OLTP, OLAP, SAP, and Data Warehouse Objectrelational Databases Ranking and Data Min
Ranking
Outline
1
SQL: Subtleties for COUNT and JOINs
2
OLTP, OLAP, SAP, and Data Warehouse
OLTP and OLAP
SAP
Data Warehouse & OLAP
3
Objectrelational Databases
An Example
Objectrelational Databases
4
Ranking and Data Mining
Ranking
Ronald Ortner
SQL: Subtleties for COUNT and JOINs OLTP, OLAP, SAP, and Data Warehouse Objectrelational Databases Ranking and Data Min
Ranking
Ranking
Task:
We want to rank objects with respect to more than one criterion.
We are only interested in “top” objects.
Naive solution:
Compute value of objective function for all objects and sort.
However, there are better ways to do this:
Threshold algorithm
No Random Access algorithm
Ronald Ortner
Related documents