12
返回列表 发新帖
楼主: sanshihaoji

不想用ASM,LINUX+10g+RAC方案下可以选择什么共享文件系统??

[复制链接]
论坛徽章:
6
ITPUB十周年纪念徽章
日期:2011-11-01 16:20:282012新春纪念徽章
日期:2012-01-04 11:49:54优秀写手
日期:2013-12-18 09:29:09懒羊羊
日期:2015-03-04 14:48:162015年新春福章
日期:2015-03-06 11:57:31ITPUB元老
日期:2015-11-28 05:51:03
11#
 楼主| 发表于 2011-3-31 21:57 | 只看该作者
首先谢谢版主对这个话题的持续关注。
我想咱们能不能扩展一下思路。有没有这样一种可能,能不能把这些图像文件单独放在一个文件服务器,上面部署Web或者FTP服务器,然后在数据库的字段列上存储该图像文件的链接。关键是这样做以后,如何扩展ORACLE数据库的功能,能让用户像用ORACLE已有的便捷方式访问bfile类型那样,访问这种链接方式的文件。
也就是说该文件服务器对外界用户隐形或透明,外界用户只采用与ORACLE接口的方式即可对这些文件进行上传或者下载!!
您推荐的方式我总觉得把RAC这种优美的方案给改变得支离破碎,我总觉得该方案有点凌乱!!
能否根据您对ORACLE的熟悉程度对我的这种想法进行一下评判,看实施的可能性!
我说得这种方式是不是无法保证两个实例访问该文件的互斥性,您也给评判一下!
谢谢!

使用道具 举报

回复
论坛徽章:
47
蒙奇·D·路飞
日期:2017-03-27 08:04:23马上有车
日期:2014-02-18 16:41:112014年新春福章
日期:2014-02-18 16:41:11一汽
日期:2013-09-01 20:46:27复活蛋
日期:2013-03-13 07:55:232013年新春福章
日期:2013-02-25 14:51:24ITPUB 11周年纪念徽章
日期:2012-10-09 18:03:322012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20
12#
发表于 2011-3-31 22:22 | 只看该作者
Your detailed description is exactly what we understood from the beginning. If you don't want to restrict the client (i.e. web server or mid-tier) to connecting to only one node of the RAC (the simplest solution but not taking advantage of RAC), then use a cluster filesystem or NFS for your RAC nodes. We need to have a way to solve the problem that all nodes of the RAC must be able to read/write to a common file storage area. If you use a separate file server (Web或者FTP服务器), that works too. In that case, Oracle's ACFS is unlikely (because it would require Oracle 11gR2 to be installed on that web server), and NFS may be the best option. Run NFS server on that web server and all RAC nodes, as NFS clients, mount onto the NFS share. Suppose the path is /webserver/file_path, then use that string for your BFILE.

Yong Huang

使用道具 举报

回复
论坛徽章:
24
授权会员
日期:2007-03-03 23:55:31ITPUB十周年纪念徽章
日期:2011-11-01 16:21:15ITPUB季度 技术新星
日期:2011-11-18 16:54:31玉石琵琶
日期:2012-02-21 15:04:38ITPUB 11周年纪念徽章
日期:2012-10-09 18:06:202013年新春福章
日期:2013-02-25 14:51:242014年新春福章
日期:2014-02-18 16:42:02马上有房
日期:2014-02-18 16:42:02
13#
发表于 2011-4-1 15:07 | 只看该作者
VERITAS

SFRAC

使用道具 举报

回复
论坛徽章:
6
ITPUB十周年纪念徽章
日期:2011-11-01 16:20:282012新春纪念徽章
日期:2012-01-04 11:49:54优秀写手
日期:2013-12-18 09:29:09懒羊羊
日期:2015-03-04 14:48:162015年新春福章
日期:2015-03-06 11:57:31ITPUB元老
日期:2015-11-28 05:51:03
14#
 楼主| 发表于 2011-4-1 22:11 | 只看该作者
