2 u013980198 u013980198 于 2016.09.14 17:53 提问

mysql 大数据量该怎么存储和维护 100C

各位大神好,小弟不才,遇到个需求如下:
目前有20000台仪器(将来会越来越多,可能达到60w),每个仪器平均每天会产生720条数据,要存储到mysql数据库中。那每天表中就会新增14400000条数据,这样要不了多久,这个表的查询就会特别慢,所以就做了分表处理,每台仪器对应一张表。现在单表的速度是提升了,但管理起来特别麻烦,首先workbench操作会特别卡特别慢,然后如果对表做字段变更的时候,就需要对20000张表做变更。这太疯狂了。所以想请教一下大神,我这样的情况该怎么处理呢

8个回答

shihengzhen101
shihengzhen101   Rxr 2016.09.14 18:12

想不到什么好办法,就是调节表的数量和表中记录的数量,使其达到一个比较好的情况,比如mysql的瓶颈可能在100万,那就保证每个表最多放100万,然后根据这个数值见新表

oyljerry
oyljerry   Ds   Rxr 2016.09.14 19:18

这么多数据量只能分库分表方式处理 然后就是表设计的时候尽量注意扩展性。减少将来表发生修改

guwei4037
guwei4037   Ds   Rxr 2016.09.14 19:27

做分区表,按照日期,每天一张表。一张表1440万记录再考虑做优化查询。

zfszhangyuan
zfszhangyuan   2016.09.14 19:56

尝试搭建一个10台机器的hadoop集群直接将数据放到hive里面。

xubo_ob
xubo_ob   2016.09.15 08:57

综合上面的考虑就好:
1、根据需要,按照时间分区,小时或者天; 不要按照仪器分区,

2、使用NOSQL,数据放到HIVE里面处理。 使用定时器按需处理一定数据放到MYSQL用于业务处理。

testcs_dn
testcs_dn   Rxr 2016.09.15 19:28

按照你现在的情况来分析,大概想到以下几点吧:
1、管理工具尝试navicat看速度相比会不会好点;
2、按规则分库;
3、按规则分表;
4、查询:按规则查询指定设备的数据;写入、统一查询使用数据库中间件,如MyCat(可以定义mycat 分库分表规则,读写分离,主从热备);
5、集群部属自动化脚本/工具,对表做字段变更的话定制自动化变更同步脚本/工具;这个按理应该已经有人做了,搜索看看有没有类似的开源项目;

himiky
himiky   2016.09.15 21:01

分库,根据数据进行分类,然后根据情况进行存取。

liang_shui_guo
liang_shui_guo   2016.09.18 18:26

按时间分库是很好的选择。还可以试试看数据能不能优化和合并。最后就是换更好的服务器。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
大数据量的存储建议方案(不断更新,希望大家给建议)
对于海量数据处理,经验:对大表的处理:1 使用表分区 将文件创建到多个磁盘上,以增大IO,加快读写速度2 建立索引 加快查询效率3 使用中间表 如果对大表有聚合等操作要借助中间表4 进行处理时在DTS(2005IS)里面处理 在企业管理器里面会超时,DTS IS是在数据库外面进行处理,这样永远不会超时,5 减少每次的批处理数量 这样在CHACHE中处理的条数变少,会提高性能.6 加大虚拟内存,系统
利用MySQL数据库如何解决大数据量存储问题?
各位高手您们好,我最近接手公司里一个比较棘手的问题,关于如何利用MySQL存储大数据量的问题,主要是数据库中的两张历史数据表,一张模拟量历史数据和一张开关量历史数据表,这两张表字段设计的很简单(OrderNo,Value,DataTime)。基本上每张表每天可以增加几千万条数据,我想问如何存储数据才能不影响检索速度呢?需不需要换oracle数据库呢?因为我是数据库方面的新手,希望可以说的详细一点,
MySQL中针对大数据量常用技术:查询优化,数据转移
如今随着互联网的发展,数据的量级也是撑指数的增长,从GB到TB到PB。对数据的各种操作也是愈加的困难,传统的关系性数据库已经无法满足快速查询与插入数据的需求。这个时候NoSQL的出现暂时解决了这一危机。它通过降低数据的安全性,减少对事务的支持,减少对复杂查询的支持,来获取性能上的提升。但是,在有些场合NoSQL一些折衷是无法满足使用场景的,就比如有些使用场景是绝对要有事务与安全指标的。这个时候No
MySQL大数据量分页性能优化
转 http://www.cnblogs.com/lpfuture/p/5772055.html mysql大数据量使用limit分页,随着页码的增大,查询效率越低下。 测试实验 1.   直接用limit start, count分页语句, 也是我程序中用的方法: select * from product limit start, count 当起始页较小时,查询没有
超大数据量存储常用数据库分表分库算法总结
这篇文章主要介绍了超大数据量存储常用数据库分表分库算法总结,本文讲解了按自然时间来分表/分库、按数字类型hash分表/分库、按md5值来分表/分库三种方法,以及分表所带来的问题探讨,需要的朋友可以参考下 当一个应用的数据量大的时候,我们用单表和单库来存储会严重影响操作速度,如mysql的myisam存储,我们经过测试,200w以下的时候,mysql的访问速度都很快,但是如果超过200w以上的
mysql如何处理大数据量的查询
在实际的任何一个系统中,查询都是必不可少的一个功能,而查询设计的好坏又影响到系统的响应时间和性能这两个关键指标,尤其是当数据量变得越来越大时,于是如何处理大数据量的查询成了每个系统架构设计时都必须面对的问题。本文将从数据及数据查询的特点分析出发,结合讨论现有各种解决方案的优缺点及其适用范围
【MySQL】MySQL中针对大数据量常用技术
如今随着互联网的发展,数据的量级也是撑指数行的增长,从GB到TB到PB。对数据的各种操作也是愈加的困难,传统的关系性数据库已经无法满足快速查询与插入数据的需求。所以对数据库的优化就势在必行。包括对查询的、数据转移的优化。索引、缓存的建立。
MySQL 如何存储大数据
最近,在工作中遇到了MySQL中如何存储长度较长的字段类型问题,于是花了一周多的时间抽空学习了一下,并且记录下来。 MySQL大致的逻辑存储结构在这篇文章中有介绍,做为基本概念: InnoDB 逻辑存储结构 注:文中所指的大数据指的是长度较长的数据字段,包括varchar/varbinay/text/blob。 Compact行格式 我们首先来看一下行格式为Compact是
MySQL大数据量insert的优化
百万级数据插入优化 1. 原来程序按照主键排序再插入 由于数据库插入时,需要维护索引数据,无序的数据会增大维护索引的成本。比如innodb所用的B+tree索引,如果每次插入记录都在索引的最后面,索引的定位效率很高,并且对索引调整较小;如果插入记录在索引中间,需要对B+tree进行分裂合并等处理,会消耗比较多计算资源,并且插入记录的索引定位效率会下降,数据量较大时会有频繁的磁盘操作。
mysql利用存储过程存储大数据量
Mysql利用存储过程插入400W条数据 CREATE TABLE dept( /*部门表*/ deptno MEDIUMINT UNSIGNED NOT NULL DEFAULT 0, /*编号*/ dname VARCHAR(20) NOT NULL DEFAULT "",/*名称*/ loc VARCHAR(13) NOT NULL DEFAULT "" /*地点*/ )ENGI