求过来人指点Oracle存大文件的问题 编程工具为VC,使用Oracle的blob字段存储图片文件,图片大小是60M/张,图片数量比较多,每年要存的图片总大小大概有3T左右,请问有没有做过这方面的过来人,60M的图片存储会不会出问题?每年3T的数据增量对维护会不会造成影响?(PS:数据库安装于服务器上) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 TO LuiseRADL 因为文件数量比较多,如果存储在文件系统中不方便管理,而且数据容易丢失,存于数据库中可以充分发挥数据库的管理文件的功能。请问之前提的那种方法是否可行? 设置单独的表空间进行存储,BLOCK_SIZE设置要注意同时进行压缩存储,如果读图片不是很频繁的话 TO java3344520 我的思路也差不多这样,单独表空间专门存储图片,就是图片比较大,压缩以后应该也会有10M以上,不知道现在通用的对大图片的存储方式是什么样的~ TO ystemni 把文件存数据库,一是可以保证文件的安全性,进入服务器但不进入数据库就查看不到文件;二是可以发挥oralce管理文件的功能,如果全部文件都放一个文件里,文件多得时候,访问起来速度就慢,效率就低。 数据库适合存放大量的小图片,60M多了点,数据量大的时候一样麻烦,最好做好分区表和lob/索引的管理 多谢各位提示,查了一些资料后,决定用以下方案:使用BLOB数据类型,原数据库用于存放文字性数据库,图片保存于新的专门用于储存图片的表空间。 将底片的信息保存在原数据库中,并增加一个字段用于存储索引号,然后根据索引号把图片上传到新的表空间中,图片字段数据类型为BLOB,图片保存于新的数据库中。读取图片的时候,根据底片的信息查找到索引号,再根据索引号在新的表空间中查询图片并下载显示图片。优点:将整个图片库全部放到一个数据库一张表中,方便管理,成为一个整体。存储数据的数据库和存储图片的表空间分开,两者互不影响,备份和恢复数据都可以独立进行。检索信息的表很小,同时也让所有的相关信息都放入到了数据库中。能够直接从文件系统中访问原始文件,同时也可以使用 SQL 定位文件。缺点:两个表空间,图片和图片相关信息分开。需要通过某种机制来确保记录的一一对应,还需要让所有的修改、删除、添加操作都同时对两个表空间的表成功进行。注:BLOB 为二进制大对象,用于在数据库里存储大对象,如图像声音等文件。文件存储在数据库里的,参与数据库的事务。使用 BFILE 类型时, INSERT 和 UPDATE 将该文件在数据库服务器(可能与 Web 服务器不在同一计算机上)的文件系统中的位置告知 Oracle,而不是传递文件内容。 使用 SELECT 语句,您可以通过 Oracle 读取 BFILE 的内容(如果您愿意),也可以调用 DBMS_LOB 程序包中的函数和过程来获取有关文件的信息。 其是在数据库外面存储的可变二进制数据,其最多也可以存储4GB的数据。这里需要注意的是,在不同的操作系统上其存储的数据容量可能是不同的。这个数据类型的特殊在于其在数据库之外存储实际数据。也就是说,跟其他大对象数据类型不同,其数据并不是存储在数据文件中,而是独立于数据文件而存在的。在这个字段中,其只存储了指针信息。 32位oracle11g 安装在64位的server2008下需要做什么更改? Oracle别名使用问题 sqlldr 导入成功,但是数据库里没有值???在线等。。。 ORACLE存储过程 求 Sql 写法 in oracle, 急! 数据备份 Oracle数据库出错,大家来帮忙看看,指导一下怎么解决呀~~救命哟! 请问大家,在家自学oracle时都用哪个版本的怎样配置呢 问一个比较水的问题,ORACLE的全文检索如何做, 问一个SQL查询语句 如何利用oms进行数据的导入导出工作! oracle提示找不到被锁定用户怎么办?
TO LuiseRADL
因为文件数量比较多,如果存储在文件系统中不方便管理,而且数据容易丢失,存于数据库中可以充分发挥数据库的管理文件的功能。请问之前提的那种方法是否可行?
同时进行压缩存储,如果读图片不是很频繁的话
我的思路也差不多这样,单独表空间专门存储图片,就是图片比较大,压缩以后应该也会有10M以上,不知道现在通用的对大图片的存储方式是什么样的~
TO ystemni
把文件存数据库,一是可以保证文件的安全性,进入服务器但不进入数据库就查看不到文件;二是可以发挥oralce管理文件的功能,如果全部文件都放一个文件里,文件多得时候,访问起来速度就慢,效率就低。
使用BLOB数据类型,原数据库用于存放文字性数据库,图片保存于新的专门用于储存图片的表空间。
将底片的信息保存在原数据库中,并增加一个字段用于存储索引号,然后根据索引号把图片上传到新的表空间中,图片字段数据类型为BLOB,图片保存于新的数据库中。读取图片的时候,根据底片的信息查找到索引号,再根据索引号在新的表空间中查询图片并下载显示图片。优点:将整个图片库全部放到一个数据库一张表中,方便管理,成为一个整体。存储数据的数据库和存储图片的表空间分开,两者互不影响,备份和恢复数据都可以独立进行。检索信息的表很小,同时也让所有的相关信息都放入到了数据库中。能够直接从文件系统中访问原始文件,同时也可以使用 SQL 定位文件。缺点:两个表空间,图片和图片相关信息分开。需要通过某种机制来确保记录的一一对应,还需要让所有的修改、删除、添加操作都同时对两个表空间的表成功进行。注:BLOB 为二进制大对象,用于在数据库里存储大对象,如图像声音等文件。
文件存储在数据库里的,参与数据库的事务。使用 BFILE 类型时, INSERT 和 UPDATE 将该文件在数据库服务器(可能与 Web 服务器不在同一计算机上)的文件系统中的位置告知 Oracle,而不是传递文件内容。 使用 SELECT 语句,您可以通过 Oracle 读取 BFILE 的内容(如果您愿意),也可以调用 DBMS_LOB 程序包中的函数和过程来获取有关文件的信息。 其是在数据库外面存储的可变二进制数据,其最多也可以存储4GB的数据。这里需要注意的是,在不同的操作系统上其存储的数据容量可能是不同的。这个数据类型的特殊在于其在数据库之外存储实际数据。也就是说,跟其他大对象数据类型不同,其数据并不是存储在数据文件中,而是独立于数据文件而存在的。在这个字段中,其只存储了指针信息。