关键词:
OLAP
分布式存储
分布式查询
广播策略
重分布策略
SQL解析
摘要:
随着互联网技术的不断发展,产生的数据量也越来越大,传统关系型数据库系统已经越来越不能满足这些海量数据的存储需求以及快速检索的需求,为了解决这一问题人们提出了各种分布式数据库系统的解决方案。同时,由于企业之间的竞争越来越激烈,联机分析处理(On-Line Analysis Processing,OLAP)技术作为企业决策支持系统中的重要一环,其重要性不言而喻。论文正是基于某通信公司的具体业务需求,研究面向OLAP场景的分布式数据库系统的设计方案与实现方法。论文主要从面向OLAP场景的分布式数据库系统的架构、数据操作功能以及数据定义功能等方面对目标系统进行研究,主要工作如下:(1)论文分析了分布式数据库系统的构建方案和并行计算的思想与架构,并结合具体的业务需求,设计了一种基于Shared-Nothing的面向OLAP场景的分布式数据库系统架构,然后在该架构的基础上研究了系统对用户请求的处理流程。(2)论文从数据操作功能和数据定义功能两方面研究了面向OLAP场景的分布式数据库系统实现的关键技术。针对数据操作功能,论文主要研究了分布式存储中的数据分布方案以及分布式查询中OLAP业务经常涉及的多表关联查询。对于分布式存储中的数据分布方案,论文主要研究了随机分布方案以及一致性哈希方案,并针对随机分布方案设计了一种随机算法。对于分布式查询中的多表关联查询,论文主要研究了实现分布式环境下数据库表关联计算的广播策略和重分布策略,并对这两种策略进行了优化;针对数据定义功能,论文主要研究了DDL语句的处理流程。(3)论文设计了面向OLAP场景的分布式数据库原型系统,实现了SQL解析、数据操作功能中的分布式存储与分布式查询功能以及数据定义功能。其中分布式存储、分布式查询以及数据定义功能对用户请求的处理需要由系统的多个节点协作完成,论文为此设计并实现了一个协同器来协调和管理各个节点。