ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 文件系统和裸设备概说

文件系统和裸设备概说

原创 Linux操作系统 作者:wzc_19821215 时间:2012-06-12 13:09:48 0 删除 编辑

现在有一种经典的说法是oracle安装的祼设备上面比安装在文件系统上面要快。

是不是任何情况下都是这样呢?

以下是我的一点个人分析,如有不对之处请指出。


目前一般的文件系统都是有日志的。为了尽量减少文件系统的不一致性,缩短操作系统的启动时间,文件系统需追踪引起系统改变的记录,这些记录存放在与文件系统相分离的地方,通常我们叫“日志”。一旦这些日志记录被安全地写入,日志文件系统就可以应用它们清除引起系统改变的记录。这个日志的作用就像oracle中redo的作用一样。

数据库建在文件系统上面主要有以下几点需要考虑:

1.日志维护的开销。这点要根据文件系统具体的日志模式,像ext3就有三种日志模式,为了安全起见,这个日志维护的开销将不可忽视。

2.OS维护和管理文件系统的开销。在数据库的情况下,用户一般都是在现存文件的中间写入数据,甚至覆盖现存文件。这种操作一般是先截断该文件,然后再写入数据。每次都会涉及到文件的改变,因此这部分的管理开销也将不小。

3.采用文件系统,就会涉及到文件系统的缓存(pagecache)。有这个文件系统的缓存,就会导致写操作比写祼设备的速度要慢。因为当发生一个IO,将oracle buffer中的块写入硬盘时,一般都是先将这个块写到pagecache中,然后再从pagecache flush到硬盘上。而oracle为了保证确保不会有数据丢失必须等这个块从pagecache flush到硬盘的操作完成后才会收到一个写入完成的消息。所以说采用文件系统,写操作比直接写到祼设备的操作要慢。

4.采用文件系统,因为有文件系统缓存,读操作一般会比采用祼设备要快。这点不仔细描述了。我想大多数人都能接受这一点。

根据上面4点,我觉的,如果一个系统在系统资源(包括CPU,内存,IO)不存为瓶颈时,同时读操作又多于写操作时,一般情况下采用文件系统会比采用祼设备要快。

如果能够预估到系统资源可能会成为瓶颈,或者写操作又较多时,应该考虑采用祼设备

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22521389/viewspace-732568/,如需转载,请注明出处,否则将追究法律责任。

上一篇: goldengate安装
下一篇: rman恢复
请登录后发表评论 登录
全部评论
Boundls怎么丢了

注册时间:2012-06-04

  • 博文量
    57
  • 访问量
    136520