发明名称 一种关系数据库到无模式数据库异步转换系统及方法
摘要 本发明公开了一种关系数据库到无模式数据库异步转换系统及方法,包括关系数据库,所述关系数据库将信号传输给日志监听器,所述日志监听器将信号传输给模式调整器,所述模式调整器将信号传输给无模式数据库,所述日志监听器还将信号传输给单元格状态缓存器,所述单元格状态缓存器将信号传输给单元格状态回写器,所述单元格状态回写器将信号传输给无模式数据库。本发明在不影响关系数据库性能前提下将关系数据库的模式和数据通过该装置异步到转换到无模式数据库,异步方式不会造成关系数据库阻塞,以关系数据库为主,无模式数据库为辅,用于解决传统关系数据库在大数据查询时的I/O瓶颈问题。
申请公布号 CN102999629B 申请公布日期 2016.01.13
申请号 CN201210536616.1 申请日期 2012.12.12
申请人 济南大学 发明人 马坤;杨波;陈广伟
分类号 G06F17/30(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 济南圣达知识产权代理有限公司 37221 代理人 张勇
主权项 一种关系数据库到无模式数据库异步转换系统所采用的转换方法,其特征是,所述异步转换系统包括关系数据库,所述关系数据库将信号传输给日志监听器,所述日志监听器将信号传输给模式调整器,所述模式调整器将信号传输给无模式数据库,所述日志监听器还将信号传输给单元格状态缓存器,所述单元格状态缓存器将信号传输给单元格状态回写器,所述单元格状态回写器将信号传输给无模式数据库,所述关系数据库是关系数据库到无模式数据库异步转换系统的源,所述无模式数据库是关系数据库到无模式数据库异步转换系统的目标,所述日志监听器用于监听关系数据库的日志;基于行的关系数据库二进制日志包括模式更新与数据更新,所述模式更新记录着每次模式修改的SQL语句,所述数据更新记录着每次事务中以行为单位变化前后的数据;对于插入操作,监听得到的变化前数据为NULL,变化后数据为新增数据;对于更新操作,监听得到修改前后数据,对于删除操作,监听得到的变化前数据为被删除数据,变化后数据为NULL,所述单元格状态缓存器负责将日志监听器监听到的基于行的变化数据拆分为单元格状态,所述模式调整器负责将日志监听器监听到的模式变化映射到无模式数据库;映射规则如下:关系数据库中的一对一关系映射为无模式数据库中的关系结构,关系数据库中的一对多或多对一关系映射为无模式数据库中的树型结构,关系数据库中的多对多关系映射为无模式数据库的图型结构;关系数据库数据库名映射为无模式数据库名,关系数据库的表名映射为无模式数据库集合名,关系数据库的列索引映射为无模式数据库的列索引,所述单元格状态回写器负责将单元格状态缓存器中的单元格状态键值序对写入到无模式数据库;所述转换方法的具体工作步骤如下:步骤(1):日志监听器监听到基于行的关系数据库二进制日志,并进行解析,得到变化的数据和模式,若监听到的为变化数据,转步骤(2),反之转步骤(3);步骤(2):单元格状态缓存器将基于行的变化数据拆分为单元格状态,若单元格数据发生变化,修改单元格状态键值序对中的值和修订版本,若单元格数据未发生变化,则不进行任何处理,按此方法将单元格状态存储在单元格状态缓存器中,转步骤(1);步骤(3):日志监听器对监听到的模式变化SQL语句进行解析,将单元格状态缓存器中的所有单元格状态回写到无模式数据库,转步骤(4);所述步骤(3)的解析过程分为以下四个步骤:步骤(3‑1):若单元格状态基础版本为1且修订版本为0,说明新增单元格被删除,不做任何处理;步骤(3‑2):若单元格状态基础版本大于1且修订版本为0,说明新增单元格修改后被删除,需要在无模式数据库中删除对应数据;步骤(3‑3):若单元格状态基础版本为1且修订版本不为0,说明为新增单元格,需要将单元格状态回写到无模式数据库;步骤(3‑4):若单元格状态基础版本大于1且修订版本不为0,说明单元格被修改,需要修正无模式数据库对应数据;步骤(4):根据日志监听器监听的模式修改SQL语句,模式调整器按源关系数据库模式变化修改目标无模式数据库模式,转步骤(1)。
地址 250022 山东省济南市市中区济微路106号