请教4400万条数据(40GB)的存储方案!!!

FY2693 2005-07-05 03:08:49
请教4400万条数据(40GB)的存储方案!!!
如何规划和设计,请大虾们给点建议,谢了先!!!
...全文
448 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
microd 2005-07-13
  • 打赏
  • 举报
回复
要上的,sqlserver 能搞到4400W 吗?不知sql2005 行不,sql 2k 是不行的。
heyixiang 2005-07-13
  • 打赏
  • 举报
回复
用SqlServer罗 :)
bill 会帮你的


汗一个-_!!
Michealtom 2005-07-13
  • 打赏
  • 举报
回复
这么大的数据放在一个表里,肯定要分区,并且根据表中选择合适的的字段进行分区,我们作的项目有些表中数据的条数比你说的还多,但占的空间不大,我想只要分区合理,并且合理的创建索引,问题能够解决。
fangyu82528 2005-07-13
  • 打赏
  • 举报
回复
不知道你公司买来的数据结构是什么样的
看看某个字段有没有规律,可以创建成纬度表,再让大表与这个或几个纬度表关联,这样会比查询整个的大表速度要快
还可以创建索引,因为你的表里是有数的,在第一次创建索引的时候会慢些,需要一行一行的去创建,跟你的硬件还是有很大关系的,好在创建索引是一劳永逸的(相对而言^_^),但是要注意的是,查询数据时的SQL语句要有效的利用这个索引,否则也是白创建了,并且在查询数据时需要计算,那么也有可能会避开索引,所索引失去效果
分区的确会提高数据检索的速度,但是需要看你实际数据的结构啦 ^_^
FY2693 2005-07-13
  • 打赏
  • 举报
回复
多谢楼上的各位大虾了。
硬件条件是差点,但该做的工作还是要做的,这也是没有办法的事情,得糊口啊。
这4400W条数据是公司买来的。主要用于查询及提取其中的某些数据。不会用于其它用途了。我现在将其分成十多个表,每个表里几百万条数据,这样可以吗?
guoyiqian1 2005-07-11
  • 打赏
  • 举报
回复
若该表历史数据不会变动,或者只是往里面新增。凭我的经验建议如下:

1、首先,该表应该分为两个表,一个是当前表,一个是历史表。当前表保留1-2天的数据(依实际业务和数据量而定),做个后台程序,定期将1-2天前的数据转储到历史表中。
2、历史表做成分区表,按什么分区,依据实际业务具体分析,但肯定要分区存储。
3、当前表和历史表征对操作的不同,建立不同的索引。
4、若要经常对4400万数据进行统计汇总,则最好再增加汇总表。

xbm2008 2005-07-10
  • 打赏
  • 举报
回复
oltp 和olap 差别很大的,必须说明清楚
最起码,这些数据平时打算怎么维护也要交待一下呀
aceplus 2005-07-10
  • 打赏
  • 举报
回复
关键看你怎么用啊?你的配置确实是差了一点;

最好是分表+分区--访问程序会稍微复杂一点。

你提供的信息太少,别人怎么给你方案呢?怕泄漏商业秘密,只好自己折腾咯:-)
anhuachina 2005-07-09
  • 打赏
  • 举报
回复
数据如此之大,是否知道有一款来自美国的‘硬盘拷贝机’用于定时备份,有一款硬盘‘写保护接口’用于保护硬盘数据!
www.logicube.cn
iihero_ 2005-07-09
  • 打赏
  • 举报
回复
如果是操作型数据(oltp)的话,用一张表不及妥当。估计你是用来做数据仓库的吧
那样的话,最好硬件有保障。采用分区表几乎是必须的。
tyrone98 2005-07-08
  • 打赏
  • 举报
回复
机器要好一点,硬盘要多一点,CPU多一点,才会快一点,不过在这么做都不会快
smartcreater 2005-07-08
  • 打赏
  • 举报
回复
用SqlServer罗 :)
bill 会帮你的
andzen 2005-07-08
  • 打赏
  • 举报
回复
首先你的机器太差了,是pc机吧,
是IDE的硬盘吧
,再怎么做,效果都不会好,
你想想40g数据,X86,IDE存储肯定不行的,
优化方法是建立在一定的硬件基础上的,
--------------------------------------------------------
现在的硬件条件是 : CPU 2.4GHz, Memory 1G, HD 160GB,
「已注销」 2005-07-07
  • 打赏
  • 举报
回复
分区利于查找
js_nicle 2005-07-07
  • 打赏
  • 举报
回复
分区存储,检索的时候速度会快一些

可以分区放在不同的表空间中。
formatting 2005-07-07
  • 打赏
  • 举报
回复
4400万条数据,放在一个表里??
这是什么设计阿
rolandzhang 2005-07-07
  • 打赏
  • 举报
回复
分析你的是数据特点。
可以考虑的分区方案四种:range partition、hash partition、list partition、composite partition
索引方案:b-tree index、bitmap index、unique index等等。
比如,数据是有关全国各分公司的按时间段的统计信息
可以存到一个range partition表中,再建立b-tree索引。
子陌红尘 2005-07-05
  • 打赏
  • 举报
回复
可以根据具体情况取一个列作为分区列,比如时间、地区等等。
Tongls 2005-07-05
  • 打赏
  • 举报
回复
你要按什么样的数据进行分区,时间??还是别的东西!!分多少个区好一点呢? 12个??等等

这些都是进行分区需要考虑的,还有数据还会增加吗? 以及数据增加如何处理?
FY2693 2005-07-05
  • 打赏
  • 举报
回复
目前这批数据存储在光盘中,为了便于检索和数据的提取,需要导入到数据库系统中。
现在的硬件条件是 : CPU 2.4GHz, Memory 1G, HD 160GB,
准备使用Oracle存放数据
那在设计上该如何把握?
尽量使检索的速度快,提取数据时简单快捷

这么大的数据量可否存放在一个表里(为了查询/开发时的方便),如果可以如何设计,对于备份有没有影响呢
加载更多回复(1)

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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