1 HYRISE – A Main Memory Hybrid Storage Engine By: Martin Grund, Jens Krüger, Hasso Plattner, Alexander Zeier, Philippe Cudre-Mauroux, Samuel Madden, VLDB.

Slides:



Advertisements
Similar presentations
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide
Advertisements

Tuning: overview Rewrite SQL (Leccotech)Leccotech Create Index Redefine Main memory structures (SGA in Oracle) Change the Block Size Materialized Views,
Arjun Suresh S7, R College of Engineering Trivandrum.
Practical Caches COMP25212 cache 3. Learning Objectives To understand: –Additional Control Bits in Cache Lines –Cache Line Size Tradeoffs –Separate I&D.
Query Processing and Optimizing on SSDs Flash Group Qingling Cao
Query Execution, Concluded Zachary G. Ives University of Pennsylvania CIS 550 – Database & Information Systems November 18, 2003 Some slide content may.
Erhan Erdinç Pehlivan Computer Architecture Support for Database Applications.
A Scalable, Predictable Join Operator for Highly Concurrent Data Warehouses George Candea (EPFL & Aster Data) Neoklis Polyzotis (UC Santa Cruz) Radek Vingralek.
1. Aim High with Oracle Real World Performance Andrew Holdsworth Director Real World Performance Group Server Technologies.
6.814/6.830 Lecture 8 Memory Management. Column Representation Reduces Scan Time Idea: Store each column in a separate file GM AAPL.
Presented by Marie-Gisele Assigue Hon Shea Thursday, March 31 st 2011.
1 Improving Hash Join Performance through Prefetching _________________________________________________By SHIMIN CHEN Intel Research Pittsburgh ANASTASSIA.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 11 Database Performance Tuning and Query Optimization.
1 External Sorting for Query Processing Yanlei Diao UMass Amherst Feb 27, 2007 Slides Courtesy of R. Ramakrishnan and J. Gehrke.
©Silberschatz, Korth and Sudarshan18.1Database System Concepts Centralized Systems Run on a single computer system and do not interact with other computer.
Evaluation of Relational Operations. Relational Operations v We will consider how to implement: – Selection ( ) Selects a subset of rows from relation.
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 1 Preview of Oracle Database 12 c In-Memory Option Thomas Kyte
Analyzing the Energy Efficiency of a Database Server Hanskamal Patel SE 521.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 10 Database Performance Tuning and Query Optimization.
1 © Prentice Hall, 2002 Physical Database Design Dr. Bijoy Bordoloi.
1 IT420: Database Management and Organization Storage and Indexing 14 April 2006 Adina Crăiniceanu
© Stavros Harizopoulos 2006 Performance Tradeoffs in Read-Optimized Databases Stavros Harizopoulos MIT CSAIL joint work with: Velen Liang, Daniel Abadi,
1 Experimental Evidence on Partitioning in Parallel Data Warehouses Pedro Furtado Prof. at Univ. of Coimbra & Researcher at CISUC DEI/CISUC-Universidade.
Breaking the Memory Wall in MonetDB
A Hybrid Row-column OLTP Database Architecture for Operational Reporting Jan Schaffner, Anja Bog, Jens Krüger, Alexander Zeier.
Panagiotis Antonopoulos Microsoft Corp Ioannis Konstantinou National Technical University of Athens Dimitrios Tsoumakos.
Physical Database Design & Performance. Optimizing for Query Performance For DBs with high retrieval traffic as compared to maintenance traffic, optimizing.
TM 7-1 Copyright © 1999 Addison Wesley Longman, Inc. Physical Database Design.
VLDB2012 Hoang Tam Vo #1, Sheng Wang #2, Divyakant Agrawal †3, Gang Chen §4, Beng Chin Ooi #5 #National University of Singapore, †University of California,
1 © 2012 OpenLink Software, All rights reserved. Virtuoso - Column Store, Adaptive Techniques for RDF Orri Erling Program Manager, Virtuoso Openlink Software.
Module 7 Reading SQL Server® 2008 R2 Execution Plans.
Workload-Aware Aggregate Maintenance in Columnar In-Memory Databases Stephan Müller, Lars Butzmann, Stefan Klauck, Hasso Plattner 2013 IEEE International.
DANIEL J. ABADI, ADAM MARCUS, SAMUEL R. MADDEN, AND KATE HOLLENBACH THE VLDB JOURNAL. SW-Store: a vertically partitioned DBMS for Semantic Web data.
MonetDB/X100 hyper-pipelining query execution Peter Boncz, Marcin Zukowski, Niels Nes.
Performance Tradeoffs in Read-Optimized Databases Stavros Harizopoulos * MIT CSAIL joint work with: Velen Liang, Daniel Abadi, and Sam Madden massachusetts.
© Stavros Harizopoulos 2006 Performance Tradeoffs in Read- Optimized Databases: from a Data Layout Perspective Stavros Harizopoulos MIT CSAIL Modified.
Chapter 6 1 © Prentice Hall, 2002 The Physical Design Stage of SDLC (figures 2.4, 2.5 revisited) Project Identification and Selection Project Initiation.
Database Systems: Design, Implementation, and Management Ninth Edition Chapter 12 Distributed Database Management Systems.
Partitioning Design For Performance and Maintainability Martin Cairns
Daniel J. Abadi · Adam Marcus · Samuel R. Madden ·Kate Hollenbach Presenter: Vishnu Prathish Date: Oct 1 st 2013 CS 848 – Information Integration on the.
C-Store: How Different are Column-Stores and Row-Stores? Jianlin Feng School of Software SUN YAT-SEN UNIVERSITY May. 8, 2009.
1 Chapter 10 Joins and Subqueries. 2 Joins & Subqueries Joins – Methods to combine data from multiple tables – Optimizer information can be limited based.
Jens Krüger, Christian Tinnefeld, Martin Grund, Alexander Zeier, Hasso Plattner A Case for Online Mixed Workload Processing.
Physical Database Design Purpose- translate the logical description of data into the technical specifications for storing and retrieving data Goal - create.
Chapter 4 Logical & Physical Database Design
Chapter 5 Index and Clustering
CPSC 404, Laks V.S. Lakshmanan1 Evaluation of Relational Operations – Join Chapter 14 Ramakrishnan and Gehrke (Section 14.4)
Page 1 A Platform for Scalable One-pass Analytics using MapReduce Boduo Li, E. Mazur, Y. Diao, A. McGregor, P. Shenoy SIGMOD 2011 IDS Fall Seminar 2011.
Last Updated : 27 th April 2004 Center of Excellence Data Warehousing Group Teradata Performance Optimization.
Query Execution. Where are we? File organizations: sorted, hashed, heaps. Indexes: hash index, B+-tree Indexes can be clustered or not. Data can be stored.
CS 440 Database Management Systems Lecture 6: Data storage & access methods 1.
Query Execution Query compiler Execution engine Index/record mgr. Buffer manager Storage manager storage User/ Application Query update Query execution.
DMBS Internals I February 24 th, What Should a DBMS Do? Store large amounts of data Process queries efficiently Allow multiple users to access the.
Bigtable: A Distributed Storage System for Structured Data
Decibel: The Relational Dataset Branching System
Oracle Announced New In- Memory Database G1 Emre Eftelioglu, Fen Liu [09/27/13] 1 [1]
SQL IMPLEMENTATION & ADMINISTRATION Indexing & Views.
Practical Database Design and Tuning
Database Management System
Lecture 16: Data Storage Wednesday, November 6, 2006.
Physical Database Design and Performance
Evaluation of Relational Operations
CHAPTER 5: PHYSICAL DATABASE DESIGN AND PERFORMANCE
R*: An Overview of the Architecture
Lecture 17: Distributed Transactions
Physical Database Design
Practical Database Design and Tuning
Lecture 13: Query Execution
The Gamma Database Machine Project
Overview Problem Solution CPU vs Memory performance imbalance
Presentation transcript:

