每天存储150万条数据,如何处理为好?? 20wyffyw2000]

发布时间:2016-12-9 14:05:06 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"每天存储150万条数据,如何处理为好?? 20wyffyw2000]",主要涉及到每天存储150万条数据,如何处理为好?? 20wyffyw2000]方面的内容,对于每天存储150万条数据,如何处理为好?? 20wyffyw2000]感兴趣的同学可以参考一下。

现在遇到一个比较头痛的问题:   现状:   SEVER端程序每天向 sql server 2000中存入大约1,500,000行记录,慢慢累计起来,一个月下来就会产生4500万条数据。   由于客户要求能查询两个月内的数据,那么我就需要保存最近两个月的数据量,大约9千万条数据。   sql server 2000 运行在一台 联想万全T168G4/T468G4 服务器    数据量太大了,操作起来遇到不少麻烦呀!    一:超过两个月的数据,就要移出来,存放到另外的地方去,可是始终没有想到比较妥善的方法     (1)有人建议每月建立一个表存储数据,如200704、200705、200706……,可是当为2007年的6月份时候,需要将200704月份的数据备份移出来,这个问题难倒了我呀,用作业的方法移动出来吗?  可是移动出来以后,还需要再备份它,而且如果某天想再查询200704月份的数据也会很麻烦的呀?      (2)有人建议多买几台服务器,建立分布式服务器,可是客户就那水平,不能要求他给那么多钱买那么好的服务器呀      希望兄弟们能帮一把,给提供些好建议

分区表应该会缓解一下你提到的那些问题。。。

创建多个文件组,

分区表,? 创建多个文件组? 希望能多一些解释呀! 我自己也先去查查这两个名词的涵义

Oracle 中好象有分区 sql server 的怎么用? ORACLE的分区(Partitioning Option)是一种处理超大型表的技术。分区是一种“分而治之”的技术,通过将大表和索引分成可以管理的小块,从而避免了对每个表作为一个大的、单独的对象进行管理,为大量数据提供了可伸缩的性能。分区通过将操作分配给更小的存储单元,减少了需要进行管理操作的时间,并通过增强的并行处理提高了性能,通过屏蔽故障数据的分区,还增加了可用性。 使用分区可以有如下优点:  增强可用性:如果表的某个分区出现故障,表在其他分区的数据仍然可用;  维护方便:如果表的某个分区出现故障,需要修复数据,只修复该分区即可;  均衡I/O:可以把不同的分区映射到磁盘以平衡I/O,改善整个系统性能;  改善查询性能:对分区对象的查询可以仅搜索自己关心的分区,提高检索速度。 ORACLE的分区表的划分方法包括:按字段值进行划分的范围分区;按字段的HASH函数值进行的划分HASH分区;先按范围划分,再按HASH划分的复合分区;在ORACLE9i中又增强了按字段值列表进行划分的列表(Listing)分区方法。

其实,现在主要的问题是  怎么样将超过两个月的数据备份出来,,而且在需要查询的时候,还能通过程序快速的导入,查询出来

只能用多个服务器进行分布式处理咯。

那光买服务器,就的10万大洋呀

多个服务器??? 晕! 自己写存储过程,绝对能解决问题! 现状表,总是存储最近2个月的数据 1个月后,用作业调用你的存储过程,清除上个月的数据,并写到历史表里面去。

每天产生150万条数据,,想想吧,,sqlserver 每秒钟都在工作着,,还有程序软件也在疲劳的工作着,,,若果你定义作业,,,清除一个月的数据4500万条数据,,肯定cpu 耗费很大,需要的时间也可能不短,,,,,,       那个,,       能抗的住吗?

(1)有人建议每月建立一个表存储数据,如200704、200705、200706……,可是当为2007年的6月份时候,需要将200704月份的数据备份移出来,这个问题难倒了我呀,用作业的方法移动出来吗?  可是移动出来以后,还需要再备份它,而且如果某天想再查询200704月份的数据也会很麻烦的呀? 我感觉这个方法不错,因为1个月一个表你的备份库里可以无限的撑表不用删,而主库的只要每个月删个表就行,如果要查老数据,连接备份库,查询对应表,因为备份库系统平时没压力,只要配置不是差太多,而已承受次这样的查询应该没问题。 并且感觉这样也解决了你主数据库的量。

数据可以用导出的方式做。sql里自带的,前提是你的备份库服务器能连接到你的主服务器。或者用你的数据备份(主服务器的数据应该做日备的吧。)复制份到备用库服务器,建个临时表,用来用主服务器的备份数据还原,然后把需要倒的表倒到备份库里就行了,尽量减少主服务器的负担。

