日期:2014-05-17  浏览次数:20381 次

讨论一下海量数据库系统的设计与开发
一直以来开发的系统从没讨论过有千万条记录的海量数据的设计,总感觉是在小打小闹。
所以也一直想不明白,使用.net开发海量数据库的系统,数据库的设计是否只能使用纵、横向分割方式?使用这种方式的数据连接与数据库访问层该如何设计?

------解决方案--------------------
顶一下
------解决方案--------------------
这个问题值得去讨论一下!
------解决方案--------------------
主要考虑下负载问题,数据库要考虑负载均衡。要控制,锁,事务,约束等,对数据库对象设计方便 着重考虑。
 另外 千万条数据 对数据库 来说 。 是小小小 的量。除非千万数据的流量 并发。
------解决方案--------------------
设计上是一部分(如建索引等....)

程序上是一部分.程序的优化也很重要.(例如查询的优化等等)
------解决方案--------------------
千万估计还不算太大..
我们公司贸易数据,查历史的化也有千万,速度还行....

设计上:还是按照经典理论第3范式了。

开发上优化是必要的:肯定要使用索引,但过多的索引只会是数据库负担更大。用多少,什么时候用,
关键看各位在实际工作中的经验累计。根据现实状况来选择查询语句的优化程度才是正确的方法。


------解决方案--------------------
用数据库服务器集群也可以,呵呵。
------解决方案--------------------
这个还真值得关注,在此之前没接触过这么大数据量的项目
------解决方案--------------------
同意lovehongyun 观点,一般我都是用存储过程缓解网络带宽的影响,在程序链接数据库时候加个连接池。其实数据库优化很重要,我认为
------解决方案--------------------
呵呵,和楼主一样,还想了解这方面的。
请高手指教点经验啦......
------解决方案--------------------
没有接触过这么大的数据量
------解决方案--------------------
呵呵,咱是山里人,没见过大海,来凑凑热闹
------解决方案--------------------
海量无定式! 或者说深度优化无定式. 

当把所有的低级错误和失误都避免以后,性能上依然有问题,则只能具体问题具体分析了, 通用的方法并不存在,或者说存在但是太抽象.


什么索引了,冗余管理了这些都是属于第一步的"低级错误和失误", 假设这些都做好了,对于海量数据依然有很大机会存在性能问题,这个时候只能具体事情具体办了.
------解决方案--------------------
数据库设计和程序设计两部分,数据库设计包括数据库服务器配置,性能调优等等
------解决方案--------------------
顶一下
------解决方案--------------------
[color=#FF0000][/color]
------解决方案--------------------
路过帮顶带学习
------解决方案--------------------
关注..
------解决方案--------------------
..
------解决方案--------------------
凑个热闹吧...
------解决方案--------------------
up
------解决方案--------------------

没有做过这么大数据量系统,我们公司内部用的也就一天几千条记录呵呵.期待有过实战经验的高手来指点!

个人认为千万数据没有很好的数据库设计优化,查询速度肯定慢!
------解决方案--------------------
关注~
------解决方案--------------------
学习帮顶
------解决方案--------------------
哈哈,还得好好学习下再发言
------解决方案--------------------
很好 很强大... 自己水平太差了...
------解决方案--------------------
看我们采用什么样的数据库了,对吧!以下是转的,不是我写的
SQL Server 2005对海量数据处理

超大型数据库的大小常常达到数百GB,有时甚至要用TB来计算。而单表的数据量往往会达到上亿的记录,并且记录数会随着时间而增长。这不但影响着数据库的运行效率,也增大数据库的维护难度。除了表的数据量外,对表不同的访问模式也可能会影响性能和可用性。这些问题都可以通过对大表进行合理分区得到很大的改善。当表和索引变得非常大时,分区可以将数据分为更小、更容易管理的部分来提高系统的运行效率。如果系统有多个CPU或是多个磁盘子系统,可以通过并行操作获得更好的性能。所以对大表进行分区是处理海量数据的一种十分高效的方法。本文通过一个具体实例,介绍如何创建和修改分区表,以及如何查看分区表。