分类筛选
分类筛选:

关于存储过程论文范文资料 与面向OceanBase的存储过程设计和实现有关论文参考文献

版权:原创标记原创 主题:存储过程范文 科目:本科论文 2024-03-08

《面向OceanBase的存储过程设计和实现》:本论文为您写存储过程毕业论文范文和职称论文提供相关论文参考文献,可免费下载。

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

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

中图分类号:TP392 文献标识码:A DOI:10.3969/j.issn.1000-5641.2016.05.016

0引言

随着大数据时代和互联网时代的到来,信息量呈井喷式爆发,传统的集中式数据库管理系统难以处理如此巨大的数据.在集中式系统架构下,尽管可以依据业务特点对数据库进行拆分,实现数据表的水平切分/垂直切分并存储到不同的数据库服务器上,但随着业务和数据量不断增长,需要不断地增加服务器以实现更细粒度的数据表切分,这种方法需要大量的人工维护成本.因此很多企业将目光转向了逐渐成熟的分布式数据库系统,并利用其良好的可扩展性和容错性等来满足存储海量数据的应用需求.近几年,随着分布式数据库的快速发展,各种分布式数据库如雨后春笋般出现,如Bigtable、Spanner、VoltDB,以及阿里巴巴(Alibaba)的OceanBase等.虽然这些系统多数拥有存储和管理海量数据的能力,但是在数据一致性、事务处理能力、SQL功能上,同传统的关系数据库系统相比还有差距,很难被直接应用于银行业务系统等传统的大型信息系统中,制约了分布式数据库在企业和机构中的推广和使用.但是越来越多的企业开始关注于增强分布式数据系统功能,如增加SQL支持、事务、二级索引、一致性等.

OceanBase是Alibaba研发的关系型分布式数据库,它实现了关系数据库的重要特征,也支持SQL查询;但是和主流的关系型数据库系统PostgreSQL、MySQL等相比较,功能上还存在一些不足的地方,如不支持存储过程和游标等.存储过程在现代企业中应用十分广泛,大多数企业的业务逻辑都采用存储过程实现,而OceanBase作为关系型数据库想要在企业和机构中被广泛应用,就需要支持存储过程,以便企业和机构易于将存储过程所写的业务迁移到OceanBase数据库系统.

本文通过深入分析主流的开源数据库管理系统的存储过程功能,对实现中的一些关键技术问题进行研究,并结合OceanBase架构和其现有的查询引擎,提出一种适合OceanBase数据库架构的存储过程设计和实现方案.本文安排如下:第1节介绍OceanBase架构和存储过程;第2节介绍OceanBase存储过程机制;第3节介绍PL/SQL引擎架构;第4节对OceanBase存储过程进行实验;第5节总结全文.

1背景

1.1 OceanBase概述

OceanBase整机架构分为4个模块:主控服务器RootServer;更新服务器Update-Server;基线数据服务器ChunkServer;合并服务器MergeServer.如图1所示.

在OceanBase中,和客户端直接连接的是MergeServer.客户端通过MySQL(关于数据库管理系统)协议将SQL请求发送到MergeServer后,MergeServer首先解析MySQL协议,从中提取出用户发送的SQL语句,接着通过MS-SQL模块,使用Flex与Bison进行词法解析和语法分析,生成语法树;然后生成SQL语句的逻辑查询计划和物理查询计划;最后根据物理查询计划调用OceanBase内部的各种操作符.MergeServer是OceanBase查询请求的入口,负责对收到的SQL进行处理和响应.

1.2 PL/SQL和存储过程简介

PL/SQL是Oracle数据库对SQL语句的扩展定义并实现的一种过程化SQL语言(Procedural Language/SQL),也是一种程序语言,在普通SQL语句的使用上增加了编程语言的特点.PL/SQL引入多种数据类型、变量声明、条件控制、循环结构和子程序等过程语言要素来强化SQL语句的过程处理能力.所以PL/SQL就是把数据操作和查询语句组织在PL/SQL代码的过程性单元中,并通过逻辑判断、循环等操作实现复杂的功能或者计算的程序语言.

存储过程是一段被命名后保存在数据库服务器端的一段预先编译的代码.上层应用给定存储过程名称和相应参数后,解释执行预编译的代码,能有效减少上层应用与数据库交互的次数和数据传输量.

2 OceanBase存储过程机制设计

2.1 OceanBase存储过程架构

在OceanBase中为实现存储过程,选择使用PL/SQL作为存储过程的宿主语言.因为PL/SQL最为常用,用户更习惯PL/SQL的编程方式.但OceanBase的原有架构中,MergeServer只能对SQL语句进行解析,不能解析存储过程使用的PL/SQL语句.所以在原来的MergeServer架构中,增加PL/SQL引擎模块来对存储过程的PL/SQL语句进行解析处理.增加PL/SQL引擎模块后的MergeServer架构如图2所示.

增加了PL/SQL引擎模块后,当MergeServer收到存储过程相关的PL/SQL语句后,会将收到的PL/SQL交给PL/SQL引擎处理.PL/SQL引擎包括编译器和解释器两个部分.编译器负责对PL/SQL进行编译.解释器负责解释执行编译器编译后的中间代码.

2.2存储过程创建和存储

2.2.1存储过程创建

存储过程论文参考资料:

过程装备和控制工程论文

论文过程

毕业论文过程

结论:面向OceanBase的存储过程设计和实现为大学硕士与本科存储过程毕业论文开题报告范文和相关优秀学术职称论文参考文献资料下载,关于免费教你怎么写存储过程方面论文范文。

和你相关的