Exadata,关于性能方面,主要存在哪些特性?比如并行、IO管理........
从设计开发角度,应用调优主要需要考虑什么?比如表结构设计,分区、索引都不必考虑,是吗?
关于数据库调优方面,主要需要考虑哪些?数据库哪些参数可能需要根据应用特性进行调整,还是主要都是自动管理?
DBA需要做什么,表空间收缩、重建索引等工作,也不需要定期来做,是吗?
谢谢!
关于Exadata,有很多新特性,是可以提高数据库性能的
1. Smart scan,可以将查询的工作放到cell上(即Exadata的storage上),减少DB机和网络的压力,具体smart scan,可以参考这个文档
Smart scan : Find the statistics related to cell offload (Doc ID 1438173.1) 如果需要充分发挥Smart scan的特性,在表设计上,可能更多的建议考虑使用“全表扫描”等操作,例如,选择率大于5%,根据需要就应该考虑使用全表扫描,来使用smart scan技术了。
2. IORM:IO资源管理,真正实现针对具体的资源组,和具体的数据库实例进行软件层面进行IO分配管理,这个是其他硬件层面IO管理软件无法实现的。
3. EHCC: 混合列压缩,极大比例的压缩了数据,节省了空间,对于基本不进行update的表,做数据仓库,还是有很大优势的,但是在查询的时候,。会相对增加CPU的压力来解压缩。
4. Flash card: Cell上的flash card,更好的提升查询的速度,减少等待磁盘IO的时间。
5. infiniband交换机,性能强悍的传输速度,更加提升IO网络的吞吐量。
针对数据库调优,具体要根据业务需求设计,适当的根据以上特性,进行调整,会更好的发挥Exadata的性能。
Exadata上安装的11.2的数据版本,DBA在维护的时候,依然需要之前日常的工作,重另一方面将,他依然是一个数据库,我们熟悉的那个数据库。
有问题,可以继续交流。
exadata提供的更好的性能,从日常维护的角度来说,和普通oracle数据库没有区别。 你可以使用em12c监控整个box, 也可以用em console去监控数据库和ASM。
引入的storage cell提供更好的性能,同样的, 在troubleshooting上也多了挑战 ;)
通常,您可以把数据直接导入,就能获得很好的性能。 为了更好使用exadata,您需要一部分工作:很好的理解它的特性,对应用进行相应的调整。 能想到的几点建议:
仍然尽量分区,更好的并行。
只保留选择率最好的那些索引。 放弃选择率一般的索引,让smart io去处理这部分数据。smart io是exadata相对复杂的部分,从explain plan里没法判定是否用了smart IO。
对于不会修改的历史数据,进行HCC压缩。
对于热表,可以选择cache到flashcard上。
不要关闭flash logging 和 flash writeback.
您需要一些时间去观察和调整。 需要注意的是,exadata强大在整体构架的设计,而不是硬件。 如果不能很好的offload,是没法达到好的性能的。