Jailer:从生产数据库提取数据的工具


Jailer 是一个用于数据库子集、模式和数据浏览的工具。
它从数据库中创建小片段,并允许您按照关系浏览数据库。非常适合创建小测试数据样本或使用相关生产数据进行本地问题分析。

特征

  • 数据浏览器允许您按照表之间的关系(基于外键或用户定义的关系)浏览数据库。
  • Subsetter 从您的生产数据库中创建小片段,并将数据导入您的开发和测试环境(一致且引用完整)。
  • 通过删除和归档过时的数据而不破坏完整性来提高数据库性能。
  • 生成 SQL(拓扑排序)、XML(层次结构)和DbUnit 数据集。
  • 包含一个演示数据库,您无需任何配置即可获得第一印象。

支持的数据库由于使用了 JDBC 技术,基本上支持任何 DMBS。Jailer 还使用额外的知识来应对主要数据库系统的特殊性。

背景上下文
数据库的规模和复杂性都在不断增长,以满足不断增长的业务需求。处理数据的应用程序的规模和复杂性也在增加。随着复杂性的增加,为了保证软件的质量,可靠的测试变得越来越重要。

理想情况下,我们希望针对最新的生产数据测试所有更改,因此一般做法是使用生产数据库的副本进行所有测试。但是,当数据库超过一定大小时,为开发和测试提供生产数据库的完整大小副本将变得非常昂贵。

此问题的一种解决方案是拥有比实际需要更少的完整大小的生产数据库副本,通常只有一个,并将在开发和测试团队之间共享。
当然,这远非最佳。

当数据库中的数据从一个团队传递到另一团队时,数据处于未知状态。在需要时提供生产副本的刷新需要很长时间。因此始终拥有最新的生产副本几乎是不可能的。

开发和测试所需的数据库很少需要完整大小,处理小型副本通常更容易。

不幸的是,手动提取一小部分生产数据非常困难。仅使用每个表的 10% 来获得 10% 大小的数据库是不可能的。一个表中的数据不会与其他表中的数据相关。它不会是 完整的引用关系。

Jailer 简化了引用完整数据的提取:定义提取模型后,当需要最新的测试数据时,它可以用来快速、轻松地从生产数据库中提取数据。