Orca: A Modular Query Optimizer Architecture for Big Data Orca: 一个处理大数据的模块化的查询优化体系 Sigmod 2014 报告人 万丽蓉.

Slides:



Advertisements
Similar presentations
Exercise 1 EECS, Peking University Exercise in Query Processing.
Advertisements

如何在Elsevier期刊上发表文章 china.elsevier.com
資料庫設計 Database Design.
操作系统结构.
-Artificial Neural Network- Hopfield Neural Network(HNN) 朝陽科技大學 資訊管理系 李麗華 教授.
商業智慧與資料倉儲 課程簡介 靜宜大學資管系 楊子青.
大数据在医疗行业的应用.
Chapter 8 Liner Regression and Correlation 第八章 直线回归和相关
天文望远镜集成建模研究 杨德华 南京天文光学技术研究所 30 NOV, 年中国虚拟天文台年会 广西师范大学 桂林
NCC委員會之軟性變革 --以知識管理系統導入全會應用之案例探討— 指導教授:李國光 博士
Leftmost Longest Regular Expression Matching in Reconfigurable Logic
Operators and Expressions
Homework 4 an innovative design process model TEAM 7
關聯式資料庫.
Excellence in Manufacturing 卓 越 制 造
異質計算教學課程內容 「異質計算」種子教師研習營 洪士灝 國立台灣大學資訊工程學系
軟體原型 (Software Prototyping)
東華三院呂潤財紀念中學 叢蔣漢校長 2012年4月20日 (星期五)
Working with Databases (II) 靜宜大學資管系 楊子青
第五讲 数据的分组、合并与转换.
第 1 章 ERP的演变.
生產與作業管理 Chapter 15 物料需求管理 第七組組員: M 曾子鴻 M 李正文
CHAPTER 8 VIRTUAL MEMORY
圖形溝通大師 Microsoft Visio 2003
第4章(2) 空间数据库 —关系数据库 北京建筑工程学院 王文宇.
HLA - Time Management 陳昱豪.
实验 2:MS Access QBE Query使用
China Standardization activities of ITS
SAP 架構及基本操作 SAP前端軟體安裝與登入 Logical View of the SAP System SAP登入 IDES
Inventory System Changes and Limitations
塑膠材料的種類 塑膠在模具內的流動模式 流動性質的影響 溫度性質的影響
第4章(1) 空间数据库 —数据库理论基础 北京建筑工程学院 王文宇.
化工安全与环境 第四章 职业卫生.
PubMed整合显示图书馆电子资源 医科院图书馆电子资源培训讲座.
Spark SQL 介绍 付士涛. Spark SQL 介绍 付士涛 大纲 Architecture(架构) 像Hive一样的User Interface(用户操作界面) DataFrame的使用(1.3以前叫做SchemaRDD)
Abstract Data Types 抽象数据类型 Institute of Computer Software 2019/2/24
推动全球能源变革,以创造清洁、安全、繁荣的低碳未来。
SAP R/3架構及前端軟體安裝 Logical View of the R/3 System SAP Frontend 6.2安裝
Answering aggregation question over knowledge base


第18章 SQL結構化查詢語言 18-1 SQL語言的基礎 18-2 SQL的查詢指令 18-3 SQL子查詢與合併查詢.
在Microsoft Access 下 建立資料庫
中国科学技术大学计算机系 陈香兰 2013Fall 第七讲 存储器管理 中国科学技术大学计算机系 陈香兰 2013Fall.
虚 拟 仪 器 virtual instrument
中国科学技术大学计算机系 陈香兰 Fall 2013 第三讲 线程 中国科学技术大学计算机系 陈香兰 Fall 2013.
從 ER 到 Logical Schema ──兼談Schema Integration
Component 2: Workshop 第二部分研讨会
Google Local Search API Research and Implementation
Distance Vector vs Link State
BiCuts: A fast packet classification algorithm using bit-level cutting
Chapter 10 Mobile IP TCP/IP Protocol Suite
Efficient Query Relaxation for Complex Relationship Search on Graph Data 李舒馨
SAP 架構及基本操作 SAP前端軟體安裝與登入 Logical View of the SAP System SAP登入 IDES
赵才荣 同济大学,电子与信息工程学院,智信馆410室
CONSCIOUS Value-Based Parenting 基于价值的有意识子女教育
Chapter 14 系統保護 (System Protection)
Distance Vector vs Link State Routing Protocols
何正斌 博士 國立屏東科技大學工業管理研究所 教授
Advanced Basic Key Terms Dependency Generalization Actor Stereotype
SAP 架構及前端軟體安裝 Logical View of the SAP System SAP Frontend 7.1安裝 SAP登入
MGT 213 System Management Server的昨天,今天和明天
提纲 体系结构 本体调研.
Requirements for SPN Information Modeling
OrientX暑期工作总结及计划 XML Group
如何在Elsevier期刊上发表文章 china.elsevier.com
Experimental Analysis of Distributed Graph Systems
INTRODUCTION Making 24 with 4 cards DETAILS TEST GAME GAME.
Chartering a Course for Club Success 成功分會之經營訣竅
Gaussian Process Ruohua Shi Meeting
Presentation transcript:

