ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

mysql-以70.000条记录/秒的速度写入大量数据该怎么办?

2019-12-08 05:14:35  阅读:147  来源: 互联网

标签:parallel-processing volume mysql


也许有人可以对此发表意见?我目前正在寻找一种解决方案,每天将5亿至40亿条记录存储到数据库中的一个(或2个)表中,最低写入率为70.000条/秒.一条记录包含大约30个变量.我们希望每小时和并行加载数据(对数据进行分区),以达到计算机在CPU,内存和IO方面的最大容量.在写过程中,查询必须是可行的,并且在写操作期间应保持可接受的性能.

我一直在浏览网页,看看是否有人尝试将这些数量并行写入MySQL数据库,但未发现任何特定内容.大多数人看每秒的事务,但这不是我们正在处理的.我们正在加载原始数据,我们需要快速,并行且停机时间为零(即用户必须能够查询可用数据).是否值得研究MySQL来完成这项工作,或者如果我们不花大量的钱(您认为呢?)在硬件上,我们甚至不应该考虑它吗?

注意:通过多核64位128GB服务器中可用的GBit FC,SAN存储的磁盘空间没有问题.我不是在寻找详细的技术解决方案,而是从专家的角度考虑可行性,并提供一些提示/技巧以向正确的方向指出.

欣赏您的见解.

回应评论:

每个记录单独计数,每个变量都是可能的候选搜索标准.更多信息:

>昨天和较早的数据(最多10天)必须是可查询的(SQL会很简单)
>最好不要通过自定义API进行数据访问,而更喜欢使用ODBC等开放标准或客户端(例如Oracle Client)
>数据消耗涉及汇总(午夜之后,以及每小时统计数据涉及最小/最大/平均的部分小时),并存储在更高级别的历史记录表中以供最终用户报告.那和前面提到的搜索原始数据以进行问题/临时分析.
>在10天周期结束时,很容易删除一整天的数据.
>再一次强调一下:写作每小时都要进行一次以跟上交付进度,并且不会为午夜总结创建积压,因此不能长时间推迟.
>搜索结果不必是即时的,但最好不要超过-在整个10天的时间内15分钟= 3,000亿条记录.

解决方法:

有了这么多的数据,我认为您应该尝试研究NoSQL(MongoDB,Cassandra,HBase等).使用MySQL,您必须大量扩展服务器.我们尝试每秒进行约1200次插入,并且MySQL失败(或硬件失败).解决方案使用的是XCache(当时,memcached也失败了).尝试研究NoSQL,您会喜欢的.

标签:parallel-processing,volume,mysql
来源: https://codeday.me/bug/20191208/2089220.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有