1 HYRISE – A Main Memory Hybrid Storage Engine By: Martin Grund, Jens Krüger, Hasso Plattner, Alexander Zeier, Philippe Cudre-Mauroux, Samuel Madden, VLDB 2011 Presented by: Natasha Prokoshyna

2 Separation between transaction processing and analytics systems OLAP bulk updates and large sequential scans spanning many rows prefer narrow, vertical partitions prefer pure columnar systems (eg. MonetDB/X100) OLTP reads/writes to a few rows at a time (select, update, delete) prefer wider, horizontal partitions prefer all-row design

3 Need for ‘real-time analytics’ Need up-to-the minute reporting on business processes, ‘real-time analytics’ Available-to-promise (ATP) applications Existing databases are not optimized for mixed query workloads

4 HYRISE – A hybrid system Automatically partitions tables into vertical partitions of varying widths depending on how the columns of the table are accessed Finds partitioning that minimizes the number of cache misses for a given workload Contributions of partial projections, data alignment and query plans Scales to tables with a large number of columns

5 Architecture Creates and maintains the hybrid containers storing the data Receives user queries, creates a physical query plan, executes the query plan by calling Storage Manager Analyzes query workload and suggests best possible partitioning to the Storage Manager

6 Each partition is a container For relation r with eight attributes a1...a8, stored in three containers: A relation is a collection of disjoint vertical partitions of different widths Each attribute is mapped to only one container Container provides methods to access values it holds Storage Manager