Orca: A Modular Query Optimizer Architecture for Big Data Orca: 一个处理大数据的模块化的查询优化体系 Sigmod 2014 报告人 万丽蓉

研究背景 In this paper we present the architecture of Orca, the new query optimizer for all Pivotal ( Pivotal 公司)data management products,including Pivotal Greenplum Database (GPDB) and Pivotal HAWQ.

GPDB architecture

GPDB architecture工作原理 储存和处理如此大量的数据是通过将负载分布到几个独立的服务器或主机,创建一系列个体数据库,一起协作,提供一个单一的数据库映像。 主管服务器(master severs)是GPDB的入口,也就是用户连接数据库提交SQL语句的地方。 主管服务器负责协调与其他数据库实例共同工作,处理和存储数据。每一个数据库实例成为一个segment。 当一个查询被提交给主管服务器,查询将被优化并分解为更加细化的任务,分布到每一个segment进行处理,共同提交最终结果。 网络层负责segments之间的进程进行通讯。

HAWQ HAWQ把最新的基于成本的优化和Hadoop的可扩展性容错性结合了起来,在PB级规模上实现了数据的交互处理。 HAWQ , a massively parallel SQL-compliant engine on top of HDFS(Hadoop分布式系统). HAWQ 在内核中使用Orca体系设计高效的查询方案,降低Hadoop集群的数据访问成本。 HAWQ把最新的基于成本的优化和Hadoop的可扩展性容错性结合了起来,在PB级规模上实现了数据的交互处理。

Interaction of Orca with database system Orca is the new query optimizer for Pivotal data management products, including GPDB and HAWQ. DXL:查询优化器的解耦需要建立一个沟通机制与数据库系统通信来处理查询。Orca体系包括一个框架,用于数据库系统和优化器之间的数据交换,这个框架叫做Data eXchange Language (DXL)。

Interaction of Orca with database system translator

Interaction of Orca with database system Figure 2 shows the interaction between Orca and an external database system. The input to Orca is a DXL query. The output of Orca is a DXL plan. During optimization, the database system can be queried for metadata (e.g., table definitions). Orca abstracts metadata access details by allowing database system to register a metadata provider (MD Provider) that is responsible for serializing metadata into DXL before being sent to Orca.

The database system needs to include translators that consume/emit data in DXL format. Query2DXL translator converts a query parse tree into a DXL query, while DXL2Plan translator converts a DXL plan into an executable plan. The implementation of such translators is done completely outside Orca, which allows multiple to use Orca by providing the appropriate translators.

Orca architecture

Memo. The space of plan alternatives generated by the optimizer is encoded in a compact in-memory data structure called the Memo . The Memo structure consists of a set of containers called groups, where each group contains logically equivalent expressions. Memo是一个由group的集合。每一个group包含一类逻辑等价式。 Memo groups capture the different sub-goals of a query (e.g., a filter on a table, or a join of two tables). 将查询拆解成子目标,由group获得。 Group members, called group expressions, achieve the group goal in different logical ways (e.g., different join orders). Each group expression is an operator that has other groups as its children.

Search and Job Scheduler Orca uses a search mechanism to navigate through the space of possible plan alternatives and identify the plan with the least estimated cost. The search mechanism由专门的Job Scheduler来创建独立或者并行的work units来完成,大概分为三个步骤: exploration where equivalent logical expressions are generated, implementation where physical plans are generated, and optimization, where required physical properties (e.g., sort order) are enforced and plan alternatives are costed.

Transformations Plan alternatives are generated by applying transformation rules that can produce either equivalent logical expressions (e.g., InnerJoin(A,B) →InnerJoin(B,A)), or physical implementations of existing expressions (e.g., Join(A,B) → HashJoin(A,B)). The results of applying transformation rules are copied-in to the Memo, which may result in creating new groups and/or adding new group expressions to existing groups. Each transformation rule is a self-contained component that can be explicitly activated/deactivated in Orca configurations.

Property Enforcement Orca includes an extensible framework for describing query requirements and plan characteristics based on formal property specifications. Properties have different types including logical properties (e.g., output columns), physical properties (e.g., sort order and data distribution), and scalar properties (e.g., columns used in join conditions). During query optimization, each operator may request specific properties from its children. An optimized child plan may either satisfy the required properties on its own (e.g., an IndexScan plan delivers sorted data), or an enforcer (e.g., a Sort operator) needs to be plugged in the plan to deliver the required property. The framework allows each operator to control enforcers placement based on child plans' properties and operator's local behavior.

Metadata Cache Since metadata (e.g., table definitions) changes infrequently, shipping it with every query incurs an overhead. Orca caches metadata on the optimizer side and only retrieves pieces of it from the catalog if something is unavailable in the cache, or has changed since the last time it was loaded in the cache. Metadata cache also abstracts the database system details from the optimizer, which is particularly useful during testing and debugging.

Orca特点 Modularity(模块化) Extensibility(可扩展性) Multi-core ready:Orca deploys a highly efficient multi-core aware scheduler that distributes individual negrained optimization subtasks across multiple cores for speed-up of the optimization process.

谢谢!