请问,如何规划数据量很大的数据库,我预计每个月会有1-3千万的数据量,请问这样的数据量改如何来规划数据库,谢谢
解决方案 »
- 有关Table控件的问题
- 高手进 关于网页地址搜索数据的问题
- 为什么Session中的内容不更新?
- 求助SQL语句
- 偶这个问题是咋搞滴捏!高手来看看哈-_-!
- SOS!!---"调用的目标发生了异常。" ,我感觉跟权限有关系!
- .net怎么在一个事务里完成这两步操作,先查最大单号fid,然后插入记录,并且保证别的用户不会取到同一个最大单号FID
- 个人出来接项目做,与商务合作人怎么分配利益?
- 在DataList的ItemTemplate中设定绑定的DropDownList的选择值的疑问(解决问题再加分100)
- 如何把DataGrid的标题设置为超链接?
- JavaScript 提交数据问题
- 关于System.Timers.Timer的一个疑问
在sqlserver 2005-2008中,可以使用表分区(横向切割或者纵向切割),对于查询方面,可以合理使用索引。
嗯,我规划的这个库就是个log库来的,如果有多台服务器,多台服务器的数据都会汇总到这个库来,所以数据量会比较大现在想请教一个问题,分区表索引的创建是不是和普通表一样,谢谢
2.就是用一个备份的数据服务器,把每个月的数据都导出到那个备份服务器上去,在备份服务器上面数据的存储不按月来分,按照年来分,每年建一张新表,做报表的时候,就到备份服务器上面操作
3.就是对这几张表用对象数据库,来存储一个月的数据,这数据是在内存的,操作起来,比操作关系数据库快,前段时间的数据还是放在关系数据库里面,这样就可以不用数据备份服务器了
4 .定时清理数据,可以考虑用触发器或者带存储过程的作业来实现;
5.是考虑数据的转换与提取,定期用程序或用事务复制导入原始/汇总数据,把数据复制到一台专门做统计的服务器上,专门做查询所用;查询的时候做相应的优化,例如索引,视图等这样查询的时候压力就会小很多;同时考虑负载平衡,在空隙时利用其cpu和内存
6 .各业务系统和外部数据源传送的数据为维系挽留系统输入,这些数据分别经过数据格式检查;源数据清洗抽取转换、装载数据到收集层;对收集层中数据抽取、转换、装载到数据仓库;数据仓库中数据进行抽取、转换并结合模型算法库中的算法生成维系结果集以供输出;同时通过数据仓库接口,可将数据提供给应用系统的本地化查询使用。
1.日志类
2.数据类 例如静态页面、图片、或基本上独立而且不经常改动的数据
3.业务类
4.报表类基于几种数据的存储
1.尽量使用文件系统进行存储。在每段数据开始的位置添加时间戳,可能的话尽量保持每条数据的的容量是一样的,不足的用其他符号补足。
2.通常这类型的数据不会经常改动或根本不改动,这类数据适合使用类似Nosql的数据库。
3.这类型的数据可能经常要被取出并且进行操作,这类型的数据适合使用sql数据库存放。因为需要用很强的事务来约束。
4.这类数据通常是用于数据挖掘,所以需要强结构化的数据来支持。所以必须使用sql数据库,但可以根据业务需求进行适当的拆分。对于性能而言如果你的数据是
1.因为有时间戳,如果每条数据容量是一样的情况下,可以用简单的算法快速定位到某一个时间段的数据。(建议用12个字符base64格式的DateTime),如果数据容量不一样那么查询速度就差很多了。
2.如果使用了分布式的Nosql或分布式的文件系统,基本上没压力。
3.通常情况下,如果使用的是oracle或mysql那么可以应用分布式策略,基本上只是配置一下。如果是mssql很悲剧的只能从结构上索引上进行优化。mssql2008有分区索引,很适合这种类型的数据。
4.这类数据通常不需要非常高的实时性,基本上用另外一个新的数据库去计算和存储。但需要做数据同步。