社区
Oracle 高级技术
帖子详情
富有挑战性的问题,建立超大数据库的问题.
haiwangstar
2007-03-28 09:32:11
现在要设计一个记录数非常大的数据库表,表的结构非常简单,但记录数会非常大,可能会有几十亿条,但表的字段只包括几个数字列,再有一个列用来保存图片,我现在准备采用BFILE类型来把图片路径保存在表中,另外表会根据某个列数据进行分区.
在设计这样的大表还应该注意哪些问题..欢迎大家赐教.
凡提出较好意见的,可以另行开贴再加分.
...全文
2593
41
打赏
收藏
富有挑战性的问题,建立超大数据库的问题.
现在要设计一个记录数非常大的数据库表,表的结构非常简单,但记录数会非常大,可能会有几十亿条,但表的字段只包括几个数字列,再有一个列用来保存图片,我现在准备采用BFILE类型来把图片路径保存在表中,另外表会根据某个列数据进行分区. 在设计这样的大表还应该注意哪些问题..欢迎大家赐教. 凡提出较好意见的,可以另行开贴再加分.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
41 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
runer
2008-10-20
打赏
举报
回复
不错
hrui99
2007-04-06
打赏
举报
回复
skystar99047(天星
分区数目可以考虑增大。
每个区的表空间可以考虑放在不同的物理空间上。
分区索引是必须的。如果增删改频率较低,查询较多,可以考虑位图索引。
如果图片保存在表中,需要考虑将该字段的存储放在另一单独的物理空间上。
同意上面描述。补充SELECT 描述考虑加入HINTS 描述
--并行处理
如:select /*+ parallel(tab,处理器个数) */
huylghost
2007-04-05
打赏
举报
回复
进来学习一下
flyycyu
2007-03-31
打赏
举报
回复
再说下io均衡问题,我只是说下实际部署中碰到的问题,因为这个只有具体问题具体分析,一个是磁盘的io,因为在设计TABLESPACE时候,你已经有意识的根据业务划分到不同的磁盘块上面了,我当时在测试上碰到的问题就是对回滚段的资源占用也很大,后来回滚的表空间分到5个磁盘上去了,性能马上就好了上来。
另外一个是网络io,我看你提的是网络io,而不是磁盘io,不清楚你的这个网络io指得是客户请求到web服务器,还是web服务器到数据库服务器!因为我们业务的关系,oracle没有架集群,当然也是还用不到那功能,所以没有参考意见,至于web请求这块,我觉得解决这个方案应该很多吧?比如我们,最后是按照业务模块来划分的多台web服务器.当然我们系统特定和你的可能有一定程度类似,就是大部分时间主要是查询。
flyycyu
2007-03-31
打赏
举报
回复
对,san,光纤网络,客户有钱,而且事情又重要。
装入数据的要求是我们数据是批量装入的,一年集中在1,2个时间点,平时就是查询,而装入数据时候,系统上会有几十个并发解析10万-30万之间的数据包。
至于BFILE问题,我只是建议,也可能是自己学艺不精,因为我的数据文件一般在10m以上,所以在上亿后,存库老是出些莫名其妙的问题,所以最后干脆就存外部文件,至少在过程上,你少了一道由web服务器把数据包发包到数据库服务器的过程。
还有io均衡这些问题,我觉得一是自己调很难,加大难度和时间,也未必出来后最优,还不如利用硬件设备,还有像10g里面的ASM。我们的数据量像上面所说,在ibm 570,8cpu,32g内存下,并发解析数据包到40,50都没问题,时间在50秒以内都能完成10万数据装入,而查询这些就更不用说了,压力测试上800都没问题,当然这是非集群环境,当然你的具体业务还是由你分析,这些只是建议
flyycyu
2007-03-30
打赏
举报
回复
另外,如果可能的话,用BFILE,还 不如系统放在文件系统上,而数据库只做连接,当然这个看你,用jdbc插入当然会比直接拷贝文件系统慢.不过可能管理上带来方便性.另外io均衡问题你不用考虑,在建立数据库时候,这个表,或者是数据文件直接写文件系统的话,你把表空间或者文件系统挂在裸设备上,而不要用本地文件系统,系统会自动给你处理均衡问题的!
flyycyu
2007-03-30
打赏
举报
回复
目前正做完这么一个系统,和你的类似,数据大概是是每个表9亿左右,但是有6,7个表都是这么大数据量,一个表的字段大概有50,60个,主要都是float.
不知道你的数据是怎么进入的,我们系统对数据的装入也是有要求的.
第一,个就是分表操作,在以前用infomix之类的系统的开发都采用,我在做我们系统的时候第一个方案设计出来的就是分表,当然带来的问题是维护问题,系统中上万个表,基本上图形控制台是打不开,所以最好的方式是分表+分区,oracle专家也是这么建议的!
第二,簇索引我没有怎么用过,但是如果你经常3个组合查,就建复合索引,或者在类别上建建BITMAP索引,对x,y建复合索引,另外,我觉得呢,如果按我们现在开发系统的经验来说,你应该把类别做为分表,这样在类别上就不存在建立索引问题,而对x,y,按某种方式在表内进行分区
gameboy999
2007-03-30
打赏
举报
回复
同意楼上,地图数据自己的特点,不一定需要通用的数据库
asker100
2007-03-30
打赏
举报
回复
这种情况就不要用数据库了,直接的文件存储+优化的索引,要看穿数据库这种东西
haiwangstar
2007-03-30
打赏
举报
回复
我们系统对数据的装入也是有要求的.
朋友这句话是怎么讲.能说一下吗
haiwangstar
2007-03-30
打赏
举报
回复
另外还有一个问题,就是flyycyu(fly) 这位朋友 你们是使用SAN存储设备的吗,光纤网络? 这套系统是不是非常昂贵? 即使不是,我想也一定是共享统一存储器吧.
haiwangstar
2007-03-30
打赏
举报
回复
flyycyu(fly) 这位朋友,非常感谢您的意见!!
我过去从来没有搞过这么大的数据库系统,所以我上面所讲述的一切都只是纸上谈兵.但我的思路,设想几乎同你都是一致的.关于是否用BFILE的问题,这个也是一个不大关乎全局的小问题.
我只所以特意问会不会有IO不均衡问题,是因为我的同事认为我们这样的方案是不行的,IO会不均衡(他认为还有很多问题).而我认为是绝对不会出现这种情况的,因为ORACLE在设计中他不可能不考虑这样显而易见的问题,我也查了资料,在ORACLE集群中,网络负荷也是存在ORACLE负荷均衡的.
看来这样的方案才是经实践检验过的可行的.
wuluhua2003
2007-03-30
打赏
举报
回复
学习了
whalefish2001
2007-03-29
打赏
举报
回复
索引是必要的,不过,索引会占用很大空间。
lin_style
2007-03-29
打赏
举报
回复
这样子的话。
扩充什么就不要考虑了。
设计个最适合查询的。
haiwangstar
2007-03-29
打赏
举报
回复
楼上的朋友,没错.就是做EARTH MAP
huylghost
2007-03-29
打赏
举报
回复
几十亿条, level ,x,y,图片,
google earth 是不是就是这么做的?
renjun24
2007-03-29
打赏
举报
回复
up
kkk_visual
2007-03-29
打赏
举报
回复
帮顶一下。
i_love_pc
2007-03-29
打赏
举报
回复
几十亿条
========
的确有点多
加载更多回复(19)
进存销
数据库
设计.doc
企业面临着前所未有的机遇和挑战 ,在如此激变的社会形势和激烈的市场竞争下,愈来愈多的企业管理者意识到效率管理 和科学管理的重要性,以及增强市场竞争力的迫切性,因此
建立
科学、规范、高效的管 理制度和秉承...
JAVA基于遗传算法的中药药对挖掘系统的设计与实现.rar
基于遗传算法的中药药对挖掘系统的设计与实现是一个复杂而
富有
挑战性
的任务。在这样一个系统中,我们需要考虑到中药药对的复杂性和多样性,以及遗传算法在搜索和优化中的有效性。 首先,系统的设计需要包括以下几个...
HTML5开发视频:Node.js基础与实战
课程介绍: Node.js的推出,不仅从工程化的角度自动化掉更多琐碎费时的工作,更打破了前端后端的语言边界,让JavaScript... 本系列教程旨在引导前端开发工程师,以及Node.js初学者走进这个活泼而有
富有
生命力的新世界。
数字化转型下
数据库
面临的12个挑战
数字化及数字化转型,是近些年来非常火热的话题。本文将从这一角度切入,谈谈数字化场景下对
数据库
发展趋势带来的影响。1. 数据、数字化、数字化转型数据,是数字化实现的新引擎。数据是企业开展数字...
浅析传统关系
数据库
面临大数据的挑战
文章讲的是浅析传统关系
数据库
面临大数据的挑战,什么是大数据?多大的数据量可以称为大数据?不同的年代有不同的答案。20世纪80年代早期,大数据指的是数据量大到需要存储在数千万个磁带中的数据;20世纪90年代,...
Oracle 高级技术
3,491
社区成员
18,714
社区内容
发帖
与我相关
我的任务
Oracle 高级技术
Oracle 高级技术相关讨论专区
复制链接
扫一扫
分享
社区描述
Oracle 高级技术相关讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章