一种NoSQL数据库条件查询的方法及系统与流程

文档序号:12786523阅读:1933来源:国知局
一种NoSQL数据库条件查询的方法及系统与流程

本发明属于计算机信息存储索引技术领域,尤其涉及一种NoSQL数据库条件查询的方法及系统。



背景技术:

随着大数据概念的兴起,越来越多的系统采用了NoSQL数据库,来替代传统的关系型数据库,以解决大数据量的情况下,关系型数据库的性能急剧下降的问题。但是,对于主流的NoSQL数据库,其强项在于高吞吐量、高可用性,对于条件查询存在天然的缺陷,大部分只提供了主键查询,并且基本没有索引的功能。



技术实现要素:

本发明的目的在于提供一种NoSQL数据库条件查询的方法及系统,旨在解决NoSQL数据库的条件查询不完善的问题,在不影响NoSQL数据库本身功能的前提下,提供了条件查询的功能。

本发明是这样实现的,一种NoSQL数据库条件查询的方法,该方法包括以下步骤:

S1、在新增数据时,将数据写入Solr中并建立数据索引后,将数据写入NoSQL数据库;

S2、在处理数据的时,对solr中的索引处理后,对NoSQL数据库中的数据进行处理;

S3、在查询数据时,通过Solr查询出对应的主键后,从NoSQL中加载对应的完整数据。

优选地,在步骤S1中,在步骤S2中,所述处理包括对数据的更新或删除。

本发明进一步公开了一种NoSQL数据库条件查询的系统,该系统包括:

数据写入模块,用于将数据写入Solr中并建立数据索引后,将数据写入NoSQL数据库;

数据处理模块,用于在处理数据的时,对solr中的索引处理后,对NoSQL数据库中的数据进行处理;

数据查询模块,用于在查询数据时,通过Solr查询出对应的主键后,从NoSQL中加载对应的完整数据。

优选地,在数据处理模块中,所述处理包括对数据的更新或删除。

相比于现有技术的缺点和不足,本发明具有以下有益效果:本发明在不改变NoSQL数据库本身的情况下,通过外置索引的方式,结合NoSQL数据库主键查询功能和Solr的条件查询功能,完善了NoSQL数据库的条件查询功能,增加了其取代传统关系型数据库的场景。

附图说明

图1是本发明NoSQL数据库条件查询的方法一实施例的步骤流程图;

图2是本发明NoSQL数据库条件查询的系统一实施例的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

参照图1,本发明公开了一种NoSQL数据库条件查询的方法,该方法包括以下步骤:

S1、在新增数据时,将数据写入Solr中并建立数据索引后,将数据写入NoSQL数据库;

S2、在处理数据的时,对solr中的索引处理后,对NoSQL数据库中的数据进行处理;

S3、在查询数据时,通过Solr查询出对应的主键后,从NoSQL中加载对应的完整数据。

如步骤S1所述,在新增数据时,首先将数据写入Solr中,如果失败,则重试一定次数,如果达到重试次数后仍然失败,则写入失败,返回相关错误信息。如果写入成功,则继续写入NoSQL数据库,如果NoSQL数据库写入失败,同样重试一定次数,如果仍然失败,则回滚Solr的操作,返回失败信息,否则。

如步骤S2所述,所述处理包括数据的更新或删除。在更新/删除数据时,首先更新/删除Solr中的数据,如果失败,则重试一定次数,如果达到重试次数后仍然失败,则操作失败,返回相关错误信息。如果操作成功,则继续操作NoSQL数据库,如果NoSQL数据库操作失败,同样重试一定次数,如果仍然失败,则回滚Solr的操作,返回失败信息。

如步骤S3所述,在进行条件查询时,首先查询Solr,得到满足条件的数据主键,如果成功,则查询NoSQL数据库中的对应主键的信息,如果失败,则返回相关的错误信息。

本发明的关键在于Solr和NoSQL数据库的数据同步,如果不同步,则会出现脏数据。本发明在不改变NoSQL数据库本身的情况下,通过外置索引的方式,结合NoSQL数据库主键查询功能和Solr的条件查询功能,完善了NoSQL数据库的条件查询功能,增加了其取代传统关系型数据库的场景。

参照图2所示,本发明进一步公开了一种NoSQL数据库条件查询的系统,该系统包括:

数据写入模块1,用于将数据写入Solr中并建立数据索引后,将数据写入NoSQL数据库;

数据处理模块2,用于在处理数据的时,对solr中的索引处理后,对NoSQL数据库中的数据进行处理;

数据查询模块3,用于在查询数据时,通过Solr查询出对应的主键后,从NoSQL中加载对应的完整数据

在数据写入模块1中,在新增数据时,首先将数据写入Solr中,如果失败,则重试一定次数,如果达到重试次数后仍然失败,则写入失败,返回相关错误信息。如果写入成功,则继续写入NoSQL数据库,如果NoSQL数据库写入失败,同样重试一定次数,如果仍然失败,则回滚Solr的操作,返回失败信息,否则。

在数据处理模块2中,所述处理包括数据的更新或删除。在更新/删除数据时,首先更新/删除Solr中的数据,如果失败,则重试一定次数,如果达到重试次数后仍然失败,则操作失败,返回相关错误信息。如果操作成功,则继续操作NoSQL数据库,如果NoSQL数据库操作失败,同样重试一定次数,如果仍然失败,则回滚Solr的操作,返回失败信息。

在数据查询模块3中,在进行条件查询时,首先查询Solr,得到满足条件的数据主键,如果成功,则查询NoSQL数据库中的对应主键的信息,如果失败,则返回相关的错误信息。

本发明的关键在于Solr和NoSQL数据库的数据同步,如果不同步,则会出现脏数据。本发明在不改变NoSQL数据库本身的情况下,通过外置索引的方式,结合NoSQL数据库主键查询功能和Solr的条件查询功能,完善了NoSQL数据库的条件查询功能,增加了其取代传统关系型数据库的场景。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1