Coursera 笔记

Module 02 · Using Relational Databases

Data Movement Utilities数据迁移工具

Coursera ↗

欢迎了解数据迁移工具。观看本视频后,您将能够:

  • 识别将数据移入和移出数据库的原因。
  • 比较数据迁移方法,包括备份与恢复、导入与导出。
  • 识别各种导入和导出文件格式,并评估其适用性。
  • 认识使用不同数据库工具执行数据迁移操作的效率差异。

一、数据移入/移出数据库的原因

数据工程师和数据库管理员经常需要将数据移入和移出现有数据库。这样做有多种原因:

  • 🆕 数据库初始化: 填充数据库及其对象(如表)。
  • 🧪 开发与测试: 创建重复的数据库副本以满足开发和测试需求。
  • 🛡️ 灾难恢复 (DR): 创建数据库状态的快照用于灾难恢复。
  • ⚙️ 新建表格: 使用来自外部源或文件的数据生成新表。
  • ➕ 数据追加: 向一个或多个现有表中添加数据。

二、数据迁移方法的分类与比较

大多数数据库支持通过多种文件格式将数据移入和移出数据库。每个数据库都有其自己的工具和实用程序,但本课程将其归类为以下三类:

  1. 备份与恢复 (Backup and Restore)
  2. 导入与导出 (Import and Export)
  3. 加载 (Load)

1. 备份与恢复 (Backup and Restore)

操作 描述 目的
备份 (Backup) 创建一个文件或一组文件,其中封装了所有数据库对象及其数据。 灾难恢复: 保护生产数据库副本。开发测试: 创建额外的数据库副本用于开发和测试目的。
恢复 (Restore) 从备份文件创建原始数据库的精确副本。

关键点: 备份和恢复操作保留数据库中的所有对象,包括模式、表、视图、用户定义的数据类型、函数、存储过程、表约束、触发器、安全设置、对象间的关系以及所有表中的数据。

2. 导入与导出 (Import and Export)

操作 描述 核心机制
导入 (Import) 从文件中读取数据,并对目标表执行一系列 INSERT语句。 逐行插入数据,会执行约束检查。
导出 (Export) 从指定表中检索数据,并将其存储到选定的文件中。 将数据保存为外部文件。

导入和导出接口

用户可以通过多种界面执行导入和导出操作:

  • 命令行工具: 大多数数据库至少提供一个命令行工具。
  • 管理 API: 管理应用程序编程接口通常支持导入和导出功能。
  • 图形或 Web 管理工具: 提供用于这些操作的可视化界面。
  • 第三方工具: 支持用户在不同的 DBMS 之间执行这些操作。

3. 加载 (Load) 工具

  • 核心机制: 绕过运行 SQL INSERT 语句(导入过程),而是直接将页面格式化到数据库中。
  • 性能优势: 加载工具的性能优于导入工具,因为其性能更高,且可能会绕过数据库日志记录。
  • 适用场景: 虽然导入对于较小的表可能运作良好,但加载工具更适合处理大批量数据。
  • 注意事项: 加载工具不执行引用或表约束检查,如果需要这些额外的检查,您可能更倾向于使用导入工具。

三、常见数据导入与导出文件格式

大多数数据库支持多种文件格式用于数据的导入和导出。

格式 全称/描述 适用性与特点
DEL Delimited ASCII(定界 ASCII) 允许在各种数据库和文件管理器之间交换数据,使用特殊字符定界符来分隔列值。最知名的例子是 CSV(逗号分隔值)文件。
ASC Nondelimited ASCII(不定界 ASCII) 用于从生成平面文本文件且列对齐的应用程序导入数据。
PC/IXF PC Version of the Integration Exchange Format 数据库管理器内部数据交换的首选方法。它提供对数据库表的结构化描述,包含内部表的外部表示。
JSON JavaScript Object Notation 随着 JSON 和 REST Web 服务的普及,一些数据库和第三方工具也开始支持从 JSON 文件导入和向其导出数据。

四、DB2 中导入和导出的操作示例

1. 命令行导入和导出工具 (DB2)

  • 允许您输入文件名、文件格式、表名以及用于导入和导出的消息文件。
  • 导出特性: DB2 的导出工具允许您指定一个 SQL 查询,并导出一个指定表中的数据子集。

2. Db2 on Cloud Web 控制台(可视化界面)

Web 控制台包含一个可视化界面,允许您导出任何表或查询的结果并将其另存为 CSV 文件。

  • 步骤:
    1. 在您的模式中,选择要导出的表。
    2. 点击 “查看数据 (View data)”。
    3. 选择 “导出 (Export)” 按钮。
    4. 点击 “导出为 CSV (Export to CSV)”。
    5. 指定保存 CSV 文件的名称和位置。

3. 激活 DB2 导入工具

您可以从以下任一途径激活 DB2 导入工具:

  • 命令行。
  • 通过应用程序调用其 API。
  • 使用可视化数据库管理工具。

总结回顾

在本视频中,您学习到:

  • 数据迁移对于数据库和表的初始填充至关重要。
  • 备份和恢复工具用于创建和恢复整个数据库的副本。
  • 导入工具有助于将各种格式的数据插入到特定表中。
  • 导出工具允许将特定表中的数据以各种格式(如 CSV)保留下来。
  • 加载工具为向指定表进行数据插入提供了高性能的方法。