中易网

我有一个Mysql的数据库,每天大概增加1000W条数据,持续至少一年,有如下问题:

答案:3  悬赏:30  
解决时间 2021-01-15 00:54
  • 提问者网友:献世佛
  • 2021-01-14 02:42
我有一个Mysql的数据库,每天大概增加1000W条数据,持续至少一年,有如下问题:
最佳答案
  • 二级知识专家网友:夜余生
  • 2021-01-14 03:56
首先这么大的数据量不建议使用MySQL这种免费版的数据库系统,可以使用Oracle等这种大型数据库系统,其对于数据库中数据的管理、查询等的效率要比MySQL好非常的多。
如果你一定要使用MySQL,其服务器操作系统最好使用Linux,也可以使用国产的红旗Linux。
如果数据库非常的海量,那么可以考虑使用刀片式服务器进行数据库集群模式,采用分布式的数据库系统,如此可以提高查询的效率。
既然你是搞研究的,那么对于这种巨量的数据库管理系统的数据分析可以采用SAS数据仓库来进行对数据进行分析。
追问:非常感谢你的回答。依照你的经验,在如此海量数据下,用Linux+MySQL的效率和Linux+Oracle效率差距大吗?
我的程序是在前期收集数据时只写不读,分析时继续收集数据,但是对于所有数据经常的遍历读取,这种情况用什么样的储存结构比较好?
这是我个人研究,没有多少经费,希望能获得一个性价比最高的方案。对于你建议的SAS数据仓库,我很感兴
趣,虽然从未接触。请问有相关的文档链接可以提供吗?
全部回答
  • 1楼网友:长青诗
  • 2021-01-14 05:04
1000万条记录,估计大于300M。
存储引擎效率当然选myisam。可以采用主从服务器(前提是业务需求实时性不高),主服务器用来增删改,从服务器用来查询。
也应该用分表技术。
对于常用的表,要每天进行更新视图,将访问高的记录通过视图查询。
操作系统用的多的是CentOS。
追问:非常感谢你回答。业务读取实时性不高,但是写的实时性很高,每天1000W的写入,一段时间后再统一遍历查询分析,主从系统这样会不会很慢?
  • 2楼网友:我住北渡口
  • 2021-01-14 04:32
每天1000W数据 几天mysql就完了 还想查询
这种优化属于系统性优化了 不是单纯数据库的问题
------------------------
下面给一下存储方面的建议 以优化性能
1、选取最适用的字段属性--将表中字段的宽度设得尽可能小。 在可能的情况下,应该尽量把字段设置为NOTNULL,这样在将来执行查询的时候,数据库不用去比较NULL值。
对于某些文本字段,例如“省份”或者“性别”,我们可以将它们定义为ENUM类型。因为在MySQL中,ENUM类型被当作数值型数据来处理,而数值型数据被处理起来的速度要比文本类型快得多
2、使用连接(JOIN)来代替子查询(Sub-Queries)
3、建立索引
4、常用关联表使用视图
注意:mysql删除大量数据时 有索引的表删除非常缓慢
------------------------
mysql对系统没啥具体要求
当然最好是windows的服务器
视图好 方便安装工具进行查询和错误排除
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息