Prayer

在一般中寻求卓越
posts - 1256, comments - 190, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

每个DBA Team在建库时,对数据文件采用文件系统还是裸设备都是分成两派的,双方都很难说服对方,我这里也分析一下数据文件用文件系统还是裸设备的各自优劣。

速度

都说裸设备比文件系统快,因为少走了OS的cache。但到底快多少呢?IBM还说自己的jfs2比裸设备快呢!

我们用ORION(oracle提供的存储测试工具,可以从otn网站下载,模拟数据库对存储的读写操作)测试了一下:

存储SUN2540 两个盘

文件系统读:
Maximum Large MBPS=205.34 @ Small=0 and Large=4
Maximum Small IOPS=1160 @ Small=10 and Large=0
Minimum Small Latency=4.51 @ Small=1 and Large=0

祼设备读:

Maximum Large MBPS=205.02 @ Small=0 and Large=4
Maximum Small IOPS=1161 @ Small=10 and Large=0
Minimum Small Latency=4.49 @ Small=1 and Large=0


文件系统写

Maximum Large MBPS=84.48 @ Small=0 and Large=4
Maximum Small IOPS=675 @ Small=1 and Large=0
Minimum Small Latency=1.48 @ Small=1 and Large=0

裸设备写
Maximum Large MBPS=83.92 @ Small=1 and Large=4
Maximum Small IOPS=674 @ Small=1 and Large=0
Minimum Small Latency=1.48 @ Small=1 and Large=0

从以上数据可以看出,速度基本差不多,如果因为速度要使用祼设备的理由就不成立了。


防误删除:
文件被误删除后基本不能恢复,数据丢失。
祼设备被误删除后,可以重新建立,数据不丢失。


扩展性:
数据件在文件系统中可以自动扩展
祼设备不能自动扩展,如果容量不够需要增加祼设备作为新的数据文件来扩充表空间。
需要注意的一个问题是,自动扩展是不是一定好?!
很多DBA喜欢把datafile设置成autoextend on maxsize unlimited,我觉得比较严谨的作法还是要设置一个合理的maxsize。
防止应用的错误向表空间中插入垃圾记录,在文件系统中可能会把整个文件系统的free space消耗光!

移植性
文件可能通过copy的方式很方便的实现迁移,裸设备很困难。

Dataguard时祼设备不能自动创建数据文件

也就是这个参数standby_file_management 设置成auto没有用。

写到这儿就行了,到底用文件系统还是裸设备大家自己定吧。


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理