[发明专利]数据库操作方法、装置及系统在审
申请号: | 201710253093.2 | 申请日: | 2017-04-18 |
公开(公告)号: | CN107239485A | 公开(公告)日: | 2017-10-10 |
发明(设计)人: | 梁福坤 | 申请(专利权)人: | 北京小度信息科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京太合九思知识产权代理有限公司11610 | 代理人: | 刘戈 |
地址: | 100085 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 操作方法 装置 系统 | ||
技术领域
本申请涉及数据库技术领域,尤其涉及一种数据库操作方法、装置及系统。
背景技术
在大数据应用场景中,数据库中的数据表(table)一般分为分区表和非分区表两种;分区表优先以时间作为分区维度,并且可以有多个分区。通过分区表可以把数据进行合理的分散,这样在执行查询操作时只需针对部分分区进行扫描即可,不需要对数据表中所有的数据都进行扫描,有利于提高查询效率。
发明内容
如图1所示,是现有技术中客户端访问数据库的系统架构图。图1所示数据库B包括T1、T2、以及T3三张数据表,T1和T2为分区表,P1是T1中的一个分区,P2是T2中的一个分区;T3是非分区表,C1是T3中的实例,涉及某个字段。其中,客户端A访问数据库B的流程如下:
步骤1:客户端A通过Java数据库连接(Java Data Base Connectivity,JDBC)或开放数据库连接(Open Database Connectivity,ODBC)等接口协议,与数据库B建立连接;
步骤2:客户端A将结构化查询语言(Structured Query Language,SQL)语句发送至数据库B;
步骤3:数据库B根据收到的SQL语句执行相应操作,并向客户端A返回操作结果。
如果客户端A收到数据库B返回的正常结果,则数据库访问流程结束;如果客户端A未能收到数据库B返回的正常结果,则重复执行上述步骤2-3,直到完成或者重试超过设定时长或者次数最终失败。
另外,在数据库中,为了保证数据的一致性和完整性,一般会使用锁机制。如果对数据库进行插入操作,需要锁定表排它锁,或者如果表中有分区则需要锁定表中关联分区的排它锁。如果对数据库进行更新操作,则需要锁定的是行排它锁。
排它锁的使用可以保证数据的一致性和完整性,同时也会对后面的插入、更新或删除操作造成不利影响,即后面的插入、更新或删除操作需要等待前面相应操作的排它锁,整体执行效率比较慢,而且使用排它锁还会对后续查询操作造成堵塞,影响查询效率。那么如何在使用排它锁的情况下,提高数据库操作的整体执行效率,是数据库领域有待解决的一大问题。
针对上述技术问题,本申请发明人提供一种解决方案,核心原理是:针对涉及分区表的数据库操作,按需动态调整分区表的分区粒度,使得分区粒度与数据库操作所影响的数据范围尽量匹配,使得排它锁仅需锁定必要的数据,降低前后操作在数据范围上的关联性,进而降低后续操作等待前面操作的概率,提高整体的执行效率。
基于上述,本申请实施例提供一种数据库操作方法,包括:根据待处理数据库操作信息,确定待操作分区表以及分区表处理需求;根据所述分区表处理需求,动态调整所述待操作分区表的分区粒度;将所述待处理数据库操作信息对应的数据库操作语句提交至所述待操作分区表所属的数据库;指示所述数据库在所述分区粒度调整后的分区表中执行所述数据库操作语句。
在一可选实施方式中,所述根据所述分区表处理需求,动态调整所述待操作分区表的分区粒度,包括:若所述分区表处理需求为分区细化需求,则细化所述待操作分区表的分区粒度。
在一可选实施方式中,所述细化所述待操作分区表的分区粒度,包括:缩小所述待操作分区表的至少一个已有分区维度的粒度,以细化所述待操作分区表中的分区;和/或,为所述待操作分区表增加新的分区维度,以细化所述待操作分区表中的分区。
在一可选实施方式中,所述根据所述分区表处理需求,动态调整所述待操作分区表的分区粒度,还包括:若所述分区表处理需求为分区合并需求,则合并所述待操作分区表中的分区。
在一可选实施方式中,所述合并所述待操作分区表中的分区,包括:增大所述待操作分区表的至少一个已有分区维度的粒度,以合并所述待操作分区表中的分区;和/或,合并所述待操作分区表的至少两个已有分区维度,以合并所述待操作分区表中的分区。
在一可选实施方式中,所述根据待处理数据库操作信息,确定待操作分区表以及分区表处理需求,包括:根据所述待处理数据库操作信息中的表标识,确定所述待操作分区表;根据所述待处理数据库操作信息中的待操作数据、操作类型和/或分区表处理参数,确定所述分区表处理需求。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京小度信息科技有限公司,未经北京小度信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710253093.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:数据库操作方法、装置和计算机设备
- 下一篇:一种数据特征库建立方法和系统