《DBA修炼之道:数据库管理员的第一本书》——1.11节生产环境与测试环境

本节书摘来自华章社区《DBA修炼之道:数据库管理员的第一本书》一书中的第1章,第1.11节生产环境与测试环境,作者(美)Craig S. Mullins,更多章节内容可以访问云栖社区“华章社区”公众号查看

1.11 生产环境与测试环境
合格的数据库部署至少要创建并支持两种独立的环境:生产环境和测试环境(或开发环境)。在测试环境进行新的开发和维护工作,而在生产环境运行真正的业务运作应用程序。将测试环境与生产环境完全分开很有必要,这样可以确保业务操作的完整性和性能。如果这两者没有分开,将会导致开发工作对企业的日常业务产生影响。最终你可能要因为开发初期的错误程序代码而访问或修改生产数据。测试却访问了生产数据会导致生产性能问题。当然了,修改了生产数据的测试程序会创建无效数据。
将测试与生产环境分开以确保业务操作的完整性和性能。
测试环境不需要和生产环境完全相同。生产环境应包含所有支持业务应用程序需要的数据。而测试环境可以只包含便于应用程序测试所需数据的一个子集。此外,测试的DBMS部署通常不会设置与生产环境相同数量的资源。比如,分配较小的内存用于缓冲与缓存,数据集分配将会更小且用到的设备也更少,并且用于测试的DBMS软件版本也会比用于生产的滞后(为了在DBMS用于生产环境前排除其本身的错误)。
尽管如此,测试环境与生产环境应同等对待。在生产环境中可以访问的系统软件在测试环境中同样也可以访问,因为开发人员需要在同类型的环境中创建应用程序,并最终在该环境中运行。
测试环境的另外一个区别是数据库的数量。可能需要创建多个数据库复件用以支持多个程序员的并发开发工作。DBA必须要计划并创建这种环境从而允许编程人员控制各自测试数据库的内容。开发过程中修改数据的程序可能需要多次运行,而程序员必须要能确保每轮测试开始时所用的数据是相同的。不这么做会导致测试结果无效。因此,DBA要协助编程人员完成创建数据库负载和卸载工作,为测试运行建立测试数据库。测试运行前,数据库要加载测试数据,运行完成后,程序员可以检查程序输出和数据库内容从而确认程序逻辑是否正确。如果不正确,将重复此过程,在数据库中加载以重置数据并重新测试。可以适当使用自动化卸载那些程序影响的数据库并将结果与加载文件比较。
试图预测测试应用程序一旦用于生产将会如何执行是一项困难的事情,但DBA也可以协助于此。关系DBMS通常会提供一个收集数据库内容的统计信息的方法。然后这些统计数字会用于关系优化程序以确定SQL是如何获取数据的。本主题在第12章会有更深入的介绍。但要记住,测试数据库比生产数据库中的数据要少得多。但是,在某些情况下,DBA可以建立脚本读取生产统计数字并将它们复制到测试环境,从而使开发人员能更准确地衡量测试应用程序将如何在生产环境执行。
一些企业不止部署两种环境,如图1-9所示。如果某些复杂的应用程序开发项目需要特别的关注,可能还会有额外的隔离测试。例如,单元测试环境可能会存在于个别的程序开发,然后又通过集成测试环境确保新程序能一起工作,或者新程序与现有程序能正常工作。在新的或修改过的程序移植到生产环境前,可能需要建立一个质量保证(QA)环境对它们执行严格的测试。


edadc2aec63674d4a2b1719612aed6af93f3cfaa

在新的和修改过的程序移植前,可能要有一个质量保证环境对它们执行严格的测试。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值