版主提得建议很好,今天我也仔细阅读了一下ORACLE10g2的随机文档。
我结合您的建议和我的想法理了一下思路,您再评判一下,谢谢!
   首先,我已经很清晰的想采用一台单独的机器,在上面部署FTP服务器,用来存储图像文件。我之所以选择FTP服务器,而不是Web服务器,是觉得前者权限设置的功能很强,比Web服务器对访问的控制要能力强一些,不知道这一点我理解得对不对?!您给予评判!
   其次,按照您的建议,在上面这台单独的机器上同时部署成NFS服务器,而两个RAC节点上部署NFS客户端软件,来MOUNT这个NFS共享存储。然后使用/webserver/file_path作为BFILE的字段内容.这样的规划使得可以采用ORACLE 访问BFILE的所有方式来上传与下载所有的FTP文件,这样使得图像文件既可以用ORACLE的方式访问,又可以单独用FTP的方式访问!  
    第三,我认为这样的方案很清晰,也很独立!也就是说即使RAC的两台节点都出问题,我也可以在外界直接用FTP的方式访问我的图像文件,而且这样我RAC的两个节点部署的软件就很单纯,都是ORACLE的东西,维护起来思路也很清晰!
   以上三点,版主给评判一下,看我理解和设想的对不对!
   另外,我今天刻意查了一下Oracle® Database PL/SQL Packages and Types Reference10g Release 2 (10.2)PDF文档,其中对UTL_HTTP说了这么两句:
   1.With the UTL_HTTP package, you can write PL/SQL programs that communicate with Web (HTTP) servers. And UTL_HTTP contains a function that can be used in SQL queries.
     2.Other Internet-related data-access protocols (such as the File Transfer Protocol (FTP) or the Gopher protocol) are also supported using an HTTP proxy server that supports those protocols.
    所以根据这么两条,我本来想用UTL_HTTP包来实现对单独的FTP服务器的访问! 那您觉得这种办法可行吗,如果用它替代NFS方式行不行,当然这种方式就得在数据库字段中存储该服务器的FTP路径了,这样不知访问权限好控制不,您一并给评判一下!
   顺便说一下,您的英文真得不错,Amazing!我看着很舒服,功力确实深!赞一个!
   总之,辛苦版主了,再次表示感谢!

[ 本帖最后由 sanshihaoji 于 2011-4-1 22:16 编辑 ]

使用道具 举报

回复
论坛徽章:
9
ITPUB十周年纪念徽章
日期:2011-11-01 16:25:512012新春纪念徽章
日期:2012-01-04 11:56:44ITPUB 11周年纪念徽章
日期:2012-10-09 18:14:482013年新春福章
日期:2013-02-25 14:51:242014年新春福章
日期:2014-02-18 16:44:08马上有对象
日期:2014-02-18 16:44:08
15#
发表于 2011-4-1 22:56 | 只看该作者
nfs 简单可行.
不过并发能力会比较弱,需要你了解自己的业务量,调优(可能效果不佳).
不过看楼主的叙述,. 估计读写比较少.

使用道具 举报

回复
论坛徽章:
6
ITPUB十周年纪念徽章
日期:2011-11-01 16:20:282012新春纪念徽章
日期:2012-01-04 11:49:54优秀写手
日期:2013-12-18 09:29:09懒羊羊
日期:2015-03-04 14:48:162015年新春福章
日期:2015-03-06 11:57:31ITPUB元老
日期:2015-11-28 05:51:03
16#
 楼主| 发表于 2011-4-3 11:20 | 只看该作者
谢谢版主的评判!
您觉得这种并发能力弱是nfs方案导致的吗?还是ORACLE软件本身对BFILE的并发访问有限制,也就是因为:
  A limited number of BFILEs can be open simultaneously in each session. The
initialization parameter, SESSION_MAX_OPEN_FILES defines an upper limit on the
number of simultaneously open files in a session. 造成的并发能力弱?
           --摘自 Oracle® Database Application Developer's Guide - Large Objects  文档
换句话说,直接存储为BLOB方案比存储为外部BLOB,即BFILE方案,并发能力更强一些??
版主能否就这个问题把您的意见再表达得更细致一些?谢谢!

