【技术实现步骤摘要】
一种数据存储引擎
本申请涉及计算机
,具体地说,涉及一种数据存储引擎。
技术介绍
当前,针对于数据的存储目的主要存在的数据库包括Redis(RemoteDictionaryServer,远程字典服务)、MongoDB(基于分布式文件存储的数据库)和MySQL(StructuredQueryLanguage,结构化查询语言),其中Redis是一种内存型服务器,服务器成本比较高,如果服务器发生异常和数据恢复期间有流量进入,则将发生不可预计的后果,且对于复杂查询不友好;MongoDB是一种文档型数据库,通过虚拟mmap内存映射文件的方式是可行的,但是也就意味着相同大小的数据,mongoDB的存储方式需要更大磁盘空间,则当数据达到一定量级之后,扩容需要更多的成本;MySQL是一种关系型数据库,如果想要承载10000+的QPS(Queries-per-second,每秒查询率),MySQl是无法做到的,只能选其他类型数据库,另外性能也达不到内存型数据库的标准,因为数据页的增删改查,都需要维护索引,空间的准备也需要比较大。专利技术 ...
【技术保护点】
1.一种数据存储引擎,其特征在于,所述数据存储引擎包括:分布式系统、数据集群、数据存入模块、数据归档模块、数据轮询模块和数据扩容模块;/n所述分布式系统包括一台主服务器和至少两台从服务器,用于数据存储;/n所述数据集群包括数据存储客户端、所述主服务器和所述从服务器,所述数据存储客户端用于用户与所述数据存储引擎之间的交互;所述数据存储客户端与所述主服务器和所述从服务器之间包括写数据操作、读数据操作,所述写数据操作的请求设置于所述主服务器,所述读数据操作的请求设置于所述主服务器或所述从服务器;/n所述数据存入模块用于接收存入内存的数据请求和持久化文件的数据请求,且用于将数据写入 ...
【技术特征摘要】
1.一种数据存储引擎,其特征在于,所述数据存储引擎包括:分布式系统、数据集群、数据存入模块、数据归档模块、数据轮询模块和数据扩容模块;
所述分布式系统包括一台主服务器和至少两台从服务器,用于数据存储;
所述数据集群包括数据存储客户端、所述主服务器和所述从服务器,所述数据存储客户端用于用户与所述数据存储引擎之间的交互;所述数据存储客户端与所述主服务器和所述从服务器之间包括写数据操作、读数据操作,所述写数据操作的请求设置于所述主服务器,所述读数据操作的请求设置于所述主服务器或所述从服务器;
所述数据存入模块用于接收存入内存的数据请求和持久化文件的数据请求,且用于将数据写入所述主服务器,并对所述数据进行复制;
所述数据归档模块用于从所述主服务器获取所述数据,并将符合预设条件的所述数据进行归档整理;
所述数据轮询模块用于对所述归档整理的所述数据进行轮巡检查;
所述数据扩容模块用于删除所述归档整理后的部分所述数据,并对所述分布式系统进行物理扩容。
2.根据权利要求1所述的一种数据存储引擎,其特征在于,当所述分布式系统的所述主服务器发生异常时,所述分布式系统用于自动选取任一台所述从服务器作为新的主服务器。
3.根据权利要求2所述的一种数据存储引擎,其特征在于,所述分布式系统用于自动选取任一台所述从服务器作为新的主服务器,具体为:所述分布式系统通过比较所述从服务器中的数据版本与发生异常的所述主服务器中的数据版本,选取所述数据版本与发生异常的所述主服务器的所述数据版本相同的所述从服务器作为所述新的主服务器。
4.根据权利要求2所述的一种数据存储引擎,其特征在于,所述分布式系统用于自动选取任一台所述从服务器作为新的主服务器,具体为:所述分布式系统通过比...
【专利技术属性】
技术研发人员:李昭,陈浩,高靖,崔岩,卢述奇,陈呈,张宵,
申请(专利权)人:青梧桐有限责任公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。