31 个解决方案
#1
首先要看你的数据存入数据库后会不会经常的进行删改操作 , 如果删改操作少的话 。那就采用Hbase+solr 毕竟数据量有点大
#2
1.自己实现事务控制
2.写一个定时任务,定时提交该事务,也可以缓存一下数据,具体优化一下,类似的东西我搞过,肯定是可以的
2.写一个定时任务,定时提交该事务,也可以缓存一下数据,具体优化一下,类似的东西我搞过,肯定是可以的
#3
不会进行删改操作,不过数据库是客户指定的,只能是SQL或者Oracle
#4
缓存数据是说把当前数据先插入到一个临时表,再定时把临时表的数据导入到主数据表吗?
#5
要先查一下瓶颈在什么地方,CPU还是IO
#6
不是,可以使用google的开源库guava.jar中的缓存(CacheLoading),,还可以使用java.util.ConcurrentHashMa,需要注意线程安全问题,所以才推荐使用这两个实现。
#7
你的表是不是有索引?大量插入时,先插入再建索引
#8
大数据一般都是分而治之,分表呗
#9
分库分表 你值得拥有
#10
1、建立小时的分表
2、用es存储数据
2、用es存储数据
#11
你每天可以创建两张表,插满1000w用另一张表。其次每50条左右,提交一次事务,避免占用太大的内存,影响系统运行。
#12
大量插入数据,最好先不要加索引和主键,等插入完成后如果需要再去添加
#13
#14
这个逻辑,除了jdbc技术方面的优化之外,业务本身就会是瓶颈,所有的数据都放到一个表,这肯定会影响效率的,
最快速解决的方法就是在数据库,将数据库分成多表,或者多库,比如说 根据时间分成上午和下午两个表,这明显就会提升效率,当然这这是一种举例,具体的还得和业务结合,大量数据存一个表 这种方式肯定是需要改善的,
最快速解决的方法就是在数据库,将数据库分成多表,或者多库,比如说 根据时间分成上午和下午两个表,这明显就会提升效率,当然这这是一种举例,具体的还得和业务结合,大量数据存一个表 这种方式肯定是需要改善的,
#15
#16
好东西,真心感谢
#17
分表吧,数据量有点大啊
#19
顶!!!!!!!!!!!!!!!!
#20
顶一个县!!!!!!!!!!!!
#21
分表吧,数据量有点大啊
#22
你的表是不是有索引?大量插入时,先插入再建索引
#23
#24
可以用一个缓存,先存一下,然后在插入吗
#25
oracle有一个外部表的机制,就是建立一个表,这个表的数据是链接一个外部路径下的结构化的文件,这样子就可以直接解析到该文件了,然后将这个外部表解析出来的
数据插入到另外一个表里就行了;考虑到数据插入效率,可以建立一个分区表,可以按照每天进行分区,插入时数据就会自动插入到对应的分区中;
这种操作模式依赖的是数据库本身的机制,就不用通过编码语言进行相关设置了...至于多了文件,是否需要建立多个外部表就需要自己去百度了
数据插入到另外一个表里就行了;考虑到数据插入效率,可以建立一个分区表,可以按照每天进行分区,插入时数据就会自动插入到对应的分区中;
这种操作模式依赖的是数据库本身的机制,就不用通过编码语言进行相关设置了...至于多了文件,是否需要建立多个外部表就需要自己去百度了
#26
#27
#28
现在已经是一天一个表,表可以不用分了,还是看看cup/ios是够了,能不能多起个线程解析文件插入库操作,解析完成时候后移动到别目录下,目前的数据估计是一个小时需要处理100万数据。一分钟一万多,一个线程的最大是多少,而已还有看文件行的多少。还是优化后,试试多线程,
#29
不错学习学习
#30
要考虑数据分块存储,还有多进程问题
#31
bulk insert
#1
首先要看你的数据存入数据库后会不会经常的进行删改操作 , 如果删改操作少的话 。那就采用Hbase+solr 毕竟数据量有点大
#2
1.自己实现事务控制
2.写一个定时任务,定时提交该事务,也可以缓存一下数据,具体优化一下,类似的东西我搞过,肯定是可以的
2.写一个定时任务,定时提交该事务,也可以缓存一下数据,具体优化一下,类似的东西我搞过,肯定是可以的
#3
不会进行删改操作,不过数据库是客户指定的,只能是SQL或者Oracle
#4
缓存数据是说把当前数据先插入到一个临时表,再定时把临时表的数据导入到主数据表吗?
#5
要先查一下瓶颈在什么地方,CPU还是IO
#6
不是,可以使用google的开源库guava.jar中的缓存(CacheLoading),,还可以使用java.util.ConcurrentHashMa,需要注意线程安全问题,所以才推荐使用这两个实现。
#7
你的表是不是有索引?大量插入时,先插入再建索引
#8
大数据一般都是分而治之,分表呗
#9
分库分表 你值得拥有
#10
1、建立小时的分表
2、用es存储数据
2、用es存储数据
#11
你每天可以创建两张表,插满1000w用另一张表。其次每50条左右,提交一次事务,避免占用太大的内存,影响系统运行。
#12
大量插入数据,最好先不要加索引和主键,等插入完成后如果需要再去添加
#13
#14
这个逻辑,除了jdbc技术方面的优化之外,业务本身就会是瓶颈,所有的数据都放到一个表,这肯定会影响效率的,
最快速解决的方法就是在数据库,将数据库分成多表,或者多库,比如说 根据时间分成上午和下午两个表,这明显就会提升效率,当然这这是一种举例,具体的还得和业务结合,大量数据存一个表 这种方式肯定是需要改善的,
最快速解决的方法就是在数据库,将数据库分成多表,或者多库,比如说 根据时间分成上午和下午两个表,这明显就会提升效率,当然这这是一种举例,具体的还得和业务结合,大量数据存一个表 这种方式肯定是需要改善的,
#15
#16
好东西,真心感谢
#17
分表吧,数据量有点大啊
#18
送你一点好东西,
http://blog.csdn.net/educast/article/details/72880224
可惜你结贴了, 俺拿不到分了……
可惜你结贴了, 俺拿不到分了……
#19
顶!!!!!!!!!!!!!!!!
#20
顶一个县!!!!!!!!!!!!
#21
分表吧,数据量有点大啊
#22
你的表是不是有索引?大量插入时,先插入再建索引
#23
#24
可以用一个缓存,先存一下,然后在插入吗
#25
oracle有一个外部表的机制,就是建立一个表,这个表的数据是链接一个外部路径下的结构化的文件,这样子就可以直接解析到该文件了,然后将这个外部表解析出来的
数据插入到另外一个表里就行了;考虑到数据插入效率,可以建立一个分区表,可以按照每天进行分区,插入时数据就会自动插入到对应的分区中;
这种操作模式依赖的是数据库本身的机制,就不用通过编码语言进行相关设置了...至于多了文件,是否需要建立多个外部表就需要自己去百度了
数据插入到另外一个表里就行了;考虑到数据插入效率,可以建立一个分区表,可以按照每天进行分区,插入时数据就会自动插入到对应的分区中;
这种操作模式依赖的是数据库本身的机制,就不用通过编码语言进行相关设置了...至于多了文件,是否需要建立多个外部表就需要自己去百度了
#26
#27
#28
现在已经是一天一个表,表可以不用分了,还是看看cup/ios是够了,能不能多起个线程解析文件插入库操作,解析完成时候后移动到别目录下,目前的数据估计是一个小时需要处理100万数据。一分钟一万多,一个线程的最大是多少,而已还有看文件行的多少。还是优化后,试试多线程,
#29
不错学习学习
#30
要考虑数据分块存储,还有多进程问题
#31
bulk insert