The invention relates to a method for processing a SQL statement based on a distributed database, which belongs to the technical field of storage and calculation of on line data processing and later data processing. The method is based on the distributed database, the table is stored in a number of database nodes, the input SQL statements, including add, delete, modify and check the operation, the output is the result of SQL implementation. This method can be used to insert, update, delete and query online data processing, especially in the case of large amount of data, such as cross node connection, complex query, and so on.
【技术实现步骤摘要】
本专利技术涉及一种基于分布式数据库的sql语句处理方法,属于线上数据处理和后期数据处理的存储和计算
,线上数据处理具有高并发和大量数据的特征,后期数据处理包括线上数据同步到数据仓库,数据分析挖掘,机器学习。
技术介绍
随着现实应用中数据的存储和计算量越来越大,需要将独立的数据库进行水平的扩展,按照某种策略将数据存储在多个数据库节点中,现有技术中的分表思想实现了数据的扩展。分表的架构下,同时带来了计算上的麻烦,即必须跨机器,跨不同数据库实例,某些特定的应用场景如连接,子查询很难实现;后期数据处理,将数据从线上数据处理的系统中通过ETL(数据抽取、转换和装载)过程同步到数据仓库中,而线上数据系统和数据仓库系统通常为不同的存储架构,数据结构发生了变化,导致无法快速的完成数据同步,例如更新记录和删除记录很难快速的同步到数据仓库中,同时也限制了后期数据处理的速度。
技术实现思路
本专利技术的目的在于解决现有技术存在的上述问题,避免线上数据同步到数据仓库(例如hadoop或者异构数据库)的麻烦;后期数据处理,包括数据分析,数据挖掘,机器学习;在线上数据处理和后期数据处理中都会遇到的跨节点连接,夸节点子查询等问题。本专利技术通过以下技术方案实现:一种基于分布式数据库的sql语句处理方法,其特征在于,包括客户端、主控机、元数据库节点和数据库节点:所述客户端,负责提交sql,从主控机获取元数据,进行sql分析,安排执行,并接受执行结果;所述主控机,负责管理和监控客户端、元数据库节点和数据库节点;所述元数据库节点,负责存储表的结构信息和数据分布信息,作为生成执行计划的依据 ...
【技术保护点】
一种基于分布式数据库的sql语句处理方法,其特征在于,包括客户端、主控机、元数据库节点和数据库节点:所述客户端,负责提交sql,从主控机获取元数据,进行sql分析,安排执行,并接受执行结果;所述主控机,负责管理和监控客户端、元数据库节点和数据库节点;所述元数据库节点,负责存储表的结构信息和数据分布信息,作为生成执行计划的依据;所述数据库节点,负责存储数据的节点,也负责执行本节点上的sql语句;该方法基于分布式数据库,表是存储在多个数据库节点中,输入sql语句,包含增、删、改和查的操作,输出是sql执行的结果。
【技术特征摘要】
1.一种基于分布式数据库的sql语句处理方法,其特征在于,包括客户端、主控机、元数据库节点和数据库节点:所述客户端,负责提交sql,从主控机获取元数据,进行sql分析,安排执行,并接受执行结果;所述主控机,负责管理和监控客户端、元数据库节点和数据库节点;所述元数据库节点,负责存储表的结构信息和数据分布信息,作为生成执行计划的依据;所述数据库节点,负责存储数据的节点,也负责执行本节点上的sql语句;该方法基于分布式数据库,表是存储在多个数据库节点中,输入sql语句,包含增、删、改和查的操作,输出是sql执行的结果。2.根据权利要求1所述的基于分布式数据库的sql语句处理方法,其特征是,所述的增、删和改的操作如下:当插入数据的时候,根据分表的策略将记录插入到对应的数据库节点中;当更新数据的时候,根据分表的策略判断数据的源数据库节点和目标数据库节点是否变化,如果没有变化,直接更新,如果有变化,在源数据库节点中删除老数据,在目标数据库节点中插入新数据;当删除数据的时候,根据分表的策略在相应的数据库节点中删除。3.根据权利要求2所述的基于分布式数据库的sql语句处理方法,其特征是,所述的分表的策略,是根据表的均衡字段和分表算法将数据规律的放到数据库节点上。4.根据权利要求3所述的基于分布式数据库的sql语句处理方法,其特征是,所述的均衡字段为表的一个或几个字段,用于将记录按照分的表策略插入到对应的节点中。5.根据权利要求3所述的基于分布式数据库的sql语句处理方法,其特征是,所述的分表算法包含list,hash,range中的一种或几种的结合。6.根据权利要求1-5任意一项所述的基于分布式数据库的sql语句处理方法,其特征是,所述的查的操作如下:将输入的sql语句经过语义分析,结合表的结构信息和数据分布信息,生成包含多个阶段的执行计划;阶段之间具有依赖关系,形成一棵多输入单输出的...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。