iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >怎么简单分析数据库迁移
  • 211
分享到

怎么简单分析数据库迁移

2024-04-02 19:04:59 211人浏览 安东尼
摘要

这篇文章给大家介绍怎么简单分析数据库迁移,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。现在NoSQL流行,有一个原因也是因为不需要去刻意处理table的schema,直接存储数据,这样

这篇文章给大家介绍怎么简单分析数据库迁移,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

现在NoSQL流行,有一个原因也是因为不需要去刻意处理table的schema,直接存储数据,这样简单!所以也不会有数据库表的迁移问题。数据库表迁移这一块儿一直是一个麻烦点,但我最近用了sqlite3做了个小项目,所以总结下数据库迁移的方案。

原理

  1. 每一次数据表改动,都对应一个数据库版本号

  2. 数据迁移是渐进式的,比如把数据库版本从1 升级到n,那么就升级n-1次,版本1到2,2到3,直到n-1到n。

实施

1. 使用sqlite3的user_version 存贮自定义的数据库版

  PRAGMA user_version=1;    PRAGMA user_version;

2. 所有的数据库升级文件,放在一个文件中,都直接使用sql文件,方便直接查看管理。文件结构如下

怎么简单分析数据库迁移

文件结构设计

  • v1.sql v2.sql, v3.sql等 是每个数据库版本,完整的数据库定义文件

  • v1tov2.sql, v2tov3.sql等 是间隔版本数据库升级文件。一个数据m到n升级的过程就是,运行 v[m]tov[m+1].sql,  v[m+1]tov[m+2].sql, 直到 v[n-1]tov[n].sql

  • run.sh 就是每次要跑的数据迁移脚本,包括了当前的版本号和迁移逻辑

  • 其中的v2.sql 到v[n].sql 不是必须的,只是为了方便查看当前***的数据表设计,如果存在v[n].sql  那么创建新数据库也可以直接从这个文件来创建

3. 迁移脚本如下, 具体逻辑注释中已经写明

4. v[n].sql 和v[n-1]tov[n].sql 文件的***都去需要通过user_version来设置数据版本为n,一个v2tov3.sql  的demo如下:

总结

使用场景

目前这套方案适合数据量小,对停机维护可以接受的业务情况,因为需要停机升级,但是这个方案,足够简单清晰且能满足所有不同版本间的数据升级。

不足与展望

  1. 这个方案没有考虑到数据升级失败的回滚。由于是小业务,所以考虑更多的是简单易维护。所以针对这种情况的,首先要保证升级脚本经过了足够的线上数据测试,经的起考验。其次,一旦发生问题,线上可以直接操作维护,写脚本。这样说,因为你都没有测试到这种需要rollback的case,你也不能在写升级脚本的时候,知道这种case是怎样,所以提前写好rollback的逻辑不一定可行或者合适。

  2. 部署时,数据迁移之前要备份,数据量较大些,用增量备份,节省时间。备份有成熟的工具,而且备份方便升级失败时rollback。部署的步骤应该是:  拉代码build(或者拉Docker镜像)-> 备份数据库 -> 升级数据库 -> 跑新的代码

  3. 对于AndroidiOS的设备中使用sqlite3的情况,数据迁移的逻辑是一样。sql文件结构设计可以重用,也可以写到代码里去管理。迁移脚本需要转换成native的Java或者Objective-C,Swift的代码。

  4. 对于更大的业务,多实例的的数据库迁移可以使用Flyway 

关于怎么简单分析数据库迁移就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

您可能感兴趣的文档:

--结束END--

本文标题: 怎么简单分析数据库迁移

