问题描述
公司准备研发新的产品,有一批量导入商品变更数据的功能,不同用户每天可能会批量插入很多数据,初步评估每天大概会新增20W条记录,现在考虑使用mysql数据库,但又怕数据量大了后不好处理,或运维成本变高。
问题出现的环境背景
- 数据都属于同一类型,所以现在考虑是存储在一张表,和其他表没有关联,有点类似日志,但属于业务数据,至少近期半个月的不能丢失
- 数据插入没有事务,允许单条插入失败
- 用户主要的功能是导入数据
- 有分页读取数据的功能,但不是重点,主要是用于用户查看导入结果
- java,springboot,nodejs开发
求教各位大佬,数据库的选择及优化的建议,谢谢
每天 20w 的数据对于 MySQL 压力并不大,如果用 Spring Boot,推荐最好使用原生 SQL 的方式批量导入,如:
其中
(row1),(row2)...
可由程序生成,这样比单条 SQL 插入速度会快很多。同时,如果后期发现单表数据量太大,还可以考虑分表。