【技术实现步骤摘要】
自动建表方法、系统、可读存储介质及计算机设备
[0001]本申请涉及计算机
,特别是涉及自动建表方法、系统、可读存储介质及计算机设备。
技术介绍
[0002]随着科技的飞速发展和人们生活水平的提高,数据的量级也是呈指数的增长,从GB到TB到PB,对数据的各种操作也是愈加的困难。
[0003]分库分表就是为了解决由于数据量过大而导致数据库性能降低的问题,将原来独立的数据库拆分成若干数据库,将数据大表拆分成若干数据表,使得单一数据库、单一数据表的数据量变小,从而达到提升数据库性能的目的。
[0004]Sharding
‑
JDBC分库分表中间件在配置了表的解析规则后存在表分片过多不易管理的问题。该问题带来的危害是需要每次启动项目手动创建分片表,并且分片表过多会有很多重复工作,在修改分片表字段时要同时修改其他相同分片规则下的表。Sharding
‑
JDBC并不能管理分片后的表,需要额外付出成本管理这些分片表,比如要手动创建或者手动修改或者手动删除,人工成本高,并且手动删除存在
【技术保护点】
【技术特征摘要】
1.一种自动建表方法,其特征在于,包括:创建数据表分片规则;根据所述数据表分片规则获取待处理表的配置文件,得到分片表名以及与所述分片表名对应的数据库地址;读取所述待处理表的元数据表,并根据所述元数据表得到对应的分片表建表语句;根据所述分片表建表语句在与所述数据库地址对应的数据库中自动创建与所述分片表名对应的分片表。2.根据权利要求1所述的自动建表方法,其特征在于,根据所述元数据表得到对应的分片表建表语句的步骤包括:获取内存的SQL配置文件,解析出所述SQL配置文件的创建表语句;通过所述分片表名替换所述SQL配置文件的创建表语句的表名,形成所述分片表建表语句。3.根据权利要求1所述的自动建表方法,其特征在于,根据所述分片表建表语句在与所述数据库地址对应的数据库中自动创建与所述分片表名对应的分片表的步骤包括:根据所述数据库地址、用户名以及密码查找到对应的数据库;加载JDBC驱动程序,并与所述数据库建立连接;创建Statement对象,并执行所述分片表建表语句;判断所述分片表建表语句是否执行成功;若所述分片表建表语句执行成功,则在所述数据库完成自动创建分片表。4.根据权利要求1所述的自动建表方法,其特征在于,所述方法还包括:当对所述分片表进行修改时,获取修改前的分片表和新生成的分片表的信息,并获取修改前的分片表和新生成的分片表的信息对比差异,生成对应的SQL建表语句;根据所述SQL建表语句创建新的分片表。5.根据权利要求3所述的自动建表方法,其特征在于,判断所述分片表建表语句是否执行成功的步骤之后,所述方法还包括:若所述分片表建表语句执行失败,则发出警告...
【专利技术属性】
技术研发人员:李冉,范渊,刘博,
申请(专利权)人:杭州安恒信息技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。