`
haihai
  • 浏览: 72216 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

大数据量的数据库设计

阅读更多
现在产品升级,数据库要重新设计,像全省的数据量太大了,数据库总是出问题,有几张表里面,一年的数据量大概有700到1000万条记录的样子,所以在这里面操作起来很慢,然后系统的并发量也很大,平均下来,大概70个请求/s,原来的老系统不怎么稳定,但是在这表里面的数据,有个特点,就是最近一个月的数据才会看,那些比较老的数据,在做年度报表,决策分析的时候,才会用到,所以想把那几个数据量很大的表的物理存储重新设计。
目前想到的第一种就是按照月来分,每个月让系统自动建一张表,然后把这个月的数据放在这个表里面,这样,每个月这个表的数据量大概只有几十万条,比以前就少多了,但是这样在做年度报表和决策分析的时候,就麻烦了,一年下来,就会有12表,要在这12张表里面,还要和其他的表的关联,这样做起来,也会很麻烦,数据库也未必受的了,第二种,就是用一个备份的数据服务器,把每个月的数据都导出到那个备份服务器上去,在备份服务器上面数据的存储不按月来分,按照年来分,每年建一张新表,做报表的时候,就到备份服务器上面操作。第三种,就是对这几张表用对象数据库,来存储一个月的数据,这数据是在内存的,操作起来,比操作关系数据库快,前段时间的数据还是放在关系数据库里面,这样就可以不用数据备份服务器了
分享到:
评论
11 楼 iihero 2008-06-13  
分区表技术目前已经很成熟了。如果用的是oracle,目前,Sybase数据库也支持此项技术。
所以几千万条记录并不会引起太大的瓶颈。
10 楼 armorking 2008-05-07  
fight_bird 写道
armorking 写道
在既存的表的基础上,建一张表结构相同的履历表
在每个月的月末(当月处理结束)的时候,把当月的数据用一个月次batch转移到履历表中
再建一个view基于当月数据表和履历表的view,专门给年度报表,决策分析处理用

再在“履历表”(这个用词很别扭,日语里的叫法?历史数据表、后备表?)上使用多字段表分区(Oracle支持多字段表分区)技巧,解决统计和数据分析查询的效率问题,两个方法结合,可以说是比较完美的办法。


“履历表”这个词的确是参照日语的叫法而来的,意思接近于“历史数据表”
我是在到了日本以后才接触的这个概念,所以不知道中文对应的确切术语是什么了
9 楼 fight_bird 2008-05-07  
armorking 写道
在既存的表的基础上,建一张表结构相同的履历表
在每个月的月末(当月处理结束)的时候,把当月的数据用一个月次batch转移到履历表中
再建一个view基于当月数据表和履历表的view,专门给年度报表,决策分析处理用

再在“履历表”(这个用词很别扭,日语里的叫法?历史数据表、后备表?)上使用多字段表分区(Oracle支持多字段表分区)技巧,解决统计和数据分析查询的效率问题,两个方法结合,可以说是比较完美的办法。
8 楼 yerba 2008-05-07  
分区表就好了,没必要一个月一张表
7 楼 armorking 2008-05-07  
在既存的表的基础上,建一张表结构相同的履历表
在每个月的月末(当月处理结束)的时候,把当月的数据用一个月次batch转移到履历表中
再建一个view基于当月数据表和履历表的view,专门给年度报表,决策分析处理用
6 楼 zb1015 2008-05-06  
yeshucheng 写道
LZ的数据量其实并不算大,可以说如果对于oracle这样的数据库简直就是小菜。每天晚上可以定时做索引,定期做物理备份。


select count(1) from ......oracle这样的数据库简直就是小菜???????????????????
5 楼 yeshucheng 2008-05-05  
LZ的数据量其实并不算大,可以说如果对于oracle这样的数据库简直就是小菜。每天晚上可以定时做索引,定期做物理备份。
4 楼 LucasLee 2007-08-13  
最简单的方法,就是利用数据库的表分区功能,这个功能Oracle,SqlServer2005都支持的。就利用表的时间字段来进行分区就可以了。这样按日期进行查询的时候速度比普通索引要快很多。
3 楼 haihai 2007-08-13  
这个700到1000万,是一张表里面的数据,不是所有表加起来的数据,而且像这样的表有好几个,70q/s是平均值,不是最大值,高峰期的时候,会超过300q/s,现在系统不稳定的原因在数据库端,而且索引做多了,对插入数据也是有影响的,我觉得只是弄一下数据库的配置和索引,这样不能轻松对付吧
2 楼 qiezi 2007-08-12  
一年700-7000万条,70q/s,这个能算是数据量很大并发很大?一般数据库都能轻松处理吧。注意数据库配置、索引就可以了。
1 楼 haihai 2007-08-12  
大家遇到这种大数据量的问题,是怎么处理,给点意见

相关推荐

    sqlite数据库 大数据量处理demo

    在这个“sqlite数据库大数据量处理demo”中,我们将深入探讨如何在SQLite数据库中有效地管理大规模数据。 SQLite支持SQL标准,包括创建表、插入数据、更新数据、删除数据以及查询数据等基本操作。对于大数据量的...

    数据库大数据量存储

    性能优化方面,数据库设计应遵循合适的数据模型,如NoSQL数据库(如MongoDB、Cassandra)或NewSQL(如Google Spanner、TiDB)等,它们针对大数据处理进行了优化。另外,索引的建立、查询优化、数据缓存也是提升...

    100亿数据量1万属性数据库架构设计

    因此,架构设计的目标是构建一个既能处理大数据量、高并发,又能支持灵活查询的数据库系统。 为了解决这些问题,可以采用以下几个关键架构设计策略: 1. **分库分表策略**:由于单个数据库难以支撑100亿的数据量和...

    数据库数据量数据库数控

    综上所述,"数据库数据量数据库数控"涵盖了一系列数据库管理和优化的技术,包括但不限于数据规模管理、性能监控、安全控制、大数据处理以及云服务等。通过深入了解和实践这些知识点,我们可以更有效地管理和利用海量...

    大数据量高并发的数据库优化

    随着数据量的爆炸性增长以及用户需求的多样化,如何有效地处理海量数据并确保系统的稳定性和响应速度,成为了现代数据库设计与维护的核心挑战。本文将深入探讨大数据量高并发场景下的数据库优化策略,涵盖索引优化、...

    spring Batch实现数据库大数据量读写

    本篇文章将深入探讨如何利用Spring Batch实现数据库大数据量的读写操作。 ### 1. Spring Batch 概述 Spring Batch 提供了一套完整的解决方案,涵盖了批量处理的生命周期管理,包括初始化、执行、监控和重试等环节...

    大数据量的系统的数据库结构如何设计

    有效的数据库设计不仅能够提升数据处理的速度,还能确保系统的稳定性和效率。以下是从给定文件的标题、描述、标签及部分内容中提炼出的关键知识点: ### 一、数据库结构设计策略 #### 1. 横向切分与纵向切分 - **...

    mysql数据库大数据量导入导出多种方法

    mysql数据库大数据量导入导出多种方法,该文档详述SELECT * INTO和mysqldump导出方法。导入方法中包括导入sql,txt文件和load data三种方法

    大型论坛 数据库设计

    在给出的部分内容中,可以看到采用了E-R(实体-关系)模型进行数据库设计。E-R图清晰地表示了实体(如用户、版块、帖子和回帖)及其之间的关系。通过Power Designer这样的工具,可以方便地绘制概念数据模型(CDM),...

    C#、.Net平台大批量提交数据到数据库

    首先,批量提交数据可以显著提高数据插入或更新的效率,因为每次数据库事务处理的数据量更大,减少了网络传输的次数,降低了与数据库的交互成本。在C#中,可以使用ADO.NET的SqlCommand对象配合SqlBulkCopy类实现批量...

    大学生综合测评数据库设计

    10. **数据库扩展性**:随着数据量的增长,数据库设计应考虑扩展性,支持未来的业务需求。 以上就是"大学生综合测评数据库设计"所涵盖的一些核心知识点。通过学习这个主题,初学者不仅可以理解数据库的基本原理,还...

    DM03-VLDB-大数据量数据库管理.ppt

    【大数据量数据库管理】在现代信息技术领域中,随着数据量的急剧增长,Very Large Database (VLDB) 成为了一个至关重要的概念。VLDB 不仅仅指的是超过特定大小的数据库,更关键的是,它涉及到如何在不影响业务连续性...

    数据库设计指南-数据库设计教程

    10. **数据库扩展**:随着数据量的增长,可能需要考虑水平扩展(分布式数据库)或垂直扩展(硬件升级),了解如何设计可扩展的数据库架构。 11. **数据库设计原则**:如KISS(保持简单和愚蠢)、YAGNI(你不会需要...

    Oracle数据库设计文档——帮助数据库初学者了解数据库设计

    这直接影响到数据库的性能,需要根据预期的数据量、查询模式和硬件资源进行优化。 Oracle数据库设计中的一些关键概念包括: 1. 表:数据存储的基本单元,由列和行组成,每个列有特定的数据类型。 2. 索引:提高...

    crm数据库设计文档crm数据库设计文档

    强大的数据分析能力是CRM系统的另一大亮点,数据库设计应支持多维度数据查询和复杂报表生成,帮助企业洞察客户行为模式,预测市场趋势。 ### 数据库设计原则 - **标准化与规范化**:遵循数据库设计的三范式,减少...

    让Oracle跑得更快2:基于海量数据的数据库设计与.pdf

    “让Oracle跑得更快2:基于海量数据的数据库设计与”这一主题,正是聚焦于解决这一问题,旨在通过合理的数据库设计和性能优化策略,提升Oracle在处理大规模数据集时的效率。 ### 一、海量数据处理 海量数据处理的...

    大型数据库设计方案

    * 数据量大时同步效率差:单表数据量过大时插入和更新因索引,磁盘IO等问题,性能会变的很差。 * 同时连接多个(至少两个)数据库:至少要连接多个数据库,增加了系统的复杂性。 大型数据库设计方案主要涉及到分布式...

Global site tag (gtag.js) - Google Analytics