7 Query Processor Implements selection, projection (where clause), sorting and group by operators Support for joins includes hash and nested loops join Supports both early and late materialization for most operators Cache misses are highly correlated with and are a good predictor of total CPU cycles in database access methods

8 Layout Manager Candidate Generation  For each relation R, recursively split the set of attributes into two subsets: accessed attributes and ignored attributes  Determine all primary partitions [1] for all participating tables  A set of primary partitions each contains a set of attributes that are always accessed together Candidate Merging  Inspect permutations to generate additional candidates, assuming:  Merging two primary partitions advantageous for wide, random access to attributes  Candidate merging has additional access overhead unless both primary partitions are perfectly aligned to cache lines  Discard candidate if cost of merging primary partitions is equal to or greater than the sum of individual costs, otherwise add merged candidate to candidate set Layout Generation  Generate the set of all valid layouts by exploring all possible combinations of the partitions  Evaluate the cost of each layout to find the physical layout with the lowest cost [1] primary partition – largest partition that does not incur any container overhead cost

9 Hybrid Model Cost of the above algorithm is high for complex workloads Approximate algorithm:  Cluster the primary partitions that are often co-accessed together  Generate optimal sub-layouts for each cluster of primary partitions  Combine the optimal sub-layouts Improves on the all-column layout: 1.6x faster on OLTP queries, identical performance on analytical queries Improves on all-row layouts: 4x less CPU cycles Hill-Climb Data Morphing algorithm (Hankins and Patel, 2003) performed worse on a simplified version of the benchmark: 60% worse on cache misses, and 16% worse on CPU cycles

10 Experimental Results For a table with byte attributes, starting with a single OLTP query and iteratively given an increasing number of OLAP queries, the number of partitions converges towards “all-column” layout.

11 Benchmarks All-row (R) vs. all-column (C) vs. hybrid system (H) : Intel E5450 quad-core CPU with 32KB per core L1 data and instruction cache (8-way associative, 64 byte cache lines), a shared 6MB L2 cache (24-way associative, 64 byte cache lines), and 64 GB of PC CL2 RAM

12 Outstanding Issues Lacks support for transactions and recovery  orthogonal to the question of which physical design will perform best for a given workload Query execution is single-threaded and handles one operator at a time only  Support parallel execution for multi-core processors is a work in progress Container overhead cost: loading attributes into cache that are not used by the projection (cointainer_width – num_bytes for full scan) Approximate algorithm finds sub-optimal layouts when a complex combination of partitions How does HYRISE compare to other existing hybrid systems (eg. Oracle Exadata 2)

13 Thank you!