使用道具 举报

回复
论坛徽章:
47
蒙奇·D·路飞
日期:2017-03-27 08:04:23马上有车
日期:2014-02-18 16:41:112014年新春福章
日期:2014-02-18 16:41:11一汽
日期:2013-09-01 20:46:27复活蛋
日期:2013-03-13 07:55:232013年新春福章
日期:2013-02-25 14:51:24ITPUB 11周年纪念徽章
日期:2012-10-09 18:03:322012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20
17#
发表于 2011-4-4 23:35 | 只看该作者
sanshihaoji,

> 选择FTP服务器,而不是Web服务器,是觉得前者权限设置的功能很强

In my opinion, your message #15 makes very good sense except this one. There're many ways to control access to files on a web (http) server. The simplest may be to put a .htaccess file in the directory you want to control. Anyway, in your case, you can choose either ftp or http.

> 用它[FTP implemented through UTL_HTTP]替代NFS方式行不行

That's fine. But you may need to write a little more code for your application.

Now I'm thinking of the whole case. I'm not sure what benefit BFILE brings. I personally only used it once or twice a few years ago. Whoever strongly prefers it over other methods please speak up.

As to storing file content inside versus outside of Oracle, I personally prefer outside. File content inside Oracle makes backup and recovery, cloning, export/import clumsy. And Oracle's LOB data type is always harder to manage than simple strings and number types.

Yong Huang

使用道具 举报

回复
论坛徽章:
47
蒙奇·D·路飞
日期:2017-03-27 08:04:23马上有车
日期:2014-02-18 16:41:112014年新春福章
日期:2014-02-18 16:41:11一汽
日期:2013-09-01 20:46:27复活蛋
日期:2013-03-13 07:55:232013年新春福章
日期:2013-02-25 14:51:24ITPUB 11周年纪念徽章
日期:2012-10-09 18:03:322012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20
18#
发表于 2011-4-8 04:28 | 只看该作者
Indeed storing file content inside the database has the benefit of backup, etc. But my personal experience is that managing LOB is a challenge unless the total size is small and concurrency is low. If the midtier can handle that, I'm always happy to let them do it. Just my opinion.

Yong Huang

使用道具 举报

回复
论坛徽章:
59
狮子座
日期:2016-03-26 13:35:402013年新春福章
日期:2013-02-25 14:51:24双黄蛋
日期:2013-02-25 11:06:15ITPUB 11周年纪念徽章
日期:2012-10-09 18:06:20灰彻蛋
日期:2012-04-25 13:19:33紫蛋头
日期:2012-03-14 11:16:09最佳人气徽章
日期:2012-03-13 17:39:18玉石琵琶
日期:2012-02-21 15:04:38鲜花蛋
日期:2011-11-30 14:13:01ITPUB十周年纪念徽章
日期:2011-11-01 16:21:15
19#
发表于 2011-4-8 09:54 | 只看该作者
个人观点

有没有想过将来如果图片量很大呢,几百万,甚至千万张上亿张,如果都放在数据库那到时候数据库要有多大
图片放在文件系统远比放在oracle数据库里要简单,很难想象以后用rman或者flashback来恢复一张图片

除了图片本身以外可能还要对每张图片做中图,做小图等,可能还要打水印,除了这些应该还有其他地方也要用到这些图片
难道你还要把所有客户端软件都弄成支持oracle,人为的加上数据库这一层
OK,就算oracle已经提供了各种各样的解决方案,很多其实成本还是挺高的,而且这些东西集成度越高,你自己想要做的能实现的东西就越少

始终觉得数据库并不是用来解决图片这种问题的,该分离的东西还是要分离

NFS不见得是最好,不过也是可以用用的,我以前公司就这样做的,图片量在1,2千万左右,高精度的和中图,小图分开放,都在ext3下
数据库里存的是图片的路径,
当然公司比较小网站压力也不大,不过基本可以满足需求,架构也不复杂,用的技术不少都是开源的,廉价的

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表