关于Oracle存储大量二进制数据的问题,

kulukyo 2003-09-14 07:58:19
把大量较大的二进制数据(比如图像)存储在数据库中,怎么做比较合适?
1.存储在Blob中(会不会对数据库的效率影响很大?)
2.图像存储在文件中,在数据库中存储文件名(这样就失去了数据库的安全性的优势!)

对这个问题一直没有搞清楚,希望各位高手给点建议!!!!!!!


...全文
124 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
l2g32003 2003-09-14
  • 打赏
  • 举报
回复
Blob中 oracle 方便管理
ORACLE7.X以来引入了共享SQL和多线索服务器体系结构。这减少了ORACLE的资源占用,并增强了ORACLE的能力,使之在低档软硬件平台上用较少的资源就可以支持更多的用户,而在高档平台上可以支持成百上千个用户。   * 提供了基于角色(ROLE)分工的安全保密管理。在数据库管理功能、完整性检查、安全性、一致性方面都有良好的表现。   * 支持大量多媒体数据,如二进制图形、声音、动画以及多维数据结构等。   * 提供了与第三代高级语言的接口软件PRO*系列,能在C,C++等主语言中嵌入SQL语句及过程化(PL/SQL)语句,对数据库中的数据进行操纵。加上它有许多优秀的前台开发工具如 POWER BUILD、SQL*FORMS、VISIA BASIC 等,可以快速开发生成基于客户端PC 平台的应用程序,并具有良好的移植性。   * 提供了新的分布式数据库能力。可通过网络较方便地读写远端数据库里的数据,并有对称复制的技术。   Oracle也许是最流行的服务器,占有最大的市场份额,它被广泛用于各个市场领域,满足一系列的存储需求,例如财务记录,人力资源及订单编制等,造成这种现象的原因之一在于Oracle较早的进入RDBMS(关系型数据库管理系统)领域,并且提供可运行于大多数操作系统上的数据库版本,虽然Orcle的首选操作系统似乎正由Solaris转为Linux,但是 Oracle仍然在进行与其他操作系统的兼容工作,尽管Oracle经常在Unix或是Linux平台上运行,但是也有大量Oracle在HP-UX和 AIX上运行,随着几年前电子商务的激增,将会驱使Oracle成为WEB应用所需数据库的选择,这使数据库更容易受攻击者的控制。事实上,一旦 Oracle从后台进入前端,那么人们会更多地关注它的安全方面。
空间数据库管理系统 空间数据库管理系统 本节 内容 文件与关系数据库混合管理 5.4.1 全关系型空间数据库管理 5.4.2 对象关系数据库管理 5.4.3 面向对象空间数据库管理 5.4.4 空间数据管理 5.4 文件与关系数据库混合管理 5.4.1 OID OID 空间数据库的管理模式 混合管理基本思想 1 第一阶段: 两个子系统分别存储和检索空间数据与属性数据 属性数据存储在商用的RDBMS中 几何数据存储在文件系统中 两个子系统间用标识符联系起来(关键字) 原因: 早期的数据库管理系统不提供编程的高级语言的接口,只能采 用数据库操纵语言 要同时启动两个系统(GIS图形系统和关系数据库管理系统), 甚至两个系统来回切换,使用起来很不方便 —§ˇ ¶+˛ ygd3076¿… ˚`ˇ» ¢–¤£" ˇ £¤Œ˘£' 混合管理基本思想 1 第二阶段:混合处理模式 没有ODBC(开放性数据库连接协议): 每个数据库厂商提供一套自己的与高级语言的接口程序 GIS软件商针对每个数据库开发一套与GIS的接口程序 ODBC: GIS软件商只要开发GIS与 ODBC的接口软件,就可 以将属性数据与任何一个 支持ODBC协议的关系数 据库管理系统连接 无论是通过C++还是 ODBC与关系数据库连接, GIS用户都是在一个界面 下处理图形和属性数据 常见的软件 2 常见软件: Arc/INFO MapInfo MicroStation 混合管理模式的特点 3 由于空间数据和属性数据分开存储,在表现地理空间数据方 面缺乏完整的表达语义和存储机制 难于保证数据存储、操作的统一 系统切换、使用不方便 在数据的安全性、一致性、完整性、并发控制以及数据损坏 后的恢复方面缺少基本功能 全关系型空间数据库管理 5.4.2 全关系型空间数据库管理基本思想 1 图形数据和属性数据都采用关系数据管理系统管理, 即使用同一DBMS管理 扩展结构管理模式 在标准的关系数据库上增加空间数据管理层 利用该层将结构查询语言(GeoSQL)转化成标准的SQL查询 借助索引数据的辅助关系实施空间索引操作 全关系型管理分类 2 (1)基于关系模型方式: 图形数据都按照关系数据模型组织 涉及一系列关系连接运算,相当费时 处理空间目标效率不高 示例: 为了显示一个多边形,需要找出组成多边形的采样点坐标,要 涉及到4个关系表,作多次连接投影运算 全关系型管理分类 2 //找出多边形的采样点 //P多边形,E多边形-边,N边-结点,C结点坐标 全关系型管理分类 2 (2)Blob字段: 将图形数据的变长部分处理成二进制块BLOB字段 大部分关系数据库管理系统都提供了二进制块的字段域 基本思想: 省去了前面所述的大量关系连接操作 二进制块的读写效率要比定长的属性字段慢得多,特别是涉及对象 的嵌套时,速度更慢 特点: 空间数据库引擎 3 SDE(Spatial Database Engine): 建立在现有关系数据库基础上 介于GIS应用程序和空间数据库间的中间件,为用户提供访问空间数 据库的统一接口 SDE引擎本身不具有存储功能,只提供和底层存储数据库之间访问 的标准接口 SDE屏蔽了不同底层数据库的差异,建立了上层抽象数据模型到底 层数据库之间的数据映射关系 空间数据库引擎 3 SDE(Spatial Database Engine): 空间数据库引擎支持矢量和栅格数据在关系数据库中的存储 例如: ArcGIS的ArcSDE 对象关系数据库管理 5.4.3 对象关系数据库管理基本思想 1 对传统的关系数据库进行扩展,使之能够直接存储 和管理非结构化的空间数据 空间扩展完全包含在DBMS中 —§ˇ ¶+˛ ygd3076¿… ˚`ˇ» ¢–¤£" ˇ £¤Œ˘£' 常见的软件应用 2 代表性软件: Oracle Ingress Informix 空间数据管理专用模块定义操作点、线、面等空间对象的API函数 Oracle Spatial中矢量数据存储 Oracle Spatial: 矢量数据管理: 对矢量数据采用分层存储 的方案——关系表 SDO_GEOMETRY对象类型 每个图层再被分解为若干 几何实体——每一行记录 几何实体又被分解成点、 线、面等基本元素 Oracle中的栅格数据存储 GeoRaster 存储、索引、查询、分析空间GeoRaster栅格数据 提供了类似Oracle Spatial 的数据类型和一个对象关系模式 存储多维的网格化数据和栅格层 栅格数据拥有空间参考信息 进行空间检索 对象关系数据库管理特点 3 解决了空间数据的变长记录管理问题,由数据库软 件商扩展,效率比自行采用二进制块的方式高 对空间对象的数据结构进行预先的定义,用户不能 再定义,使用受到限制 对象之间

17,078

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