`
narcissusoyf
  • 浏览: 154115 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

做数据迁移,升级,初始化时需要注意的事情

阅读更多

准备工作——————————

 

1 充分理解需求,理解原始需求,一定要弄清楚为什么要做数据操作。不做数据操作就不能完成需求?然后再其他技术的选择上和数据迁移的选择上进行一个权衡。能不做的尽量不做。千万不要出现因为数据操作而数据操作,埋头写脚本的情况。这样的脚本往往是危险的。

 

2 对线上遗留数据,持充分的怀疑态度。绝对不要相信,数据是100%由现在的线上运行的程序跑出来的。这些遗留的数据很有可能经过很多其他人的维护,比如数据订正,比如程序bug,比如数据初始化,从而导致存在“脏数据”。特别是运行了1年以上的系统,特别是上线匆忙的系统,特别是上线后bug非常多的系统。一定不要相信这些系统生成数据都是符合要求的数据。

 

3 充分理解线上数据库的环境,以及做数据操作可能涉及到的表结构和业务。这次数据操作涉及到几张核心表,有多少张表与它们有关联,是否可以忽略不重要的数据,是否存在触发器。数据迁移后,能否保证这次操作后的数据,能够正常的run在系统里面,不会导致核心业务因为“脏数据”流不下去。

 

 

细节的工作--------------------

 

1 大批量数据,重要核心数据在处理前,必须备份。

2 做数据操作前先去摸底,看看需要处理的是多少的数据量。

3 写好check脚本。如果数据操作的时候,需要多步执行,这需要建立检查点,进行check。

4 写脚本时尽量让脚本支持断点重跑。

5 如果存在很多的更新、插入操作,涉及的表又多时,把每一次提交的量放少点。

6 最后能够标示出这次数据操作的数据,具有特殊的标示,有利于检查和回滚操作。

7 如果条件允许,尽量在仿真数据上测试,量要上来,评估出时间。

8 code review 是必须的。

9 在做数据操作时,其他有可能影响数据的业务系统需要评估风险。是否可以同时数据操作,同时业务系统工作,还是需要业务系统停机支持?

 

分享到:
评论

相关推荐

    企业级数据资产管理平台规划建设方案.doc

    部署与上线:将平台部署到实际环境中,完成数据迁移和初始化工作。 培训与推广:组织培训活动,提高用户对平台的认知和使用技能。 运维与优化:持续监测平台运行状况,进行必要的优化和升级。 四、时间计划 项目总...

    knex-schema-builder:用于knex.js的模式构建器模块,用于处理模式初始化和迁移

    knex-schema-builder 我建立了这个小帮手,因此我可以轻松地描述数据库模式并自动执行数据库初始化过程,以进行项目安装或将数据库迁移到较新的版本。 它可以在knex上运行,并且大多数功能都需要传递knex实例。 这个...

    squasher:Squasher-在单个命令中压缩旧迁移

    请升级到0.6.2+,并从初始化迁移中手动清除“ force”标签 安装 您不必将其添加到您的Gemfile中。 只是独立安装: $ gem install squasher @note如果您使用Rbenv,请不要忘记运行rbenv rehash 。 如果要与rails /...

    DRAT:部署恢复自动化技术

    初始化(构建)dbutils容器映像(需要通过brew / apt / yum安装realpath) $ ./dbutil.sh build 配置(如果需要)并将数据库模式升级到最新版本 $ ./dbutil.sh upgrade 删除架构并删除所有IaC数据 $ ./dbutil.sh...

    数据库设计工具BDB 2007 V1.8

    包括创建数据库、数据库结构、导入初始化数据、执行升级语法等, 为您的数据库应用程序简化安装部署过程。 (可在上述支持的不同数据库平台上进行自动安装。) B、通过系统数据编辑功能、导出生成初始化数据包。...

    Spark 2.0.2 Spark 2.2 中文文档 本资源为网页,不是PDF

    Spark 的初始化 Shell 的使用 弹性分布式数据集(RDDS) 并行集合 外部数据集 RDD 操作 RDD 持久化 共享变量 Broadcast Variables (广播变量) Accumulators (累加器) 部署应用到集群中 使用 Java / ...

    springboot参考指南

    使用一个高级别的数据迁移工具 i. 68.5.1. 启动时执行Flyway数据库迁移 ii. 68.5.2. 启动时执行Liquibase数据库迁移 viii. 69. 批处理应用 i. 69.1. 在启动时执行Spring Batch作业 ix. 70. 执行器(Actuator) i. ...

    数据库设计工具BDB Developer Edition v3.0

    >包括创建数据库、数据库结构、导入初始化数据、执行升级语法等, >为您的数据库应用程序简化安装部署过程。 >可以在上述支持的不同数据库平台上进行自动安装。 >2、支持和数据库之间的双向同步,即既...

    BDB Professional Edition v2.8

    >包括创建数据库、数据库结构、导入初始化数据、执行升级语法等, >为您的数据库应用程序简化安装部署过程。 >可以在上述支持的不同数据库平台上进行自动安装。 >2、支持和数据库之间的双向同步,即既...

    BDB2007

    为数据库创建自动安装程序,可在不同数据库平台上执行自动安装、 以及初始化数据导入、升级语法执行等。 <br>4、数据库迁移 在不同数据库平台之间进行数据库结构和数据迁移。 <br>5、数据表数据查询...

    数据库设计工具BDB V1.71

    包括创建数据库、数据库结构、导入初始化数据、执行升级语法等, 为您的数据库应用程序简化安装部署过程。 可以在上述支持的不同数据库平台上进行自动安装。 2、支持和数据库之间的双向同步,即既可通过BDB创建、...

    数据库设计工具BDB 2007(支持跨数据库平台)

    包括创建数据库、数据库结构、导入初始化数据、执行升级语法等, 为您的数据库应用程序简化安装部署过程。 可以在上述支持的不同数据库平台上进行自动安装。 <br>2、支持和数据库之间的双向同步,即既...

    BDB2001

    包括创建数据库、数据库结构、导入初始化数据、执行升级语法等, 为您的数据库应用程序简化安装部署过程。 可以在上述支持的不同数据库平台上进行自动安装。 <br>2、支持和数据库之间的双向同步,即既...

    AX DBBuilder 2007(最新多语言版)

    C、在安装数据库过程中可设置自动导入初始化数据,执行特定的SQL语法。 <br>3、数据迁移、数据导入导出功能。 可在不同的数据库类型之间实现数据库结构和数据迁移。 如果您要把一个数据库和数据库中...

    Oracle数据库管理员技术指南

    1.7.11 怎样列出和描述初始化参数 1.7.12 怎样列出无记载参数 1.8 回顾 第2章 管理数据存储、对象和容量 2.1 配置数据存储 2.1.1 管理可用空间碎片 2.1.2 聚集可用空间的技术 2.1.3 管理区的碎片 2.1.4 查找...

    数据库设计工具BDB 2007

    包括创建数据库、数据库结构、导入初始化数据、执行升级语法等, 为您的数据库应用程序简化安装部署过程。 可以在上述支持的不同数据库平台上进行自动安装。 <br>2、支持和数据库之间的双向同步,即既...

    数据库设计工具BDB 最新V1.7(支持跨数据库平台)

    包括创建数据库、数据库结构、导入初始化数据、执行升级语法等, 为您的数据库应用程序简化安装部署过程。 可以在上述支持的不同数据库平台上进行自动安装。 <br>2、支持和数据库之间的双向同步,即既...

    基于python+django+mysql的超市管理系统源码+项目说明(计算机毕设).zip

    【资源说明】 1、该资源包括项目的全部源码,下载...1. migrate 迁移/初始化数据库 ```bash > python3 manage.py makemigrations > python3 manage.py migrate ``` 2. 设置一个超级管理员 admin (admin@123456) > 参考 ...

Global site tag (gtag.js) - Google Analytics