【技术实现步骤摘要】
一种数据库的分库分表方法及数据库系统
[0001]本申请涉及数据库
,尤其涉及一种数据库的分库分表方法及数据库系统
。
技术介绍
[0002]现有的分库分表方案,需要先获取应用程序执行的
SQL
语句,进行解析,然后通过图谱交集比对计算等一系列操作后,才得到合适的分库分表方案,实现过程较为复杂,会消耗很大的系统内存,同时成本较高,反应速度慢,不能保证
SQL
执行性能,从而也不能保证应用系统性能
。
[0003]在高并发情况下,会造成
IO
读写频繁,相继会造成数据库读写缓慢,甚至是宕机,当数据库中的数据量非常庞大的时候,也会造成查询非常缓慢,给应用系统使用造成了很大的影响
。
技术实现思路
[0004]本申请实施例提供一种数据库的分库分表方法及数据库系统,用以在保证应用系统稳定运行的前提下,提高数据库和应用系统的性能
。
[0005]本申请实施例提供一种数据库的分库分表方法,包括:利用预先定义的分库分表方案进行分库分表,所述分库分表方案包括
SQL
解析
、SQL
路由
、SQL
改写
、SQL
执行
、
以及结果归并,其中,
[0006]SQL
解析,对接收的第一
SQL
语句进行分解,得到不可再分的原子符号;
[0007]SQL
路由,基于所述原子符号,解析上下文匹配数 ...
【技术保护点】
【技术特征摘要】
1.
一种数据库的分库分表方法,其特征在于,包括:利用预先定义的分库分表方案进行分库分表,所述分库分表方案包括
SQL
解析
、SQL
路由
、SQL
改写
、SQL
执行
、
以及结果归并,其中,
SQL
解析,对接收的第一
SQL
语句进行分解,得到不可再分的原子符号;
SQL
路由,基于所述原子符号,解析上下文匹配数据库和表的分片策略,生成
SQL
路由路径,根据生成的
SQL
路由路径将相应逻辑表的数据操作映射到对应的数据库节点,其中一个数据库节点至少设置有一个底层数据库;
SQL
改写,将第一
SQL
语句改写为可在真实数据库中正确执行的第二
SQL
语句;
SQL
执行,将
SQL
路由路径和改写的第二
SQL
语句发送至底层数据库执行;结果归并,将从各个数据库节点获取的多数据结果集进行合并,得到完整的结果集,以完成分库分表
。2.
如权利要求1所述的数据库的分库分表方法,其特征在于,
SQL
解析,分解所述第一
SQL
语句是根据不同数据库的字典
、
表达式和关键字来实现的
。3.
如权利要求1所述的数据库的分库分表方...
【专利技术属性】
技术研发人员:邱如如,苗健,吕新杰,
申请(专利权)人:瀚高基础软件股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。