[发明专利]一种基于SQLite数据库的垂直拆分方法在审
申请号: | 201810075410.0 | 申请日: | 2018-01-25 |
公开(公告)号: | CN108256091A | 公开(公告)日: | 2018-07-06 |
发明(设计)人: | 杨振庚 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 济南舜源专利事务所有限公司 37205 | 代理人: | 张亮 |
地址: | 450000 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 垂直 计算机领域 历史信息 用户操作 用户感觉 透明 | ||
本发明涉及计算机领域,特别涉及一种基于SQLite数据库的垂直拆分方法,该方法通过简单的判断将数据库垂直拆分,且拆分后能够很好的实现对历史信息的查看,拆分后的数据库对用户操作透明,即用户感觉不到数据库的改变,能够很好的提高系统的稳定性。
技术领域
本发明涉及计算机领域,特别涉及一种基于SQLite数据库的垂直拆分方法。
背景技术
在IT服务中,数据库是一项关键的组件。其维护着整个服务所需的关键数据。然而,数据库如MySQL、PostgreSQL、Oracle通常作为系统的一项进程来提供服务。对于小型的应用来说,可能并不需要大型关系数据库的丰富的功能,仅需要以能够提供关系数据的增删改查操作即可,这样SQLite文件数据库可以很好的满足要求。然而,随着数据量的增加,如日志信息,由于SQLite锁机制及性能的限制,很难满足这种大数据表的查询要求。同时查询改表过程中,将会影响到库中其他表的操作。因而不得不将这种大表水平拆分到新的SQlite库中,令其单独存在。但这样并不能解决查询大表产生的性能问题。
例如存在现有技术一的技术方案,数据库只保存一定时间内的数据,久远的数据将被滚动清除,该技术方案的缺点是删除过期的数据,使得历史数据不可见,这对一些关键的应用来说不可行。
例如存在现有技术二的技术方案,设置历史表,定期将活跃表中的数据转存如历史表,同时清除活跃表内已转存的数据;该技术方案的缺点是将活跃表中的数据转存至历史表,这样活跃表可以保持较高的性能,但查询信息时,由于历史表数据不断累积,查询问题依然存在。
例如存在现有技术三的技术方案,利用后台进程将数据库备份,同时删除已备份数据;该技术方案的缺点虽然数据库得到了备份,但备份后的数据对IT服务不可见,或者需要增加额外的功能才能访问到。并且这种方式部署较复杂。
例如存在现有技术四的技术方案,采用高级数据库方案如Oracle,Mysql集群,或者采用Hadoop大数据等解决方案;该技术方案的缺点是只为完成一小部分功能而动用大的组件,结构上显得不协调,且加大系统部署的环境要求。不适合小型应用的要求。
基于此,本文提出一种SQLite数据库的垂直拆分方法,能够实现将大表拆分成可满足性能要求的小表,同时拆分后的数据库能够很好的实现查询过程的连贯性,即数据库的拆分对用户透明。
发明内容
本发明是通过如下技术方案实现的,一种基于SQLite数据库的垂直拆分方法,包括如下步骤:第一步,生成系统模板数据库,其中只包含表结构,无数据;第二步,拆分数据库并将用户欲添加的数据存入拆分的数据库中或者将用户欲添加的数据添加进当前活跃库。
优选的,所述第二步具体包括以下步骤:S1,开始;S2,插入操作;S3,判断库大小/表行数是否达到出阈值,若是,执行步骤S4,若否,执行步骤S11;步骤S4,断开与当前库的链接;步骤S5,将活跃库以原始名+日期时间格式重命名;步骤S6,将新库名及当前时间及最后一行ID信息插入到数据库拆分信息表中;步骤S7,判断插入是否成功,若成功,则执行步骤S8,若不成功,则执行步骤S12;步骤S8,拷贝模板数据库,并将其重命名为活跃库;步骤S9,与当前活跃库重新建立链接;步骤S10,获取原活跃库主键信息,设置新库的主键起始信息;步骤S11,执行插入操作;步骤S12,将库文件名还原为重命名前状态,执行步骤S11。
本发明还提供一种操作数据库的方法,其中该数据库根据所述的基于SQLite数据库的垂直拆分方法所形成,具体的,当用户查询、修改或删除操作时,首先判断用户查询的数据是否在当前活跃数据库中,若是,则返回当前活跃数据库中的数据;若查询跨数据库,则先将获取当前数据库数据,而后查询数据库拆分记录表,寻找所要切换到的数据源,断开与当前库的链接,切换数据源,创建新的链接,获取新数据源中的数据并返回。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810075410.0/2.html,转载请声明来源钻瓜专利网。