Module 02 · Using Relational Databases
Data Movement Utilities数据迁移工具
欢迎了解数据迁移工具。观看本视频后,您将能够:
- 识别将数据移入和移出数据库的原因。
- 比较数据迁移方法,包括备份与恢复、导入与导出。
- 识别各种导入和导出文件格式,并评估其适用性。
- 认识使用不同数据库工具执行数据迁移操作的效率差异。
一、数据移入/移出数据库的原因
数据工程师和数据库管理员经常需要将数据移入和移出现有数据库。这样做有多种原因:
- 🆕 数据库初始化: 填充数据库及其对象(如表)。
- 🧪 开发与测试: 创建重复的数据库副本以满足开发和测试需求。
- 🛡️ 灾难恢复 (DR): 创建数据库状态的快照用于灾难恢复。
- ⚙️ 新建表格: 使用来自外部源或文件的数据生成新表。
- ➕ 数据追加: 向一个或多个现有表中添加数据。
二、数据迁移方法的分类与比较
大多数数据库支持通过多种文件格式将数据移入和移出数据库。每个数据库都有其自己的工具和实用程序,但本课程将其归类为以下三类:
- 备份与恢复 (Backup and Restore)
- 导入与导出 (Import and Export)
- 加载 (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 文件。
- 步骤:
- 在您的模式中,选择要导出的表。
- 点击 “查看数据 (View data)”。
- 选择 “导出 (Export)” 按钮。
- 点击 “导出为 CSV (Export to CSV)”。
- 指定保存 CSV 文件的名称和位置。
3. 激活 DB2 导入工具
您可以从以下任一途径激活 DB2 导入工具:
- 命令行。
- 通过应用程序调用其 API。
- 使用可视化数据库管理工具。
总结回顾
在本视频中,您学习到:
- 数据迁移对于数据库和表的初始填充至关重要。
- 备份和恢复工具用于创建和恢复整个数据库的副本。
- 导入工具有助于将各种格式的数据插入到特定表中。
- 导出工具允许将特定表中的数据以各种格式(如 CSV)保留下来。
- 加载工具为向指定表进行数据插入提供了高性能的方法。