`
haihai
  • 浏览: 72295 次
  • 性别: 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. 索引:提高...

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

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

    大型数据库设计方案

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

    数据库设计规范指南.pdf

    传统的软件工程忽视对应用中数据语义的分析和抽象,只要有可能就尽量推迟数据结构设计的决策早期的数据库设计致力于数据模型和建模方法研究,忽视了对行为的设计。 数据库设计方法有多种,包括手工试凑法、规范设计...

Global site tag (gtag.js) - Google Analytics