发新话题
打印

讨论多os共享lun,以及文件系统,数据库方面的问题!

引用:
原帖由 myprotein 于 2006-9-11 14:20 发表


sorry,我在unix论坛上问过这个问题,发现效果不好,毕竟那些都是搞实施的大侠,对底层没什么兴趣。

format,这个命令我再看看,sorry献丑了

“按自己的方法管理数据”,不知道这个“自己的方法”,是 ...
按你的理解,是否我把一个map写到磁盘上固定的位置,这个就算文件系统了?

最简单的办法,一个lv从n byte开始有m byte长度记录后面的记录个数,所有的记录在m+n之后。
只需要lseek到n自己,先读出m字节的数据,得到数据记录个数,然后就可遍历所有记录了。当然,这是stupid的算法。

其实我们要讨论的是 "裸设备都不可能不经文件系统的组织,直接被读写"这个命题。事实是,数据库很早就可以不使用文件系统来装数据了。


这个链接是veritas的关于数据库使用文件系统和裸设备的分析:

http://eval.veritas.com/downloads/van/3283.pdf

继续google一下,还有更多。

TOP

"最后,我还是建议大家在分析这个问题之前,把数据库跟文件系统的本质的东西了解一下。我相信一旦你真正的理解了他们的本质,你就会认同我的这句话:数据库实质上也是一个特殊的文件系统,只是其重点不在跟人交互,而是在跟数据库管理系统交互。"

上面这段话是cu上的一个讨论很热的帖子上某人说的。
http://www.chinaunix.net/jh/23/527591.html


其实“裸设备都不可能不经文件系统的组织,直接被读写",这句话我也不同意的,可以直接调用int13读写,bios之后不就是int13么,这时候根本没有什么文件系统概念,显而易见的。

数据库不经过fs的来直接装在数据,这句话如果严格来说,是否应该增加个地方,
”数据库不经过    os的   fs的来直接装在数据,而是自己也有一套私有的,未发表的,类似fs的机制来管理数据,是么?



“最简单的办法,一个lv从n byte开始有m byte长度记录后面的记录个数,所有的记录在m+n之后。
只需要lseek到n自己,先读出m字节的数据,得到数据记录个数,然后就可遍历所有记录了”

请教t兄,“一个lv从n byte开始有m byte长度记录后面的记录个数”,这件事情,程序是怎么知道的?作为实际应用,不可能写死在程序里面把?一定有一个全局固定的地方(superblock,inode等),存放全局记录偏移,这就是我的看法,既然有这个区域,那么就可以算是一种类似fs的机制,但是这个fs不是os的fs,os的fs把磁盘数据块抽象成各种文件,但是数据库把数据抽象成表,那么可以说是表管理系统,而不是文件管理系统。
http://space.doit.com.cn/35700
存储界的首本个性之作《大话存储-网络存储系统原理精解与最佳实践》,将于9月初由清华大学出版社隆重出版!敬请关注!

TOP

纠正我的一个错误,oracle的cluster fs是专门为解决cluster环境用的,和本主题无多少关系。

我要描述的是ocfs,不是clusterfs,sorry

这个ocfs听说是一种“rawfs”,不知这个rawfs,做何解?
http://space.doit.com.cn/35700
存储界的首本个性之作《大话存储-网络存储系统原理精解与最佳实践》,将于9月初由清华大学出版社隆重出版!敬请关注!

TOP

引用:
原帖由 myprotein 于 2006-9-11 15:06 发表
"最后,我还是建议大家在分析这个问题之前,把数据库跟文件系统的本质的东西了解一下。我相信一旦你真正的理解了他们的本质,你就会认同我的这句话:数据库实质上也是一个特殊的文件系统,只是其重点不在跟人 ...
我就料到这个讨论会变成一个哲学问题...你如果要将文件系统的定义无限外延,那就有一新的说法叫做 无所不在的文件系统。

如果你有数据库的背景, 就会了解到数据库和文件系统有很多不同.
引用:
请教t兄,“一个lv从n byte开始有mbyte长度记录后面的记录个数”,这件事情,程序是怎么知道的?作为实际应用,不可能写死在程序里面把?一定有一个全局固定的地方(superblock,inode等),存放全局记录偏移,这就是我的看法,既然有这个区域,那么就可以算是一种类似fs的机制,但是这个fs不是os的fs,os的fs把磁盘数据块抽象成各种文件,但是数据库把数据抽象成表,那么可以说是表管理系统,而不是文件管理系统。
有数据的地方,就存在着约定,superblock/inode的格式都是约定好了的下来的。另外,inode的位置不是固定的,这点我想纠正一下。

TOP

数据库我没什么背景,只知道他最主要的功能就是组织数据,查询数据,至于数据怎么组织的,是数据库应用逻辑的事情,数据是怎么存在磁盘上的,这个既可以利用os提供好的文件系统,也可以自己定义类似fs机制,自己写磁盘嘛!

多谢,关于inode何format命令我在补一下
http://space.doit.com.cn/35700
存储界的首本个性之作《大话存储-网络存储系统原理精解与最佳实践》,将于9月初由清华大学出版社隆重出版!敬请关注!

TOP

各位都是高人,看的晕晕的!
有无做cluster的兄弟,帮简单点总结一下!
如要做lun共享如何实施,主机对共享LUN的读写控制如何进行?利弊?

TOP

我最近正在研究学习linux集群方面的东西,主要是分布式文件系统,希望有兴趣的朋友多交流一下
http://space.doit.com.cn/35700
存储界的首本个性之作《大话存储-网络存储系统原理精解与最佳实践》,将于9月初由清华大学出版社隆重出版!敬请关注!

TOP

引用:
原帖由 pekics 于 2006-9-10 00:37 发表

在任何时候,裸设备都不可能不经文件系统的组织,直接被读写。所以,原则上,不存在“共享裸设备”的概念,只有共享文件系统。
[ 本帖最后由 fengwy 于 2007-1-29 11:43 编辑 ]

TOP

不是的,raw是可以直接被写入的,并不一定需要fs。
http://space.doit.com.cn/35700
存储界的首本个性之作《大话存储-网络存储系统原理精解与最佳实践》,将于9月初由清华大学出版社隆重出版!敬请关注!

TOP

"最后,我还是建议大家在分析这个问题之前,把数据库跟文件系统的本质的东西了解一下。我相信一旦你真正的理解了他们的本质,你就会认同我的这句话:数据库实质上也是一个特殊的文件系统,只是其重点不在跟人交互,而是在跟数据库管理系统交互。"
---------------------------------------------------------------------------------
顶这句话,说这句话的人对数据库了解很透彻

TOP

发新话题