若将非结构化数据由传统存储迁移至对象存储或MPP系统,数据的层次结构、目录层级以及数据访问方式均可能发生变化,业务系统对迁移后数据的访问存在巨大隐患。在规划时如何针对性解决此类问题?
收起在数据迁移的过程中,虽然数据的访问方式、数据的层次结构以及目录层级等会发生变化,但是整个过程都是可控的。在实际操作中,比较常见的有两种方案,一种方案是通过应用进行数据迁移,这种也是最推荐的方案,应用进行迁移的时候,可以根据业务的负载灵活的控制迁移速度,也可以在迁移过程中完成对每个对象数据的校验。第二种方案是由迁移工具进行数据迁移,这种情况下需要应用进行相应的配合,首先应用需要能够同时访问源存储和目标存储,并将新增数据写入到新的目标存储中,这样保证源存储内不会有数据的新增,同时通过迁移工具来进行数据迁移,并记录源和目标访问路径的变化,并在迁移完成后,交由应用系统来更新成新的访问路径,并确认从应用端能够正常访问目标存储。整个迁移视数据量的大小可能会分批迁移,从而保证数据迁移能够顺畅完成。所以我建议要讲数据迁移视为一个服务项目来根据实际情况来处理比较好。
在实际的项目里,源存储不一定是块、 NAS 这种存储,有可能是数据库、应用,所以具体到不同企业的实际情况,迁移方法可能有很大不同。
另外有的企业会在存储和应用之间设置一个轻量级数据抽象层,这个数据抽象层可以屏蔽底层数据存储的差异,对外提供统一的面向业务的应用访问接口,这个抽象层可以兼具数据迁移的功能,从而实现底层存储技术的更换,对上层的应用而言是没有任何感知的。