感谢LIVE2k …… 征求其他意见……

我每天保存的数据比你还多;每天要写入18,000,000条记录;我用的是SQL2005 使用分区表技术;数据分别存到几硬盘上,一年清理一次行了!有什么要交流的,联系我Q:5251798

太好了, lzbgis()  老大,我这就加你为好友,

我有个疑问,就是将sql 数据保存到数据库里的速度是不是受硬盘写速度的影响(毕竟sqlserver也是最终将数据写到硬盘上了)??  如果我使用raid1 0的话,,sql server的保存速度是否会提高将近一倍的速度呢??

使用分区表可以的 建立多个文件组,按月分区,可以一个月的存储一个文件 具体方法 Create Partition Function创建分区函数 Create Partition Scheme创建分区方案 然后在分区上建表 Create Table 表名 ( ……………… )on 分区方案 具体去看一下帮助文档,不太难弄的

关于分区,,我昨天去图书馆查了sql server 2005 ,与libb00说的一样.等以后换了2005 后的好好测试下,, 我现在有点不明白的,就是如果分区的话,肯定是建立两个以上的数据库服务器了.  应用程序服务器上的程序要将待保存的数据存放到 数据库服务器上吧,它是怎么存放的呢?DatabaseEngine=Provider=SQLOLEDB.1;Password=wang;Persist Security Info=True;User ID=sa;Initial Catalog=GPSBase;Data Source=192.168.0.55是在如DatabaseEngine里的那样,要保存到哪个服务器上,就把data source=IP 那里换成为那台机器的内网IP地址吗??    我在想,通过这样的方法,,带宽会不会成为 存储速度的瓶颈呢??       一般有几台数据库服务器的大型网络是以什么方式组网的呢?  用交换机 还是路由器呢? 实在不好意思,迷惑的问题太多,实在是因为这样大型的工程没太接触过!

我希望请教问题时不光自己受益,不管是来回答问题的与否,都能从我所询问的帖子里得到和领悟点什么(当然高高手们除外,)所以问答间难免有写罗嗦 ,还望大家谅解

两台服务器在一个局域网内的话带宽不会成为瓶颈 就算是百兆网卡,用到8%-10%,一秒也是很大的数据量了

好!   好帖!   很好帖!   确实好帖!   少见的好帖!   真他妈的好帖!   难得一见的好帖!   千年等一回的好帖!   好得不能再好的好帖!   惊天地且泣鬼神的好帖!   让人阅毕击掌三叹的好帖!   让人佩服得五体投地的好帖!   让人奔走相告曰须阅读的好帖!   让楼主看后决定加精固顶的好帖!   让人看后在各论坛纷纷转贴的好帖!   让人看后连成人网站都没兴趣的好帖!   让人看完后就要往上顶往死里顶的好帖!   让人看后不断在各种场合重复引用的好帖!   让人一见面就问你看过某某好帖没有的好帖!   让人半夜上厕所都要打开电脑再看一遍的好帖!   让人读过后都下载在硬盘里详细研究欣赏的好帖!   让人走路吃饭睡觉干什么事连做梦都梦到它的好帖!   让人翻译成36种不同外语流传国内外世界各地的好帖!   让人纷纷提倡过年过节不送礼要送就送某某帖子的好帖!   让国家领导人命令将该帖刻在纯金版上当国礼送人的好帖!   让网络上纷纷冒出该帖的卡通版漫画版搞笑版夸张版的好帖!   让人在公共厕所里不再乱涂乱化而是纷纷对它引经据典的好帖!   让某些想成名的人向网络宣传他与该帖作者1024代同祖先的好帖!   让人根据它写成小说又被不同导演拍成48个不同版本的电影的好帖!   让某名导演跟据此帖改拍的电影在奥斯卡上一连拿了11个奖项的好帖!   让人大代表们看完后联名要求根据该帖的内容对宪法做适当修改的好帖!   让人为了谁是它的原始作者纷纷地闹上法院打官司要争得它的版权的好帖!   让各大学府纷纷邀请该帖作者去就如何发表优秀网络文学为题目演讲的好帖!   让人为了该帖而成立了各种学会来研究并为不同的理解争得眼红脖子粗的好帖!   让美国警察于今后逮捕人说你有权保持沉默还有权阅读某某帖子要不要啊的好帖!   让本拉登躲在山洞里还命令他手下冒着被美军发现的危险去上网下载来阅读的好帖!   让萨达姆被捕时被发现他随身携带的除了一把手枪之外还有的就是它的复印件的好帖!   让比尔盖茨在懂事会上发给与会者人手一份该帖命令仔细阅读后才讨论其他事宜的好帖!   让诺贝儿奖理事会破天荒地因该帖的出现而开会讨论一直决定今后设立最佳帖子奖的好帖!   让联合国安理会决定将它译成宇宙语由中国神州六号升空后不断播放看有没有外星人的好帖!   让人看完后IE锁死连瑞星诺顿都没法修复只好格式化硬盘重装启动后主页看到的还是它的好贴!   让某人稍对本帖加以修改制成专题网页不出一天点击率超过搜狐新浪网易所有之历史总合的好贴!   让全世界网民一上网就只欣赏这张帖子因特网其他网页几近瘫痪某大侠提出查封立即被群殴的好贴!   让全宇宙时空混乱各星球外星人收到讯息后为抢先来地球欣赏这张帖子展开宇宙大战同归于尽的好贴!!!

