none
SQL 海量数据存储规划 求指导 RRS feed

  • 问题

  • 大家好,有个项目处于设计阶段,数据量较大,求指导:

    目前有一张交易信息表,存储的是每天的交易信息,预计每天50万笔数据,客户需要保存5年的交易信息,请问我该如何保存?

    我的想法是:将每个月拆成上旬(1-15)及下旬(16-?)分别建2张表,这样每张表的数据量大概在600万笔左右,

    5年,一共120张表,弱弱的问,一个数据库最多能支持多少张表?每张表最多能存储多少数据?

    本人环境:SQL Sever2008 企业版 64位,2个4核CPU.

     

    2011年2月22日 10:54

答案

  • 1.使用分区表存储。

    2.数据库对象包括诸如表、视图、存储过程、用户定义函数、触发器、规则、默认值和约束等对象。数据库中所有对象的数量总和不能超过 2147483647。

    3.每个表的行数:受可用存储空间限制。


    family as water
    • 已标记为答案 Ai-hua Qiu 2011年3月2日 3:19
    2011年2月22日 11:54

全部回复

  • 1.使用分区表存储。

    2.数据库对象包括诸如表、视图、存储过程、用户定义函数、触发器、规则、默认值和约束等对象。数据库中所有对象的数量总和不能超过 2147483647。

    3.每个表的行数:受可用存储空间限制。


    family as water
    • 已标记为答案 Ai-hua Qiu 2011年3月2日 3:19
    2011年2月22日 11:54
  • 1.使用分区表存储。

    2.数据库对象包括诸如表、视图、存储过程、用户定义函数、触发器、规则、默认值和约束等对象。数据库中所有对象的数量总和不能超过 2147483647。

    3.每个表的行数:受可用存储空间限制。


    family as water

     

    非常感谢,学习了。分区表是不是简单的可以理解为SQL Server自动按照我的条件把表进行拆分,而从访问上无需考虑名字的变化(我原先的方案是不停的建表)。

    当数据海量时,分区表的性能是不是仍然非常优秀?

     

    2011年2月22日 13:59
  • 刚刚在网上也查阅了相关文档,有人提到,分区表只有在多CPU和多硬盘的前提下才会比非分区表速度快,在普通机器上只会更慢?

     

    是否是这样的,如果这样说的话,服务器也就2个cpu,2个硬盘,最多效率提高一点,但随着海量数据的存储,速度会越来越慢,求指教?

    2011年2月22日 14:04
  • Partitioned table can speed up data manipulate if your most works are not cross partition, and easier to remove old data by dropping partition. Regarding number of processors and disks, you'll get better performance if server has more processors and spreads db files on more disks no matter table is partitioned or not.
    2011年2月22日 14:23
  • 刚刚在网上也查阅了相关文档,有人提到,分区表只有在多CPU和多硬盘的前提下才会比非分区表速度快,在普通机器上只会更慢?

     

    是否是这样的,如果这样说的话,服务器也就2个cpu,2个硬盘,最多效率提高一点,但随着海量数据的存储,速度会越来越慢,求指教?


    http://sqlserver-training.com/sql-server-2008-partitioned-table-parallelism-concept-video
    2011年2月22日 19:57
  • 单表分区,正确设计文件组,建议按每月分区,重点搞清楚如何查询数据,作针对设计

    这样可管理性就简单了


    Try SQL Server 2008 QQ:315054403 dgdba@hotmail.com
    2011年2月23日 3:57