做好《购买准备》,恰好也购买了exadata之后,如果就立马上线了,那我觉得除了佩服你之外,再无话可说了。工欲善其事,必先利其器。所以不花上很大的精力做些测试,终究是不得法的。
前几日碰到一朋友,购买的是Exadata2-8,好家伙,那可是exadata目前的顶配阿。但本身工作就很繁忙的DBA们,没有时间花大力气来做这些各种各样的测试怎么办呢?从最大化资源利用率和资本效率的角度来看,outsourcing可能是最优的方式,相比起上线之后总觉得还差点什么相比,前期的付出永远是值得的。
闲话到此,我们先进行ehcc的测试。对于datawarehouse来说,动辄上百TB甚至PB的数据量,如果能在不影响查询性能的前提下,大幅降低存储空间,那对于IT部门成本的节约就不是几块磁盘那么简单了。
本次测试的基本情况如下:
基础表:boypoo  记录数:约9500万行
测试表: boypoo_ehcc   记录数:完全复制boypoo
测试内容(所有测试都在同一台exadata机器上):
a.建表速度
b.数据加载速度没有测试
c.同一个复杂SQL语句的查询速度(出于业务安全的目的,不贴出具体的SQL语句)
d.差异之处:原表是分区表,ehcc后没有分区
e.SQL脚本名:非压缩表SQL boypoo_test.sql ,压缩表SQL: boypoo_ehcc_test.sql
原始SQL的执行情况:

SQL> set autot trace statics timing on
SQL> @boypoo_test.sql
12 rows selected.
Elapsed: 00:01:48.08
Statistics
———————————————————-
2872  recursive calls
0  db block gets
26147198  consistent gets
2270136  physical reads
1108  redo size
1291  bytes sent via SQL*Net to client
524  bytes received via SQL*Net from client
2  SQL*Net roundtrips to/from client
2  sorts (memory)
0  sorts (disk)
12  rows processed

创建压缩表:

SQL>  create table boypoo_ehcc compress for archive low as select * from boypoo;
Table created.
Elapsed: 00:29:28.94

查看压缩后的SQL查询:

SQL> @boypoo_ehcc.sql
12 rows selected.
Elapsed: 00:01:16.74
Statistics
———————————————————-
27  recursive calls
0  db block gets
22071073  consistent gets
569532  physical reads
6508  redo size
1301  bytes sent via SQL*Net to client
524  bytes received via SQL*Net from client
2  SQL*Net roundtrips to/from client
1  sorts (memory)
0  sorts (disk)
12  rows processed

压缩前后的空间占用比:

SQL> select segment_name,sum(bytes) from dba_segments where segment_name like ‘BOYPOO%’ group by segment_name;
SEGMENT_NAME                                                             SUM(BYTES)
——————————————————————— —————-
BOYPOO_EHCC                                                          4676648960
BOYPOO                                                               25761415168
Elapsed: 00:00:00.00

通过以上测试,我们可以看出:

        响应时间(秒)   逻辑读   物理读   SIZE(MB)
boypoo :     108    26147198   2270136    24568
boypoo_ehcc:  76    22071073   569532     4460
变化*倍数 :    29%       15%       75%       82%

*注:变化是用公式(ehcc-boypoo)/boypoo 计算得出,响应时间和SIZE是减少,其余两个是提高。
也许表的类型、字段类型不同,上述比值会有差异,不过从上面的对比我们可以看出,ehcc还是值得尝试的。

PS:最后一个表格的编辑很浪费时间哦