关键字:
KingbaseES、JDBC、结果集缓存、数据处理、人大金仓
背景描述
在数据库应用中,通常会使用缓存来提高系统性能,如客户端查询语句执行后返回的结果集。结果集缓存可以在数据库服务器端,也可以在客户端,目前大多数的技术实现都采用在服务器端缓存结果集。通过对缓存结果集的更新,可以使业务更加快速的获取数据。但是,现有结果集缓存技术,大都是在修改数据库服务器数据之后,将修改后的数据同步到结果集缓存当中,在更新结果集缓存时,消耗了较多的资源。JDBC针对这一缺陷,提出了可更新结果集的新数据处理方法,即将结果集缓存在客户端之后,用户可以对结果集进行数据处理,然后将修改后的结果集同步到数据库中。
功能设计
JDBC的客户端结果集缓存及数据处理方法的具体使用流程如图1所示。用户搭建系统运行环境,并开启客户端结果集缓存功能,然后构造查询语句,构造时开启结果集可更新功能。然后将查询语句发送数据库服务器,并接收数据库返回的查询结果集。客户端缓存结果集数据,并等待使用。随后,用户可以对结果集进行查询、插入、修改和删除等处理。处理过程中可以判断是否同步数据库,若是,则将客户端缓存的结果集数据同步到数据库中。然后,判断是否继续对结果集进行处理,若是,则返回结果集操作环节;若否,则结束处理流程。此方案有两个关键点,一是用户可以在构建语句对象时,通过参数设置来标记是否启用结果集可更新功能,以实现有选择的灵活使用;二是用户可以在任何时候选择同步数据库,将已进行的结果集更新操作封装,然后发送数据库服务器进行同步。
技术效果
Kingbase-JDBC的客户端结果集缓存及数据处理方法,将查询到的结果集存储在客户端缓存当中,并可以对缓存中的结果集数据进行查询、添加、插入和删除等操作,然后将结果集数据同步到数据库服务器中。使用此方法,可以极大的提高业务语句的执行效率,在一些查询和修改交错执行的场景中,具有较大的应用价值。
参考文档:
无