[发明专利]修改数据结构的方法和装置有效
申请号: | 201210543956.7 | 申请日: | 2012-12-14 |
公开(公告)号: | CN103092916B | 公开(公告)日: | 2016-11-02 |
发明(设计)人: | 胡胤杰;伍华涛;陈浩 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 黄厚刚 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 修改 数据结构 方法 装置 | ||
技术领域
本发明涉及数据库技术领域,特别涉及一种修改数据结构的方法和装置。
背景技术
近年来,各行各业数据存储的需求日趋旺盛,数据量呈几何增加,企业级用户数据存储不再仅仅是以往的几百GB、几TB,而是几百TB,甚至几PB、几十PB的数据存储需求,大数据存储时代的来临显而易见。
目前大数据存储有两种方案可供选择:行存储和列存储。两种存储的数据都是从上至下,从左向右的排列。其中,行存储是以一行记录为单位进行数据的存储,列存储是以列数据的集合为单位进行数据的存储。
对于列存储的方案,当需要修改数据库中的表结构时,只需要添加单独的一列即可。对于行存储的方案,当需要修改数据库中的表结构时,需要修改每一行记录中的数据,修改变得非常繁琐。例如,对于一个包括三行记录的数据库来说,当表结构中新增一个列字段时,必须分别为每一行的数据也添加一个列字段,因此,需要执行三次修改操作,带来的消耗和数据库中的记录条数成正比。
上述行存储的方案中,如果数据量比较小,则修改表字段带来的时间和性能开销,对业务的影响还能接受。但是,随着数据存储规模的增加,数据量越来越大,如果是海量的大数据,则修改表字段需要对表中所有数据进修修改,会带来大量的时间和性能开销,甚至一次修改就需要数天时间,效率极低,对业务的影响往往难以令人接受。
发明内容
为了提高数据结构修改的效率,本发明提供了一种修改数据结构的方法和装置。所述技术方案如下:
第一方面,本发明提供了一种修改数据结构的方法,应用于行存储的数据库,所述数据库包括元数据和存储数据,所述方法包括:
当对所述数据库的表结构进行新增字段的修改时,保持所述存储数据不变,在所述元数据的表结构中新增字段;
设置所述新增字段的默认值,所述默认值用于在所述存储数据中查询所述新增字段时作为查询的返回值。
结合第一方面,第一方面的第一种实施方式下,所述方法还包括:
当查询所述数据库且查询失败时,判断是否由于所述存储数据中没有所述新增字段而导致查询失败,如果是,则获取并返回所述新增字段的默认值。
结合第一方面的第一种实施方式,第一方面的第二种实施方式下,判断是否由于所述存储数据中没有所述新增字段而导致查询失败,如果是,则获取并返回所述新增字段的默认值,包括:
判断查询的字段中是否包括所述新增字段;
如果查询的字段中包括所述新增字段,则确定由于所述存储数据中没有所述新增字段而导致查询失败,获取并返回所述新增字段的默认值。
结合第一方面的第二种实施方式,第一方面的第三种实施方式下,所述方法还包括:
如果查询的字段中不包括所述新增字段,则返回查询失败的结果。
第二方面,本发明还提供了一种修改数据结构的装置,应用于行存储的数据库,所述数据库包括元数据和存储数据,所述装置包括:
修改模块,用于当对所述数据库的表结构进行新增字段的修改时,保持所述存储数据不变,在所述元数据的表结构中新增字段;
设置模块,用于设置所述新增字段的默认值,所述默认值用于在所述存储数据中查询所述新增字段时作为查询的返回值。
结合第二方面,第二方面的第一种实施方式下,所述装置还包括:
查询模块,用于当查询所述数据库且查询失败时,判断是否由于所述存储数据中没有所述新增字段而导致查询失败,如果是,则获取并返回所述新增字段的默认值。
结合第二方面的第一种实施方式,第二方面的第二种实施方式下,所述查询模块用于:
判断查询的字段中是否包括所述新增字段;
如果查询的字段中包括所述新增字段,则确定由于所述存储数据中没有所述新增字段而导致查询失败,获取并返回所述新增字段的默认值。
结合第二方面的第二种实施方式,第二方面的第三种实施方式下,所述查询模块还用于:
如果查询的字段中不包括所述新增字段,则返回查询失败的结果。
本发明提供的技术方案带来的有益效果是:对于行存储的数据库,所述数据库包括元数据和存储数据,当对所述数据库的表结构进行新增字段的修改时,保持存储数据不变,在元数据的表结构中新增字段,并设置新增字段的默认值,由于无需对存储数据进行修改,减少了修改数据结构带来的时间和性能开销,极大地提高了效率,降低了对业务的影响,尤其是海量数据的场景下,有效地优化了修改数据结构的性能。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210543956.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:遥感数据检索自然语言的处理方法及装置
- 下一篇:一种弹簧预紧力可调的止回阀