我正在测试Data Warehousing的空间。在我新创建的范围和应该验证的维度和事实。根据我的知识和通过浏览获得的信息,我将决定覆盖以下
我还可以在这里验证其他任何内容吗?
另外只是好奇我如何检查数据是否正确填充到Fact表和行计数,正确的代理键等。在开发人员的观点中他们是否使用DML脚本来加载数据?
答案 0 :(得分:1)
测试数据库
数据库通过以下三种方式进行测试:
测试数据库功能 - 以下是我们提供的功能列表 测试:
- 并行查询
并行创建索引
- 并行数据加载
3.测试数据库性能 - 查询执行在数据仓库性能测量中起着非常重要的作用。有一些固定查询需要定期运行,并且应该对它们进行测试。要测试即席查询,应该查看用户需求文档并完全理解业务。花时间测试业务可能针对不同索引和聚合策略提出的最尴尬的查询。 http://www.tutorialspoint.com/dwh/dwh_testing.htm
您还可以使用 ETL测试(提取,转换和加载)。 ETL测试技术: 1)根据各种业务要求和规则验证数据是否正确转换。 2)确保所有投影数据都加载到数据仓库中,没有任何数据丢失和截断。 3)确保ETL应用程序适当拒绝,替换为默认值并报告无效数据。 4)确保在规定的和预期的时间范围内将数据加载到数据仓库中,以确保提高性能和可扩展性。
除了这4种主要的ETL测试方法外,还进行了其他测试方法,如集成测试和用户验收测试,以确保一切顺利可靠。
您还可以测试计划,备份恢复,操作环境,测试的应用程序和逻辑 有关ETL测试/数据仓库测试的更多信息,请访问http://www.softwaretestinghelp.com/etl-testing-data-warehouse-testing/
<强> UPD:强>
并行创建索引
事实表上的索引可以是分区的或非分区的。本地分区索引提供最简单的管理。唯一的缺点是搜索本地非前缀索引需要搜索所有索引分区。
创建索引表空间的注意事项与创建其他表空间的注意事项类似。条带宽度较小的操作系统条带化通常是一个不错的选择,但为了简化管理,最好为每个索引使用单独的表空间。如果它是本地索引,您可能希望将其放在与其对应的分区相同的表空间中。如果每个分区都在多个磁盘上进行条带化,则可以并行重建各个索引分区以进行恢复。或者,可以使用操作系统镜像。由于这些原因,索引创建语句的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
并行查询功能对于通过大型表扫描,大型连接,大型索引的创建,批量加载,聚合或复制来访问大量数据的查询非常有用。它使具有以下所有特征的系统受益:
如果您的系统中的任何一个条件不正确,则并行查询功能可能无法显着提高性能。事实上,在过度使用的系统或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
答案 1 :(得分:1)
我是ETL测试员。 数据仓库中的数据验证和数据质量测试遵循以下检查
1)元数据测试 - 测试基础表的结构及其结构(根据设计文档)。 2)数据验证 - 在数据验证中,您使用SQL和PL / SQL测试映射转换。 我们通常使用源和目标表计数,源减去目标,源相交目标和目标减去源来测试它。
3)重复检查:确保数据仓库中没有冗余。 4)加载策略检查:检查目标表是SCD还是重新加载时删除(取决于要求。)