本文链接: https://www.lsjlt.com/news/67633.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么简单分析数据库迁移
    这篇文章给大家介绍怎么简单分析数据库迁移,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。现在NoSQL流行,有一个原因也是因为不需要去刻意处理table的schema,直接存储数据,这样...
    99+
    2024-04-02
  • WindowsServer 2012数据库迁移分析
    本篇内容主要讲解“WindowsServer 2012数据库迁移分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“WindowsServer 2012数据库迁移...
    99+
    2024-04-02
  • mysql数据库怎么迁移
    本篇内容主要讲解“mysql数据库怎么迁移”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql数据库怎么迁移”吧!上面是测试人员的要求,可以提取出2条有用的...
    99+
    2024-04-02
  • postgresql数据库数据怎么迁移
    要迁移PostgreSQL数据库数据,可以使用以下几种方法: 使用pg_dump和pg_restore命令:可以使用pg_dump...
    99+
    2024-04-17
    postgresql
  • sqlserver数据库怎么迁移
    SQL Server数据库迁移可以通过以下几种方法进行: 使用SQL Server Management Studio (SSM...
    99+
    2024-04-12
    sqlserver
  • IOS数据库升级数据迁移的示例分析
    这篇文章主要介绍IOS数据库升级数据迁移的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!IOS 数据库升级数据迁移的实例详解概要:很久以前就遇到过数据库版本升级的引用场景,当...
    99+
    2024-04-02
  • oracle数据库迁移到MySQL的示例分析
    这篇文章给大家分享的是有关oracle数据库迁移到MySQL的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。方式一: 手动方式导入导出手动的方式导入, 就是操作步骤会比较...
    99+
    2024-04-02
  • oracle怎么做数据库迁移
    非常抱歉,由于您没有提供文章标题,我无法为您生成一篇高质量的文章。请您提供文章标题,我将尽快为您生成一篇优质的文章。...
    99+
    2024-05-21
  • mysql数据库迁移
    目录 背景迁移数据库 背景 公司有个项目,刚开始数据量不是大的时候,数据库和服务上的所有应用数据都放在一个旧小盘中,随着项目数据的增长,旧的磁盘被占满了,导致系统无法写入数据,我和同事排查了很长时间,最终确定是磁盘被占满导致的一...
    99+
    2023-08-23
    数据库 mysql
  • mysql数据库迁移怎么操作
    MySQL数据库迁移的操作步骤如下:1.备份原数据库:在迁移前先备份原数据库,以防迁移过程中数据丢失。可以使用mysqldump命令...
    99+
    2023-06-10
    mysql数据库迁移 mysql数据库 数据库
  • Oracle数据库怎么从Linux x86单机迁移到Solaries
    这篇文章主要介绍“Oracle数据库怎么从Linux x86单机迁移到Solaries”,在日常操作中,相信很多人在Oracle数据库怎么从Linux x86单机迁移到Solaries问题上存在疑惑,小编查...
    99+
    2024-04-02
  • mongodb整个数据库怎么迁移
    将MongoDB整个数据库迁移可以通过以下步骤实现: 备份源数据库:首先需要对源数据库进行备份,可以使用mongodump命令将...
    99+
    2024-04-10
    mongodb
  • 分库分表扩容怎么实现平滑数据迁移
    本篇内容主要讲解“分库分表扩容怎么实现平滑数据迁移”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“分库分表扩容怎么实现平滑数据迁移”吧!一、背景2020年,&nb...
    99+
    2024-04-02
  • 怎么迁移现有的数据库到Aurora数据库
    迁移现有的数据库到Aurora数据库可以通过以下步骤完成: 创建一个新的Aurora数据库实例:首先在控制台上创建一个新的Auro...
    99+
    2024-04-09
    Aurora 数据库
  • oracle数据库怎么迁移到另一个数据库
    Oracle数据库迁移到另一个数据库通常需要使用数据迁移工具或者手动迁移的方式。下面是一些迁移Oracle数据库的常用方法: 使用...
    99+
    2024-05-07
    oracle
  • 揭秘数据库版本迁移的奥秘:从复杂到简单
    数据库版本迁移是软件开发中一个至关重要的过程。随着时间的推移,数据库架构和功能都会发生变化,版本迁移允许开发者在不中断系统的情况下升级数据库到新版本。 版本迁移的复杂性 数据库版本迁移的复杂性源于以下因素: 数据架构变化:数据库架构的更...
    99+
    2024-04-02
  • MySQL中数据迁移的示例分析
    这篇文章主要为大家展示了“MySQL中数据迁移的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“MySQL中数据迁移的示例分析”这篇文章吧。1.关于数据迁...
    99+
    2024-04-02
  • mongodb 数据块的迁移流程分析
    目录1. 基本概念1.1 Chunk(数据块)1.2 Chunk Size(数据块大小)1.3 Migration(数据块迁移)1.4 Migration Thresholds(迁移...
    99+
    2024-04-02
  • sql数据库mdf文件怎么迁移
    今天小编给大家分享一下sql数据库mdf文件怎么迁移的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。sql数据库mdf文件迁移...
    99+
    2023-07-01
  • 怎么迁移SQL 2005系统数据库
    这篇文章主要讲解了“怎么迁移SQL 2005系统数据库”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么迁移SQL 2005系统数据库”吧! 移动mast...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作