首页 文章

数据仓库测试方法

提问于
浏览
0

我正在测试数据仓库的空间 . 在我新创建的范围和应该验证的维度和事实 . 根据我的知识和通过浏览获得的信息,我将决定覆盖以下内容

  • 根据规范验证Facts和Dimension表的模式

  • 数据重复检查事实和维度表

  • 维度表的查找验证

还有什么我可以在这里验证的吗?

另外只是好奇我如何检查数据是否正确填充到Fact表和行计数,正确的代理键等 . 在开发人员的角度来看,他们是否使用DML脚本来加载数据?

2 回答

  • 1

    我是ETL测试员 . 数据仓库中的数据验证和数据质量测试遵循以下检查

    1)元数据测试 - 测试基础表的结构及其结构(根据设计文档) . 2)数据验证 - 在数据验证中,您使用SQL和PL / SQL测试映射转换 . 我们通常使用源和目标表计数,源减去目标,源相交目标和目标减去源来测试它 .

    3)重复检查:确保数据仓库没有冗余 . 4)加载策略检查:检查目标表是SCD还是重新加载时删除(取决于要求) .

  • 1

    Testing the Database

    数据库通过以下三种方式进行测试:

    • 测试数据库管理器和监视工具 - 要测试数据库管理器和监视工具,应将它们用于测试数据库的创建,运行和管理 .

    • 测试数据库功能 - 以下是我们必须测试的功能列表:

    • 并行查询

    • 并行创建索引

    • 并行数据加载

    3.测试数据库性能 - 查询执行在数据仓库性能测量中起着非常重要的作用 . 有一些固定查询需要定期运行,并且应该对它们进行测试 . 要测试即席查询,应该查看用户需求文档并完全理解业务 . 花时间测试业务可能针对不同索引和聚合策略提出的最尴尬的查询 . http://www.tutorialspoint.com/dwh/dwh_testing.htm

    您也可以使用 ETL testing (提取,转换和加载) . ETL测试技术:1)根据各种业务要求和规则验证数据是否正确转换 . 2)确保将所有预计数据加载到数据仓库中,而不会丢失任何数据和截断 . 3)确保ETL应用程序适当拒绝,替换默认值并报告无效数据 . 4)确保在规定的和预期的时间范围内将数据加载到数据仓库中,以确认改进的性能和可扩展性 .

    除了这4种主要的ETL测试方法外,还进行了其他测试方法,如集成测试和用户验收测试,以确保一切顺利可靠 .

    您还可以测试计划,备份恢复,操作环境,测试的应用程序和逻辑有关ETL测试/数据仓库测试的更多信息,请访问http://www.softwaretestinghelp.com/etl-testing-data-warehouse-testing/

    UPD:

    Creating Indexes in Parallel

    事实表上的索引可以是分区的或非分区的 . 本地分区索引提供最简单的管理 . 唯一的缺点是搜索本地非前缀索引需要搜索所有索引分区 .

    创建索引表空间的注意事项与创建其他表空间的注意事项类似 . 带宽较小的操作系统条带化通常是一个不错的选择,但为了简化管理,最好为每个索引使用单独的表空间 . 如果它是本地索引,您可能希望将它放在与其对应的分区相同的表空间中 . 如果每个分区都在多个磁盘上进行条带化,则可以并行重建各个索引分区以进行恢复 . 或者,可以使用操作系统镜像 . 由于这些原因,索引创建语句的NOLOGGING选项可能对数据仓库很有吸引力 .

    应该以与分区表的表空间相同的方式并行创建分区索引的表空间 .

    使用分区粒度并行创建分区索引,因此可能的最大DOP是粒度数 . 本地索引创建比全局索引创建具有更少的固有并行性,因此如果使用更高的DOP则可以更快地运行 . 以下语句可用于在事实表上创建本地索引:

    CREATE INDEX I on fact(dim_1,dim_2,dim_3) LOCAL 
    PARTITION jan95 TABLESPACE Tsidx1, 
    PARTITION feb95 TABLESPACE Tsidx2, 
    ... 
    PARALLEL(DEGREE 12) NOLOGGING;
    

    要备份或恢复1月数据,您只需要管理表空间Tsidx1 .

    Parallel Query Tuning
    

    并行查询功能对于通过大型表扫描,大型连接,大型索引的创建,批量加载,聚合或复制来访问大量数据的查询非常有用 . 它使具有以下所有特征的系统受益:

    • 对称多处理器(SMP),集群或大规模并行系统

    • 高I / O带宽(即许多不同磁盘驱动器上的许多数据文件)

    • 未充分利用或间歇使用的CPU(例如,CPU使用率通常低于30%的系统)

    • 足够的内存来支持额外的内存密集型进程,例如排序,散列和I / O缓冲区

    如果您的系统中的任何一个条件不正确,则并行查询功能可能无法显着提高性能 . 实际上,在过度使用的系统或具有小I / O带宽的系统上,并行查询功能会阻碍系统性能 .

    在这里,您可以更详细地了解这一点:http://docs.oracle.com/cd/A57673_01/DOC/server/doc/A48506/pqo.htm#1559

    我希望这些资源对您有所帮助:https://wiki.postgresql.org/wiki/Parallel_Query_Execution

    https://technet.microsoft.com/en-us/library/ms178065%28v=sql.105%29.aspx

    http://www.csee.umbc.edu/portal/help/oracle8/server.815/a67775/ch24_pex.htm#1978

相关问题