【技术实现步骤摘要】
数据访问方法和装置、数据存储方法和装置
本申请涉及数据库
,特别是涉及一种数据访问方法和装置、数据存储方法和装置。
技术介绍
互联网中每天都会产生海量数据,为了实现对海量数据的有效管理,互联网服务提供商大多会将产生的数据存储在数据库(DataBase,DB)中。目前,主要是采用MySQL、Oracle等关系型数据库对数据进行存储。关系型数据库采用结构化查询语言进行数据查询,并支持对数据库中的数据进行增删改查操作以及跨表查询功能,使用便利,易于理解,因而得到越来越广的应用。然而,关系型数据库是以单张数据表的形式进行数据存储,这种单表读写的性能限制无法适应与日俱增的数据访问量,影响数据的正常访问,逐渐成为业务发展的瓶颈。
技术实现思路
基于此,有必要针对上述技术问题,提供一种既能满足高并发访问需求也能满足复杂查询需求的数据访问及存储方法、装置、计算机设备和存储介质。一种数据访问方法,所述方法包括:在接收到读数据请求时,对所述读数据请求进行解析,得到查询条件;当所述查询条件符合预设高频访问条件时,在非关系型数据库中查询符合所述查询条件的数据;当所述查询条件符合预设复杂访问条件时,在关系型数据库中查询符合所述查询条件的数据;所述非关系型数据库与所述关系型数据库所存储数据一致;基于查询到的数据响应所述读数据请求。一种数据访问装置,所述装置包括:数据读取请求模块,用于在接收到读数据请求时,对所述读数据请求进行解析,得到查询条件;数据 ...
【技术保护点】
1.一种数据访问方法,包括:/n在接收到读数据请求时,对所述读数据请求进行解析,得到查询条件;/n当所述查询条件符合预设高频访问条件时,在非关系型数据库中查询符合所述查询条件的数据;/n当所述查询条件符合预设复杂访问条件时,在关系型数据库中查询符合所述查询条件的数据;所述非关系型数据库与所述关系型数据库所存储数据一致;/n基于查询到的数据响应所述读数据请求。/n
【技术特征摘要】
1.一种数据访问方法,包括:
在接收到读数据请求时,对所述读数据请求进行解析,得到查询条件;
当所述查询条件符合预设高频访问条件时,在非关系型数据库中查询符合所述查询条件的数据;
当所述查询条件符合预设复杂访问条件时,在关系型数据库中查询符合所述查询条件的数据;所述非关系型数据库与所述关系型数据库所存储数据一致;
基于查询到的数据响应所述读数据请求。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述查询条件为预设的路由字段时,判定所述查询条件符合预设高频访问条件;
当所述查询条件包括除所述预设的路由字段之外的查询字段时,判定所述查询条件符合预设复杂访问条件。
3.根据权利要求1所述的方法,其特征在于,所述非关系型数据库包括多个分布式子库;所述当所述查询条件符合预设高频访问条件时,在非关系型数据库中查询符合所述查询条件的数据包括:
当所述查询条件为预设的路由字段时,确定所述查询字段所属的分布式区间;
在用于存储所述分布式区间内的数据的分布式子库中,查询符合所述查询条件的数据。
4.根据权利要求1所述的方法,其特征在于,所述非关系型数据库具有一个或多个;所述当所述查询条件符合预设高频访问条件时,在非关系型数据库中查询符合所述查询条件的数据包括:
当所述查询条件为路由字段时,在将所述路由字段作为分布式存储依据的非关系型数据库中,查询符合所述查询条件的数据。
5.根据权利要求1所述的方法,其特征在于,所述关系型数据库包括主库和至少一个从库;所述在关系型数据库中查询符合所述查询条件的数据包括:
基于所述查询条件向所述主库发起查询请求;
当在预设时长内未接收到所述主库针对所述查询请求的查询应答时,将其中一个所述从库确定为当前的主库;
在所述当前的主库中查询符合所述查询条件的数据。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
获取对所述主库执行写操作时生成的日志;
将所述日志发送至一个或多个目标的从库,使所述目标的从库根据所述日志同步执行所述写操作;
当接收到所述目标的从库在执行所述写操作后返回的同步确认信息时,基于写入成功的结果来响应用于触发所述写操作的写数据请求,向其余所述从库发送所述日志。
7.一种数据存储方法,所述方法包括:
在接收到写数据请求时,对所述写数据请求进行解析,得到待写入数据;
将所述待写入数据写入一种数据库;
将所述待写入数据从所述一种数据库同步至另一种数据库;其中,所述数据库的种类包括关系型数据库和非关系型数据库;所述非关系型数据库用于响应符合预设高频访问条件的读数据请求,所述关系型数据库用于响应符合预设复杂访问条件的读数据请求;
基于所述待写入数据的写入结果响应所述写数据请求。
8.根据权利要求7所述的方法,其特征在于,所述待写入数据包括数据标识和目标数据内容;所述将所述待写入数据写入一种数据库包括:
当所述写数据请求为数据更新请求时,根据所述目标数据内容对所述非关系型数据库中存储的与所述数据标识对应的原数据内容进行更新;
所述将所述待写入数据从所述一种数据库同步至另一种数据库包括:
在所述非关系型数据库更新完毕时,通过消息队列将所述目标数据内容从所述非关系型数据库异步更新至所述关系型数据库。
9.根据权利要求8所述的方法,其特征在于,所述目标数据内容包括待写入数据的目标版本;所述根据目标数据内容对所述非关系型数据库存储的与所述数据标识对应的原数据内容...
【专利技术属性】
技术研发人员:欧霄,黄东庆,刘骏健,李建东,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。