不如把原先的表分成 2个表就行了 第一个表是2个月以前的数据 第二个表是2个月以内的数据 当有新的数据插入第二个表的时候 用触发器把第二个表2个月以前的数据移动到第一个表

分区表应该可以,如果不行,可以写存储过程转存

ayalicer(小刀惋心) :  你是把第一个表当仓库来用了?  你总是先存入第二个表,再移入第一个表,不过这样一件事情总要做两遍,我最担心浪费系统资源了,就如我的钱包。 xx_adam(一无所有) : 写存储过程转存 ,和上同是一问题 

我的 联想万全T168G4/T468G4 服务器  是双核,  应用程序最好的多线程才能发挥它的作用吧,可是我的程序确是单线程的,问下:“如果我将我的程序里的某个事件处理过程的A、B、C、D步骤,分成为P1,P2两个程序来处理,P1程序处理A、B步骤, P2程序处理C、D步骤,,,,,现在想问下,我这样是否相当于多线程处理了呢??”

一个月建一个数据库行吗? 就比如财务软件一个月建一个帐套一样.(一般是一年一个) 看以前的数据,就登录到以前月份的帐套,一年之后,作出备份,分离数据库,一个服务器存一年的数据没问题吧. 而且一年分成12个数据库,也比较清析.

呵呵,,hui_hui_2007(天行健)的方法   好一些。   我现在也是这样做的,,,主要是备份的时候好处理些 不过我一直是用两个数据库就行了,一个主,一个副

谁能帮解答下  我那双核 ,多线程问题(向上三层楼)

楼上hui_hui_2007(天行健) 说的有道理:一个月建一个数据库。 如果楼主不愿意这样做的话,还有一个办法:如果你客户不需要查明细数据,只要汇总结果的话,你可以将这么多的数据分类汇总。把汇总后的数据作为一条或多条数据插入到原数据表,然后删除汇总前的数据。这样的话数据结果是准确的,数据量也会大幅减小。

abcdefgdeng(dqx) : 我需要原始数据

可以考虑在你的SERVER程序里面加一个线程,定义成空闲时运行,执行数据分离的工作。 这样起码能够充分利用硬件资源,既然硬件增加不了,就只有拼命压榨了。

定义成空闲时运行,,这个地方怎么写程序?

两个库,工作库,备份库, 插入数据时同时向两个库插入。 工作库每月清理超过两月的数据, 根据查询时间,决定查工作库还是备份库。

swans(swan.net)   ,的方法太罗嗦,,且会加中服务器的负担,,每天1500000条数据了,你这样就会执行300 0000次保存数据库了,,,\\ 我现在主要是  双核 cpu 的问题,如何发挥作用

非多线程 .... 双核  的价值如何体现? 我一直没搞明白

回复人:wyffyw2000(网事如峰) ( 一级(初级)) 信誉:100  2007-06-09 08:11:59  得分:0 定义成空闲时运行,,这个地方怎么写程序? WIN API: SetThreadPriority The SetThreadPriority function sets the priority value for the specified thread. This value, together with the priority class of the thread's process, determines the thread's base priority level. BOOL SetThreadPriority(   HANDLE hThread,   int nPriority );

一个程序至少有一个进程,一个进程至少有一个线程

结贴,不好意思,分不多呀

上一篇:sql server中的锁/进程ID,发现有死锁后,是否可以直接取消那些阻塞的进程 20lazymale_1981]
下一篇:SSIS 如何实现动态的SQL 100tom_cat007]

相关文章

相关评论