计算机科学

面向OceanBase的存储过程设计与实现

  • 祝 君 ,
  • 刘柏众 ,
  • 余晟隽 ,
  • 宫学庆 ,
  • 周敏奇
展开
  • 华东师范大学 数据科学与工程研究院, 上海 200062

收稿日期: 2016-06-24

  网络出版日期: 2016-11-29

基金资助

国家自然科学基金(61332006); 国家863计划项目(2015AA015307)

Designs and implementations of stored procedure in OceanBase

  • ZHU Jun ,
  • LIU Bai-zhong ,
  • YU Sheng-jun ,
  • GONG Xue-qing ,
  • ZHOU Min-qi
Expand
  • Institute for Data Science and Engineering, East China Normal University, Shanghai 200062, China

Received date: 2016-06-24

  Online published: 2016-11-29

摘要

存储过程是数据库管理系统的一个重要特性, 它是标准结构化查询语言 (Structured Query Language, SQL)的一个扩展. OceanBase是一个新型的支持海量数据处理的分布式数据库系统, 但现有OceanBase的开源版本不支持存储过程功能, 影响了该系统在企业和机构中的推广和应用. 本文在深度分析存储过程原理以及OceanBase查询处理策略的基础上, 设计并实现了支持PL/SQL(Procedural Language/SQL)的存储过程机制.

关键词: 存储过程; SQL; OceanBase

本文引用格式

祝 君 , 刘柏众 , 余晟隽 , 宫学庆 , 周敏奇 . 面向OceanBase的存储过程设计与实现[J]. 华东师范大学学报(自然科学版), 2016 , 2016(5) : 144 -152 . DOI: 10.3969/j.issn.1000-5641.2016.05.016

Abstract

As an extension of standard SQL(Structured Query Language), the stored procedure is an important feature in modern databases. OceanBase is a new type of
distributed database system which supports massive data processing, but the open-sourced version OceanBase does not support stored procedure, which influences its adoption in enterprises. In this paper, we analyze the principle of stored procedure and the query processing mechinism of OceanBase in detail. Then, the complete design and implementation of stored procedure which supports PL/SQL are presented.

Key words: stored procedure; SQL; OceanBase

参考文献

[ 1 ] CHANG F, DEAN J, GHEMAWAT S, et al. BigtableµA distributed storage system for structured data [C]//Proceedings of the 7th Symposium on Operating Systems Design and Implementation (OSDI). 2006: 205-218.
[ 2 ] CORBETT J C, DEAN J, EPSTEIN M, et al. SpannerµGoogle’s globally distributed database [J]. ACM Transactions on Computer Systems, 2013, 31(3): 251-264.
[ 3 ] STONEBRAKER M, WEISBERG A. The voltDB main memory DBMS [J]. IEEE Data Eng Bull, 2013, 36(2): 21-27.
[ 4 ] OceanBase [EB/OL]. [2016-03-01]. https://github.com/alibaba/oceanbase/.
[ 5 ] HURSCH C J, HURSCH J L. SQL: The Structured Query Language [M]. [S.l.]: TAB books Inc, 1988.
[ 6 ] PL/pgSQL [EB/OL]. [2016-03-02]. http://www.postgresql.org/docs/8.3/static/plpgsql.html.
[ 7 ] 彭智勇, 彭煜玮. PostgreSQL数据库内核分析 [M]. 北京: 机械工业出版社, 2011.
[ 8 ] MySQL [EB/OL]. [2016-03-02]. http://www.mysql.com/.
[ 9 ] Stored Procedure [EB/OL]. [2016-03-02]. http://en.wikipedia.org/wiki/Stored procedure.
[10] URMAN S. Oracle9i PL/SQL Programming [M].北京:机械工业出版社, 2002.
[11] 杨传辉. 大规模分布式存储系统原理解析和架构实战 [M].北京: 机械工业出版社, 2013.
[12] LEVINE J, JOHN L. Flex & Bison [M]. 南京: 东南大学出版社, 2010.
[13] AHO A V, SETHI R, ULLMAN J D. Compilers: Principles, techniques, and tools [M]. Boston: Addison-Wesley Publishing Company, 1986.
[14] 阳振坤. OceanBase关系数据库架构 [J]. 华东师范大学学报(自然科学版),2014(5): 141-148+163.
[15] 高朝瑞. GKD-Base PL/SQL存储过程和包的研究与实现 [D].长沙: 国防科学技术大学, 2004.
[16] 汪琦. 基于解释器的数据库存储过程研究 [D]. 武汉:华中科技大学, 2007.
[17] GARCIA-MOLINA H,ULLMAN J D, WIDOM J. 数据库系统实现[M]. 杨冬青, 吴愈青, 包小源, 译. 2版. 北京:机械工业出版社, 2010.
[18] 朱涛, 周敏奇, 张召. 面向OceanBase的存储过程实现技术研究 [J].华东师范大学学报(自然科学版), 2014(5): 281-289.

文章导航

/