高分请教 海量数据库需要特别注意哪些方面

christ2 2008-10-08 02:06:42
和朋友接了个CASE,数据量比较大,想先了解一下,希望大家能提供帮助。
...全文
123 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
christ2 2008-10-23
  • 打赏
  • 举报
回复
忘了结贴,真是减人品。
zhengweitao 2008-10-08
  • 打赏
  • 举报
回复
跟着学习
yaokai0405 2008-10-08
  • 打赏
  • 举报
回复
学习
qinhl99 2008-10-08
  • 打赏
  • 举报
回复
分区是必要的
但对于数量量很大时,要设计好业务,必要时要限制需求!
qinhl99 2008-10-08
  • 打赏
  • 举报
回复
学习!
  • 打赏
  • 举报
回复
如果不是SQL Server,原理类似。

当然,还要明白什么才算是“海量数据库”。现在这个年代,100G也许不算是一个海量的数据库,可以用常规的索引、(异步)触发器(统计快照)等设计方式来优化。
  • 打赏
  • 举报
回复
MS SQL Server之所以多年来比Oracle看起来在处理事务事慢,其中一个原因就是SQL Server基于更严格的默认加锁策略。在SQL Server2005中提供了“静态快照”方法,可以让整个数据库默认地转变为这种加锁方式(尽管msdn上说静态快照这样并不快,但是我想这是视角与一般开发人员的理解稍有些不同)。

当然,在SQL Server2000甚至更早,许多人就知道查询时要使用“With Nolock”修饰。不过这其实不能像静态快照那样保证一个事务中查询数据前后一致。

第二点,如果数据确实很大,应该使用分区操作。SQL Server很早就支持自动分区操作。只要在表中设置好分区,在一个SQL中对整体数据操作可以自动分布到不同的分区表中并行执行。
zjysky 2008-10-08
  • 打赏
  • 举报
回复
学习了
我最近也在关注这个问题。数据库设计和数据存取设计都是大问题
tm62490309 2008-10-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 POPO_POPO 的回复:]
海量数据库 的 最大瓶颈在 数据查询上
如何才能快速找到需要的数据才是真正需要思考的。
我们开发式对于海量数据库一般是这么来处理的:
一个数据库负责添加数据
一个数据库负责数据查询
在适当的时间,将第一个数据库中的数据放入第二个数据库。
这就是一个基本的分布式数据库雏形了,其中还有数据库的优化。这个可以单独开一门学科了。
[/Quote]

支持
学习
zhangxuyu1118 2008-10-08
  • 打赏
  • 举报
回复
熟悉业务,设计良好的索引;
注意服务器的CPU消耗;
做压力测试。
zhangxuyu1118 2008-10-08
  • 打赏
  • 举报
回复
熟悉业务,设计良好的索引;
注意服务器的CPU消耗;
做压力测试。
Verkkars 2008-10-08
  • 打赏
  • 举报
回复
在对海量数据进行查询处理过程中,查询的SQL语句的性能对查询效率的影响是非常大的,编写高效优良的SQL脚本和存储过程是数据库工作人员的职责,也是检验数据库工作人员水平的一个标准,在对SQL语句的编写过程中,例如减少关联,少用或不用游标,设计好高效的数据库表结构等都十分必要。
Verkkars 2008-10-08
  • 打赏
  • 举报
回复
数据量增加时,处理中要考虑提前汇总。这样做的目的是化整为零,大表变小表,分块处理完成后,再利用一定的规则进行合并,处理过程中的临时表的使用和中间结果的保存都非常重要,如果对于超海量的数据,大表处理不了,只能拆分为多个小表。如果处理过程中需要多步汇总操作,可按汇总步骤一步步来,不要一条语句完成,一口气吃掉一个胖子。
Verkkars 2008-10-08
  • 打赏
  • 举报
回复
海量数据处理难因为数据量大,那么解决海量数据处理难的问题其中一个技巧是减少数据量。可以对海量数据分批处理,然后处理后的数据再进行合并操作,这样逐个击破,有利于小数据量的处理,不至于面对大数据量带来的问题,不过这种方法也要因时因势进行,如果不允许拆分数据,还需要另想办法。不过一般的数据按天、按月、按年等存储的,都可以采用先分后合的方法,对数据进行分开处理。
POPO_POPO 2008-10-08
  • 打赏
  • 举报
回复
海量数据库 的 最大瓶颈在 数据查询上
如何才能快速找到需要的数据才是真正需要思考的。
我们开发式对于海量数据库一般是这么来处理的:
一个数据库负责添加数据
一个数据库负责数据查询
在适当的时间,将第一个数据库中的数据放入第二个数据库。
这就是一个基本的分布式数据库雏形了,其中还有数据库的优化。这个可以单独开一门学科了。

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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